Big Data Architecture #12: สถาปัตยกรรมแบบ Distributed Data Sources

หลังจากที่เขียนบทความด้าน Big Data Architecture ตอนที่ 11 ในเรื่องของ Data Fabric เมื่อต้นปีนี้ ผมก็ไม่ได้เขียนตอนต่อไปมานานมาก ซึ่งในช่วงปีที่ผ่านมา แนวโน้มของการทำสถาปัตยกรรม Big Data เริ่มเปลี่ยนไปจากที่เคยมีความพยายามในการแก้ปัญหา Data Silo ที่มีข้อมูลอยู่หลากหลายแห่งแลัวพยายามที่จะพัฒนา สถาปัตยกรรมที่รวมข้อมูลไว้ในระบบเดียวกันเพื่อให้ Single source of trust data เพื่อทำให้มี Data Source เพียงระบบเดียวในองค์กร ซึ่งจากรูปข้างล่างแสดงให้เห็นถึงพัฒนาการของสถาปัตยกรรมแบบนี้ที่เป็น Data Warehouse ในช่วงปี 2000 และพัฒนามาสู่ Data Lake ในช่วงปี 2010 ซึ่งก็อาจเป็นระบบ Hadoop HDFS ที่เป็น On-Premise หรือ Cloud Storage บน Public cloud

ที่มา Google Cloud : Big Lake

แต่อย่างไรก็ตาม การทำสถาปัตยกรรมที่ต้องการให้เกิด Data Source เพียงระบบเดียวเดังกล่าวกลับไม่ประสบความสำเร็จอย่างที่ตั้งใจ ซึ่งจากรูปจะเห็นว่าในปัจจุบันสถาปัตยกรรม Big Data กลายเป็นระบบที่มี Data Warehouse และ Data Lake หลายๆระบบ และกลายเป็น Data Silo รูปแบบใหม่ ซึ่งทำให้เกิดผลกระทบที่ตามมาในหลายๆประการอาทิเช่น

  • มีข้อมูลใหม่ๆเพิ่มเข้ามาเรื่อยๆอย่างรวดเร็วตลอดเวลาทำให้ Data Lake ไม่สามารถรองรับได้ และอาจต้องขยายเพิ่มจำนวน Data Lake หรือต้องสร้างระบบเพิ่ม
  • ข้อมูลมีความซ้ำซ้อนในหลายที่ และความที่มีหลายระบบก็ทำให้การอัฟเดทและบริหารข้อมูลมีความยุ่งยาก รวมถึงต้องใช้เครื่องมือที่หลากหลาย
  • ข้อมูลกระจายอยู่ในหลายที่ทั้งใน Data Lake หรือ Data Warehouse หลายๆระบบ ในตำแหน่งที่ต่างกัน ทั้ง On-premise หรือ Cloud หลายๆระบบ
  • Use case ในการใช้ข้อมูลมีความหลากหลายกว่าเดิม ต้องการเทคโนโลยีที่ใช้ในการวิเคราะห์ข้อมูลและบริหารข้อมูลที่ต่างกัน และอาจต้องรองรับผู้ใช้ที่หลากหลายขึ้น เช่น Data Warehouse อาจเหมาะกับการทำ BI หรือ SQL ส่วน Data Lake อาจเหมาะกับการทำ Machine Learning หรือการแปลง Data

ดังนั้นแนวโน้มของสถาปัตยกรรม Big Data ที่เราจะเห็นในปัจจุบัน จะมุ่งสู่ Distributed Data Architecture มากขึ้น โดยจะมี Data Warehouse หรือ Data Lake หลายระบบกระจายอยู่ในตำแหน่งที่ต่างกัน แต่สิ่งที่เราต้องทำให้ได้ก็คือเรื่องของสถาปัตยกรรม Data Fabric ที่เราจะต้องสามารถบริหารจัดการข้อมูลที่อยู่ในระบบที่หลากหลายเหล่านี้ได้จากเครื่องมือเดียวกัน นอกจากนี้เราไม่จำเป็นต้องมีการเคลื่อนย้ายข้อมูลจากระบบหนึ่งมาอีกระบบเช่นจาก Data Lake มายัง Data Warehouse ให้เกิดความซ้ำซ้อน และจะต้องมีเครื่องมือในการที่วิเคราะห์ข้อมูลสำหรับ Use case ต่างๆจากแหล่งข้อมูลที่หลากหลายได้เช่นอาจเป็นเครื่องมือในการทำ Machine Learning หรือ Business Intelligence ดังสถาปัตยกรรมในรูปข้างล่างนี้

Distributed Big Data Architecture

ทำให้ในปัจจุบันผู้ให้บริการ Public cloud หลายรายเห็นแนวโน้มที่สถาปัตยกรรม Big Data จะเป็นแบบ Distributed Data Sources จึงได้ออกบริการที่ทำให้เราสามารถพัฒนาระบบ Big Data ที่มีสถาปัตยกรรมอย่างนี้ได้ อาทิเช่น Google Cloud Platform มีบริการที่ชื่อ DataPlex สำหรับการทำ Unified data management / data governance หรือบริการ Big Lake ที่ทำให้เราวิเคราะห์ข้อมูลจากแหล่งข้อมูลต่างๆได้ ซึ่งในตอนหน้าจะมาอธิบายให้เข้าใจการทำงานของบริการเหล่านี้

ธนชาติ นุ่มนนท์

IMC Institute

บทความอื่นๆที่เกี่ยวข้อง