ETL vs ELT ความเหมือนที่แตกต่าง
ETL กับ ELT ดูเหมือนคล้ายกันมาก แตกต่างกันแค่การสลับตำแหน่งระหว่างตัวอักษรเพียงตัวเดียว แต่ความแตกต่างเล็กๆ นี้เองที่สะท้อนให้เห็นถึงแนวคิดและวิธีการจัดการข้อมูลที่แตกต่างกันอย่างมาก
ETL หรือ Extract-Transform-Load เป็นศัพท์ที่คนทำงานสาย data คงจะรู้จักคุ้นเคยกันดีอยู่แล้ว เพราะมันเป็นองค์ประกอบสำคัญอย่างหนึ่งในระบบ data warehouse ที่เป็นที่รู้จักคุ้นเคยกันมากว่า 30 ปีแล้ว
กระบวนการ ETL คือการดึงข้อมูลออกจากระบบต้นทาง (Extract) แล้วทำการปรับเปลี่ยนรูปแบบ (Transform) ของข้อมูลในอยู่ในลักษณะที่สอดคล้องกับข้อกำหนดของ data warehouse ปลายทาง ก่อนที่จะทำการนำเข้า (Load) ข้อมูลเข้าสู่คลังข้อมูล
ในระบบ data warehouse จะมีลักษณะที่สำคัญคือ โครงสร้างฐานข้อมูลหรือ Schema จำเป็นที่จะต้องถูกออกแบบไว้ล่วงหน้าก่อนแล้ว ทำให้กระบวนการ Load จำเป็นจะต้องทำภายหลังจากการ Transform ทำเสร็จเรียบร้อยแล้ว
ในขณะที่กระบวนการ ELT ซึ่งย่อมาจาก Extract-Load-Transform มีวัตถุประสงค์คล้ายคลึงกัน คือการสกัดข้อมูลจากแหล่งข้อมูลต้นทาง แต่สลับลำดับขั้นตอนด้วยการนำข้อมูลเข้า ก่อนที่จะทำการแปลงสภาพข้อมูล
กระบวนการ ELT จะใช้กับระบบที่เป็น Data Lake ซึ่งมีแนวคิดพื้นฐานแตกต่างจาก data warehouse พอสมควร ตรงประเด็นที่ว่า ใน data lake จะยังไม่มีการกำหนดโครงสร้างหรือ schema ของข้อมูลไว้ล่วงหน้า เรียกได้ว่าข้อมูลถูกสกัดมาอย่างไร ก็เก็บ (ควรจะเรียกว่า “กอง”) หรือ Load กันไว้ใน data lake ตามรูปแบบเดิมๆ เลย ต่อเมื่อจะนำข้อมูลนั้นไปใช้เท่านั้นแหละ จึงจะทำการแปลงสภาพข้อมูล หรือ Transform ให้มีสภาพเหมาะสมกับการนำไปใช้งานในภายหลัง
ลำดับที่แตกต่างกันระหว่างขั้นตอนการ Load และ Transform นี้เอง จึงสะท้อนแนวคิดที่แตกต่างกันระหว่าง data warehouse กับ data lake
Originally published at http://bzinsight.wordpress.com on March 6, 2023.