ได้อ่านบทความ Data Quality Automation at Twitter ซึ่งเป็นบทความไม่ยาวมาก และมีความ simple ในการออกแบบ ดูน่าสนใจ
เรื่อง data quality นี่เป็นปัญหาที่ทุก ๆ องค์กรจะต้องเจอ ที่ Twitter ก็เช่นกัน แล้วทีนี้เราจะทำอย่างไรให้เราสามารถควบคุม และคอยสอดส่องเรื่องนี้ได้อยู่ตลอดเวลา ที่ Twitter เค้าเลยสร้างแพลตฟอร์มขึ้นมาที่ชื่อว่า Data Quality Platform (DQP) ที่จะคอยไปกวาดดูข้อมูลต่าง ๆ และเก็บ metrics เพื่อเอามาให้กับทีมได้เห็นกัน การออกแบบก็ตามรูปด้านล่างนี้เลย
ข้างในหลัก ๆ เค้าใช้ Great Expectations ในการ validate ข้อมูลต่าง ๆ และใช้ Stats Collector Library ที่เค้าทำขึ้นมาเอง โดยมี Airflow คอยควบคุม workflow ต่าง ๆ เสร็จแล้วส่งเข้า Pub/Sub หลังจากนั้นก็จะมี Dataflow มากวาดข้อมูลไปเข้า BigQuery และใช้ Looker ในการทำส่วน data visualization
อ้อ ตรงส่วน YAML ในรูป เป็นการสร้าง Airflow DAG แหละ เผื่อใครกำลังสงสัยอยู่ จะเห็นว่ามีตัว DAG Generator คอยอ่าน YAML เพื่อไปสร้าง Airflow DAG ให้ โดยแทนที่เราจะมาเขียนโค้ด Python ก็ให้เขียนเป็นแนว configuration แทน
ผลที่ได้จากการสร้าง DQP เค้าบอกว่า
- ลดงานในส่วน data quality check ไปได้ถึง 20% เพราะว่ามีเรื่อง automated validation เข้ามาช่วยจาก DQP
- เพิ่มความมั่นใจในการส่งมอบข้อมูลเพื่อเอาไปใช้งานต่อ
แพลตฟอร์มเค้าดูเรียบง่ายดีเนอะ