Introduction to 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 เลยได้ค้นคว้าข้อมูลมานิดหน่อยก็จะเล่าให้ฟังวันนี้ล่ะครับ
SSIS คือ 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 นะครับ ยังมีอีกหลายส่วนที่ไม่ได้พูดถึง แต่เอาไว้แค่นี้ก่อนละกัน เพราะถ้าเขียนยาวๆ แล้วจะไม่มีคนอ่าน ถ้ามีข้อสงสัยอะไรก็เอามาโพสต์บอกกันได้นะครับ ผมจะพยายามมาตอบ
ที่มา เว็บผมเอง http://apipoj.piasak.com/2009/03/introduction-to-ssis/
SSIS คือ 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 นะครับ ยังมีอีกหลายส่วนที่ไม่ได้พูดถึง แต่เอาไว้แค่นี้ก่อนละกัน เพราะถ้าเขียนยาวๆ แล้วจะไม่มีคนอ่าน ถ้ามีข้อสงสัยอะไรก็เอามาโพสต์บอกกันได้นะครับ ผมจะพยายามมาตอบ
ที่มา เว็บผมเอง http://apipoj.piasak.com/2009/03/introduction-to-ssis/
ความคิดเห็น
1.Microsoft SQL Sever 2000 DTS Design Component
Overview:
The Microsoft SQL Server 2000 Data Transformation Services (DTS) package designer is a design tool used by developers and administrators of SQL Server 2005 servers to edit and maintain existing DTS packages until they can be upgraded or recreated in the SQL Server 2005 Integration Services package format. After installing this download, SQL Server 2005 users can continue to edit and maintain existing DTS packages from the Object Explorer in SQL Server 2005 Management Studio and from the Execute DTS 2000 Package Task Editor in Business Intelligence Development Studio, without needing to reinstall the SQL Server 2000 tools. The DTS package designer in this download was formerly accessed from the Data Transformation Services node in SQL Server 2000 Enterprise Manager.
ที่มา http://www.microsoft.com/downloads/details.aspx?familyid=d09c1d60-a13c-4479-9b91-9e8b9d835cdc&displaylang=en
2.Microsoft SQL Server 2005 Upgrade Advisor
Overview:
Microsoft SQL Server 2005 Upgrade Advisor analyzes instances of SQL Server 7.0 and SQL Server 2000 in preparation for upgrading to SQL Server 2005. Upgrade Advisor identifies feature and configuration changes that might affect your upgrade, and it provides links to documentation that describes each identified issue and how to resolve it.
ที่มา http://www.microsoft.com/downloads/details.aspx?familyid=1470E86B-7E05-4322-A677-95AB44F12D75&displaylang=en
ความแตกต่างระหว่าง Tool ข้อ 1 กับ ข้อ 2 มันคืออะไรค่ะ แล้วมันเหมือนกับ SSIS รึปล่าวค่ะ
พอดีเพิ่งโดน assign ให้ศึกษาเรื่องนี่อยู่พอดี นั่งอ่านข้อมูลไปเรื่อย ๆ จนมารู้จัก Tool เหล่านี้ เลยเริ่มงงค่ะ รบกวนอธิบายให้หายมึนงงด้วยนะค่ะ
Ann ka.