28 พ.ค. 2021 เวลา 13:00 • ไอที & แก็ดเจ็ต
กลไก ETL คืออะไร ?
กลไก ETL คืออะไร ?
อย่างที่ทราบโดยทั่วกันว่า ETL ย่อมาจาก Extract-Transform-Load ซึ่งเป็นลำดับของกลไก ETL
โดยอายุอานามของชุดกลไก ETL นี้ไม่ต่ำกว่า 50 ปีมาแล้ว เกิดมาพร้อมกับการบัญญัติศัพท์ “Data Warehouse” ขึ้นโดย Bill Inmon - Wikipedia ตอนกลางยุค 70
ชุดกลไกประกอบด้วย 3 กลไก ดังนี้
ลำดัลกลไก ETL
จึงกลายมาเป็นตัวย่อ ETL ตามลำดับของกลไก
ทั้ง ETL และ Data Warehouse แม้จะบัญญัติขึ้นนานแล้ว แต่ทำไมเพิ่งมาคุ้นหูเมื่อไม่นานมานี้ (ราว 20 ปีเศษ) อาจเป็นเพราะวิธีการสร้าง Data Warehouse ตามแนวทางของ Bill Inmon ที่มีลักษณะเป็น Top-Down Approach เมื่อนำไปทำตามแล้วมีอัตราการประสบความสำเร็จต่ำมาก จนยังไม่เป็นที่สนใจก็เป็นได้
จนกระทั้งในปี 1996 Ralph Kimball - Wikipedia ได้นำเสนอแนวทางการสร้าง Data Warehouse ที่เรียกว่า Dimensional modeling - Wikipedia ซึ่งเป็น Bottom-Up Approach สวนทางกับแนวทางของ Bill Inmon ปรากฏว่าแนวทางนี้มีอัตราการประสบความสำเร็จสูงมาก ยุคเฟื่องฟูของ Data Warehouse และ Business Intelligence น่าจะเกิดเพราะแนวทางนี้
ดังนั้นเมื่อพูดถึง ETL ในเวลานี้จะหมายถึง การสกัดข้อมูลจากต้นทาง แล้วทำการแปลงข้อมูลเพื่อให้พร้อมนำไปโหลดขึ้นปลายทางที่เป็น Data Warehouse ในรูปแบบ Dimensional Model นั่นเอง
ETL To Dimensional Model
ทำไมถึงต้องสร้าง Data Warehouse มาสนับสนุน Business Intelligence ทั้งที่ต้นทางก็เก็บข้อมูลเอาไว้แล้ว เช่นอยู่ในรูปแบบฐานข้อมูลเชิงสัมพันธ์ (Relational Database) บรรดาเครื่องมือด้าน Business Intelligence ไปดึงข้อมูลมาจากต้นทางเลยไม่ได้หรือ ?
คำตอบคือได้ แต่ก่อนที่จะได้รายงานออกมาให้เราดูกันมีภาระงานเกิดขึ้นมากเกินไป ตัวอย่างเช่น ต้นทางเป็นฐานข้อมูลเชิงสัมพันธ์ (Relational Database) ซึ่งเกิดจากการออกแบบตามหลักการ Normalization แยกข้อมูลออกเป็นตารางย่อย ๆ วัตถุประสงค์ก็เพื่อทำให้การจัดเก็บข้อมูลไม่เกิดความซ้ำซ้อน และลดความผิดพลาดที่จะเกิดขึ้นตอนปรับปรุงข้อมูล แต่การออกแบบดังกล่าวไม่เอื้อต่อการนำไปออกรายงาน
หากต้องการรายงานสักเรื่องหนึ่งต้องการนำข้อมูลมา De-Normalization หรือประกอบร่างคืนเพื่อให้ได้ข้อมูลเพียงพอสำหรับรายงานนั้น โดยการ Join ตารางต่าง ๆ เข้าด้วยกัน
แต่ Dimensional Model ของ Ralph Kimball นั้น เป็นส่วนผสมของทั้ง De-Normalization และ Normalization อยู่ด้วยกัน ดังรูปเป็นตัวอย่างของ Star Schema
Dimensional Model
ผู้เขียนได้เคยเขียนเกี่ยวกับ Dimensional Model เอาไว้แล้ว ผู้อ่านสามารถติดตามได้ที่ รู้จักกับโครงสร้างข้อมูล แบบ Dimensional Model | 9Expert Training
เครื่องมือสำหรับ ETL
ผู้เขียนข้อตอบแบบกำปั่นทุบดินคือ จะใช้เครื่องมืออะไรก็ได้ที่สามารถเข้าถึงแหล่งข้อมูลต้นทาง และสามารถแปลงข้อมูล แล้วนำมาโหลดขึ้นปลายทาง โดยให้อยู่ในรูปแบบ Dimensional Model ได้ ใครถนัดเขียน Application เอาก็สามารถทำได้ แต่จะดีกว่าไหม ถ้ามีเครื่องมือที่สามารถเข้าถึงแหล่งข้อมูลต้นทางได้หลากหลาย สามารถทำ Data Cleansing ให้กับข้อมูลที่มาจากหลายแหล่ง แล้วต้องนำมารวมกัน ถูกออกแบบให้สอดคล้องกับ Dimensional Model 100% เครื่องมือที่ผู้เขียนจะแนะนำสำหรับนำไป ETL ก็คือ Microsoft SQL Server Integration Service ซึ่งถูกออกแบบให้
- เข้าถึงแหล่งข้อมูลต้นทางได้หลากหลาย
- สามารถเรียกใช้ Service อย่าง Microsoft DQS (Data Quality Service) เพื่อทำ Data Cleansing ให้กับข้อมูล
- มีกลไกเพื่อ Transform ข้อมูลที่ครบถ้วน
- รองรับการการ Transform ไปเป็น Dimensional Model โดยเฉพาะ
- รองรับ Slow Changing Dimension
- รองรับ Incremental Update ปริมาณมาก
โดย รายละเอียด เครื่องมือในการ ETL นั้น เป็นส่วนหนึ่งของหลักสูตร ETL with SQL Server Integration Service (SSIS) ซึ่งผู้เข้าอบรมจะได้ เรียนรู้การ ETL ข้อมูลไปสร้างเป็น Dimensional Model (Data Warehouse) เพื่อทำ Data Analytics ด้วย SQL Server Integration Service (SSIS)
รายละเอียดหลักสูตร
โฆษณา