เกริ่นแนวคิด Data Mesh จากวีดีโอ Data Mesh Paradigm Shift in Data Platform Architecture

I'm a data architect from Thailand. :)
เมื่อประมาณปลายปีที่แล้วผมได้ยินศัพท์ใหม่ "Data Mesh" ฟังแล้วดูแปลกดี แนวคิดจะเหมือนพวก Microservices หรือ Service Mesh อะไรหรือเปล่า ก็เลยได้ลองฟัง Talk ของ Zhamak Dehghani ครับ จากงาน QCon 2019
เค้าพูดตั้งแต่ปี 2019 แต่ผมเพิ่งได้ยินตอนประมาณปลายปี 2020 รู้สึกเหมือนตกข่าวอย่างแรง 😅
ไปลองฟังมาแล้วได้ใจความประมาณว่า แนวคิดที่ทำๆ เกี่ยวกับเรื่องแพลตฟอร์ม Big Data ในปัจจุบัน มีการลงทุนไปเยอะ แต่ส่วนใหญ่ก็ยังไม่สามารถที่จะ Transform องค์กรได้สักที แล้วก็เล่าประมาณว่า.. เฮ้ย จริงๆ การทำแบบนี้เราทำมาเป็นชาติแล้วนะ คือไหลข้อมูลจาก Data Sources ต่างๆ ทำ ETL (Extract-Transform-Load) มาเข้า Data Warehouse ซึ่งปัจจุบันก็มี Data Lake เข้ามาคั่นตรงกลาง เพื่อรองรับการ Scale ที่มากขึ้น และข้อมูลที่มาหลากหลายรูปแบบมากขึ้น
อย่างไรก็ดี จริงๆ สิ่งที่เราทำมันก็ไม่ได้ต่างจากเดิมในยุคที่ Data Warehouse เพิ่งเกิดขึ้นมาเลย 😱
รูปแบบ Centralized แบบเดิมหน้าตาก็จะประมาณนี้

แล้วเพราะอะไรถึงไม่ค่อยเวิร์คล่ะ? เค้าตอบว่า.. มันไม่มี Domain น่ะสิ! ซึ่งจากรูปด้านล่างนี้ เราจะเห็นว่ามันคือระบบ Monolithic ที่ไม่มี Domain Boundaries

ถ้าเป็นแบบนี้ต่อไปมันจะ Scale ไม่ได้แล้วนะ เพราะว่าคน 3 กลุ่มนี้
- Ops ที่อยู่ฝั่ง Feed ข้อมูลมา
- Data Engineers ที่คอยจัดการการไหลข้อมูล
- ฝั่ง Data Scientists ที่รอข้อมูลเพื่อเอาไปวิเคราะห์
จะเริ่มก่อกำแพงและกลายเป็น Silo ในที่สุด 🥲 เนื่องจากสุดท้ายแล้ว ทั้ง 3 กลุ่มไม่ได้เห็น End-to-End เลย แต่ละกลุ่มก็จะเริ่มไม่ได้มีเป้าหมายเดียวกัน ดูน่าเศร้าเนอะ
ตอนต้นวีดีโอเค้าเกริ่นไว้ด้วยว่า ตอนนี้มันเหมือนมี 2 โลก คู่ขนานกันอยู่ คือโลกฝั่ง Operational (พวก Microservices) กับฝั่ง Data ตามรูปด้านล่างนี้เลย

แนวคิดของ Data Mesh มันก็คือบอกว่าเราจะหยิบเอาสิ่งที่ดีงามจากฝั่ง Operational นั่นก็คือ Domain-Driven Design (DDD) มาใช้กับฝั่ง Data ด้วย ผมนี่ลุกขึ้นยืนเลย 🤩 ตอนที่ผมเรียน DDD กับพี่รูฟ ตอนนั้นยังคิดอยู่ว่าเราก็หยิบเอาพวก Event หรือข้อมูลต่างๆ จาก Event Repository อย่าง Kafka เอาก็ได้ แล้วก็ไหลเข้าไปยังฝั่งของ Data แต่แนวคิด Data Mesh นี่คือเหมือนรวบเข้าไว้ด้วยกันเลย
รูปด้านล่างนี้เป็น Data Mesh Principles

เอาล่ะ ผมขอเกริ่นไว้ประมาณนี้ ส่วนที่เหลือ ผมอยากลองไปดูวีดีโอกันต่อนะ รายละเอียดยังมีอีกเยอะเลยครับ 😎 ซึ่งจากหัวข้อ Talk ที่บอกว่า Paradigm Shift นี่ ผมเห็นด้วยอย่างมากเลย
หรือถ้าอยากจะตามอ่านเป็นบทความ ก็ไปได้ที่ How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh



