SQL Server Integration Services (SSIS)
หน้าแรก SQL Server SQL Server Integration Services (SSIS)
ไร้สาระมาหลายวัน วันนี้ขอเล่าเรื่องที่มันมีสาระบ้างนะครับ หลังจากที่ได้รู้จักทั้ง Date Warehouse และ Business Intelligence ไปแล้ว วันนี้จะมาแนะนำเครื่องมือที่จะทำให้การทำงานของ BI นั้นง่ายขึ้นและมีประสิทธิภาพมากขึ้น พระเอกของเราในวันนี้คือ SSIS (SQL Server Integration Services) ของ Microsoft ต้องออกตัวก่อนเลยว่า ผมเป็น Developer ที่อยู่ภายใต้การพัฒนาบน platform ของ Windows ครับ เพราะฉะนั้นทุกอย่างเลยจะอิงไปทาง Microsoft โดย SSIS เนี่ยถือว่าเป็น ETL Tool (Extract Transformation Load) เป็นเครื่องมือที่มาพร้อมกับ Microsoft SQL Server 2005 ครับ โดยจะมาทำงานสืบทอดต่อจาก DTS (Data Transformation Services) ของ SQL server 2000 สืบทอดนะครับ ไม่่ใช่ Upgrade คือการพัฒนาของ SSIS ค่อนข้างแตกต่างจาก DTS ไปพอสมควร แต่คนที่เคยทำ DTS มาแล้ว ก็จะสามารถเข้าใจหลักการของมันได้ง่ายขึ้น ผมเตรียมข้อมูลเพื่อจะไปเทรนเพื่อนร่วมงานที่ Office เลยได้ค้นคว้าข้อมูลมานิดหน่อยก็จะเล่าให้ฟังวันนี้ล่ะครับ
SQL Server Integration Services (SSIS)
อย่างที่บอกไปนะครับ ว่า SSIS เป็นผู้สืบทอด DTS ไม่่่ใช่เวอร์ชันอัพเดตของ SQL Server 2000 เพราะฉะนั้นการทำงานหลายๆ อย่างนั้นจะไม่สามารถใช้งาน DTS ได้เลย พูดง่ายๆ ก็คือ เอา ไฟล์ DTS มาแก้ให้เป็น SSIS ไม่ได้ แต่เราสามารถ สั่งรัน DTS จาก SSIS ได้ (ไมโครซอฟท์ ก็เป็นอย่างนี้ล่ะครับ) โดยจะมีประโยชน์ในแง่ของการทำงานเกี่ยวกับ การ Transform data และ การ Cleaning data ซะเป็นส่วนใหญ่
ETL (Extract Transform & Load)
เป็นหลักการในการทำงานกับข้อมูลใน Database ครับ
E - Extract การเอาข้อมูลออกมาจาก Source database อาจจะเอามาจากที่เดียวหรือหลาย source ก็ได้
T - Transform การแก้ไขและเปลี่ยนแปลงข้อมูลให้ดีขึ้น (ต้องดีขึ้นนะครับ ถ้าทำแล้วแย่ลงอย่าไปทำเลย)
L - Load การเก็บ หรือ Load ข้อมูล ไปไว้ที่ database ปลายทาง (destination)
ส่วนประกอบของ SSIS
1. Package
เป็นไฟล์ที่เกิดจาก SSIS ครับ ผมขอเรียกว่า Package โดย Package ที่ได้จะเป็น *.dtsx ต่างจาก DTS ที่ใช้ *.dts โดยในแต่ละ Pacakage ทำงานได้หลายอย่าง ไม่ว่าจะ Load data, Send email ,
2. Control flow
คือการทำงานหลักที่เป็นการทำงานในลักษณะ Flow คือเมื่อทำ งานหนึ่งก็จะทำต่ออีกงานหนึ่ง คล้ายๆ Flow chart บ้านเรานั่นล่ะครับ ซึ่งในแต่ละ Control flow ก็จะมี Task คือการทำงานย่อยๆ เช่นการ Copy data หรือ การตรวจสอบข้อมูล ถือว่าเป็นงานย่อยที่อยู่ใน Control flow
3. Data flow
ต่างจาก Control flow ตรงที่จะทำงานเกี่ยวกับ data ซะเป็นส่วนใหญ่ หลักๆ ก็จะเกี่ยวกับการ Transform data การทำ aggregation ต่างๆ
นี่คือหลักการคร่าวๆ ของ SSIS นะครับ ยังมีอีกหลายส่วนที่ไม่ได้พูดถึง แต่เอาไว้แค่นี้ก่อนละกัน เพราะถ้าเขียนยาวๆ แล้วจะไม่มีคนอ่าน ถ้ามีข้อสงสัยอะไรก็เอามาโพสต์บอกกันได้นะครับ ผมจะพยายามมาตอบ
ขึ้นไปด้านบน