กำลัง review เรื่อง Data architecture ของระบบงาน
พบว่าโครงสร้าง data , process การใช้งานและจัดการ data
มีรูปแบบดังรูป

จากรูปจะเห็นได้ว่า

  • Dev team ทำหน้าที่ดูแลระบบงาน และทำการจัดเก็บข้อมูลใน database ของระบบไป
  • Centralize data team อยากได้ข้อมูลมาจัดเก็บใน Data warehouse/data lake หรือ transform data มาจัดเก็บ เพื่อใช้พวก BI tool มาดึงไปเพื่อแสดงใน dashboard ต่าง ๆ ตรงนี้ข้อมูลที่ได้จาก database ฝั่ง Dev team อาจจะอยู่ในรูปแบบของ file หรือ share file หรือ ต่อตรงไหม หรือ messaging ก็ว่ากันไป แต่ทาง Dev team ก็ต้องทำตามความต้องการไป
  • ฝั่งคนใช้งานข้อมูล ก็มาดึงข้อมูล หรือ ผลจาก Centralize data team ไป เพื่อนำไปวิเคราะห์ตาม product ต่าง ๆ ต่อไป

จากรูป ถ้ามีคนใช้งาน data จาก Centralize data team เยอะ ๆ
ก็ต้องไปดึงข้อมูลมากจากหลาย ๆ Data source
ต้องมี knowledge ใน business domain ต่าง ๆ เพียบเลยไหม
งาน overload ไหมนะ ไม่น่าหรือเปล่านะ !!
มันเกิดจากการทำงานแบบ centralize หรือไม่
ต่างฝ่ายต่างมีความเป็น owner data ในแต่ละส่วน
คำถามคือ ใครเป็น owner ที่แท้จริง
จะเปลี่ยนแปลง เพิ่มเติม ต้องทำอย่างไรบ้าง เยอะไหม ใช้เวลามากไหม
ตรงนี้น่าคิด !!

ลองมาดูอีกรูปที่พูดคุยกันคือ decentralize data transformation

จากภาพอธิบายได้ดังนี้

  • Dev team นั้นเป็นเจ้าของ data อยู่แล้ว ดังนั้น ถ้ามีความต้องการนำ data ไปใช้งาน ทาง dev team ก็สามารถ port data ออกมาในรูปแบบที่ตกลงกัน หรือ ใช้เทคโนโลยีต่าง ๆ ที่เหมาะสม โดยได้รับการสนับสนุนและแนะนำจาก Central Data Engineer หรือเรียกเท่ ๆ ว่า Data platform as a service เพื่อช่วยให้ Dev team สามารถ port data ออกมาได้ง่ายและรวดเร็ว
  • ฝั่งคนใช้งานข้อมูล ก็มาดึงข้อมูลจาก data port ได้เลย ซึ่งเป็นการทำงานร่วมกันระหว่าง เจ้าของ data (data producer) และ ผู้ใช้งาน data (data consumer) แบบตรง ๆ ซึ่งสิ่งที่ต้องคิดต่อมาคือ เรื่องรูปแบบการเชื่อมต่อผ่านระบบ network ต่อไป

จะเห็นได้ว่าทั้งสองภาพ กำลังมองเรื่องของหน้าที่รับผิดชอบต่อข้อมูล
หรือรวมไปถึงความเป็นเจ้าของข้อมูล
รวมถึง operation cost ต่าง ๆ ที่เกิดขึ้นด้วย

ดังนั้นสิ่งที่สำคัญมาก ๆ คือ ให้เน้นไปที่เรื่องของ people, process และ organization
ก่อนที่จะลงไปถึงเครื่องมือที่จะนำมาใช้งาน

น่าสนใจมาก ๆ เป็นเนื้อหาในหนังสือ Data Mesh in Action
ยังไม่ต้อง Data mesh เพียงแต่ดูแนวทางในการจัดการ data ก็พอ