5/11/2015

ETL คืออะไร?


ต่อจากคราวเก่าที่พูดเรื่อง Business Tools และ Data warehouse กันไปแล้วนะครับ

การที่เราจะนำข้อมูลมาเก็บลง Data warehouse ได้นั้น เราจะต้องผ่านขั้นตอน ที่เรียกว่า ETL ก่อน แล้วมันคืออะไรล่ะ


ETL ย่อมาจาก Extract Transform Load ครับ

Extract ดึงข้อมูลมาจาก Database หลายๆตัว หรือดึงมาจากข้อมูลด้านนอก ( External Sources) ครับ

Transform จะเป็นส่วนตรวจสอบแล้วจัดรูปนะครับ

         - Data Cleaning คือการตรวจสอบความถูกต้องข้อมูล ถ้าผิดก็จะแก้ไขให้
         - Data Mapping คือการจัดรูปแบบให้เหมือนกันครับ เช่น จาก Database ตัวแรก เก็บข้อมูล เพศ ชายเพศหญิง เป็น M ,F  ส่วนอีกตัวเก็บเป็น Male , Female ซึ่งมันไม่เหมือนกัน เราจำเป็นต้อง format มันให้อยู่ในรูปแบบเดียวกัน

Load ขั้นตอนนี้คือการนำข้อมูลที่ Transform แล้ว เข้าสู่ Data warehouse ครับ


มารู้จักกับ ETL Tools กันต่อเลย

ETL Tool คือเครื่องมือที่จะจัดการข้อมูล ในรูแบบของ ETL ครับ ซึ่งมันฉลาดครับ มันรู้จักกับชนิดข้อมูลต่างๆ ซึ่งเราก็ควรให้เหมาะสมครับ เช่นเราใช้ Database ของ Oracle เราก็ควรจะซื้อ ETL ของ Oracle มานั่นเอง ซึ่งแต่ละยี่ห้อก็อาจจะมีความสามารถที่แตกต่างกันออกไป

ETL Tools ทาอะไรบ้าง?

Data Cleansing - เมื่อมีข้อมูลมาแล้ว เราจะต้องมีการตรวจสอบความถูกต้องของข้อมูล แล้วปรับให้มันดีขึ้น รวมทั้งกาจัดข้อมูลทีผิดพลาดไป

Data Transformation - ข้อมูลบางอย่างที่เราได้มามันไม่ได้อยู่ในรูปแบบที่เราจะเอาไปวิเคราะห์ได้ ง่ายๆ เช่น เรามีข้อมูลของคน เช่นวันเดือนปีเกิด ของลูกค้า แล้วเวลาเราเอาไปวิเคราะห์เราไม่ได้เฉพาะเจาะจงเป็นวัน เราจะคำนวนเป็นช่วงอายุ เช่นวัยเด็ก ผู้ใหญ่ ชรา เป็นต้น ทาให้เราต้อง convert ก่อนว่าเป็นวัยไหน

Data Loading and Refreshing - กาหนด schedule ได้ว่าจะให้โหลดมาทุกๆกี่วัน หรือทุกๆเท่าไหร่ รวมทั้งยังสามารถกำหนด storage ปลายทางได้อีกด้วย

Why is ETL important? ทำไม ETL สำคัญ
- ช่วยในการแก้ไขข้อมูลพลาดข้อมูล
- ปรับข้อมูล จากหลายๆ Database และจาก External Source ให้อยู่ในรุปแบบเดียวกัน ให้ใช้ด้วยกันได้
- เพิ่มมูลค่าให้ข้อมูล เพราะเราสามารถนำข้อมูลนั้นมาวิเคราะห์ได้
- ข้อมูลเหล่านั้นไม่สามารถควบคุมได้ เพราะ ใช้กันอยู่ทุกวัน จะไปปรับเปลี่ยนมันยาก เลยต้องมี ETL เพื่อเอามาแปลงให้มันไปในทำงเดียวกัน


Metadata repository เป็นตัวอธิบายโครงสร้างของ Data warehouse จะคล้ายๆกับ Data dictionary แต่จะระบุข้อมูลเยอะกว่า เช่นมาจาก field ไหน table อะไร transform (ETL) ยังไง  Load เข้าเวลาไหน

ตัวนี้จะใช้เพื่อทำ ETL เป็นหลัก ก่อนทำ ETL ต้องอ่านตัวนี้ก่อน




0 comments:

Post a Comment