Section 11: เจาะลึก Apache Iceberg
- Open Table Format แก้ปัญหาอะไรของไฟล์ Parquet ที่วางไว้ใน Data Lake
- โครงสร้างภายใน: Metadata File, Manifest, Snapshot และ Catalog
- ACID Transaction และการเขียนพร้อมกันจากหลาย Engine
- เปรียบเทียบ Iceberg กับ Delta Lake โดยสรุป
Section 12: Lab: Time Travel และงานตรวจสอบ
- ดู Snapshot และประวัติของตารางผ่าน Metadata Table
- Query ข้อมูล ณ เวลาใดเวลาหนึ่งด้วย FOR TIMESTAMP AS OF และ FOR VERSION AS OF
- ย้อนตารางกลับไปยัง Snapshot ก่อนหน้าเมื่อโหลดข้อมูลผิด
- Lab: ตอบคำถามว่ายอดคงเหลือ ณ สิ้นวันก่อนหน้าเป็นเท่าไร
Section 13: Schema Evolution และ Partitioning
- เพิ่ม เปลี่ยนชื่อ หรือขยายชนิดคอลัมน์โดยไม่ต้องเขียนข้อมูลใหม่
- Hidden Partitioning และการเลือก Partition ตามรูปแบบ Query
- Partition Evolution เมื่อปริมาณข้อมูลเปลี่ยน
- Lab: เพิ่มคอลัมน์ช่องทางทำรายการและปรับ Partition ของตารางธุรกรรม
Section 14: Lab: ดูแลตารางและประสิทธิภาพ
- ปัญหาไฟล์เล็กจำนวนมากจากการนำเข้าบ่อย
- Compaction ด้วย optimize และลบ Snapshot เก่าด้วย expire_snapshots
- ลบไฟล์ที่ไม่ถูกอ้างอิง และวางรอบงานดูแลตารางด้วย Airflow
- Lab: วัดเวลา Query ก่อนและหลัง Compaction
Section 15: Data Observability และ Data Lineage
- เฝ้าระวัง Freshness, Volume และ Schema Drift ของแต่ละชั้น
- แสดง Lineage จากระบบต้นทางถึงรายงานด้วย dbt docs
- ตัวอย่างความคาดหวังด้าน Lineage ในงานการเงิน เช่นหลักการ BCBS 239
- Lab: ตั้งการแจ้งเตือนเมื่อข้อมูลไม่สดหรือจำนวนแถวผิดปกติ
Section 16: Workshop: Capstone Project
- รัน Pipeline ทั้งเส้นตั้งแต่ธุรกรรมใหม่ในระบบต้นทางถึงตาราง Gold
- นำเสนอสถาปัตยกรรมและจุดควบคุมคุณภาพข้อมูลในแต่ละชั้น
- สาธิต Time Travel และ Lineage เพื่อตอบคำถามเชิงตรวจสอบ
- รีวิวร่วมกัน และแนวทางต่อยอด เช่น CDC แบบเต็มรูปแบบ และ CI/CD สำหรับงานข้อมูล