ในตอนที่สองซึ่งผมเขียนเรื่องของ สถาปัตยกรรมบน Data Lake ได้ระบุไว้ช่วงหนึ่งว่า เทคโนโลยีการประมวลผลของสถาปัตยกรรม Data Lake เช่ย Hadoop อย่าง Hive หรือ Spark หากจะนำไปแสดงผลโดยตรงยัง Data visualisation tool โดยใช้คำสั่ง SQL จะพบว่ามีความเร็วไม่พอ ดังนั้นเราจึงมักเห็นสถาปัตยกรรม Big data ที่นำเอา Data Warehouse มาเชื่อมโยงกับ Data Lake และจะมีการนำข้อมูลจาก Data Lake บางส่วนไปเก็บไว้ใน Data Warehouse เพื่อจะทำให้การทำ Queryโดยใช้คำสั่ง SQL จาก Data visualisation tool มีความรวดเร็วขึ้น

ในตอนนี้จึงอยากมาขยายความเพิ่มเติมเพื่อให้เห็นว่าสถาปัตยกรรมนี้ที่เรียกว่า Data Lake + Data Warehouse จะมีองค์ประกอบอะไรบ้าง และจะมีเทคโนโลยีอย่างไร

จากรูปที่ 1 เราจะเห็นได้ว่าไดอะแกรมของ สถาปัตยกรรม Data Lake + Data Warehouse จะประกอบด้วยส่วนสำคัญสองส่วนคือ

  1. Big Data Platform ซึ่งในกรณีของระบบ On-Premise ก็อาจเป็น Hadoop Ecosystem ซึ่งจะมี Storage ที่ทำหน้าที่เป็น Data Lake อย่าง HDFS ซึ่งเราสามารถจะใช้เทคโนโลยีในการประมวลข้อมูลแบบขนาน (Parallel processing) ใน HDFS ที่หลากหลายได้เช่น Spark, MapReduceม Hive หรือ Impala หรืออาจเน้นเฉพาะการค้นหาข้อมูลผ่าน Query Engine อย่าง Hive, Spark SQL หรือ Impala
  2. Enterprise Data Warehouse (RDBMS) ส่วนนี้จะเป็นการส่งออก (Export) ข้อมูลจาก Data Lake บางส่วนที่ต้องการนำมาแสดงผลผ่าน BI Apps มาเก็บไว้ โดยการใช้เทคโนโลยีที่เป็น SQL ทั้งนี้เพราะการทำ SQL ผ่าน Data Warehouse จะทำได้รวดเร็วกว่า ซึ่งแม้ว่ารูปจะแสดงให้เห็นว่า เราสามารถที่จะใช้ Query Engine ของ Big Data Platform โดยใช้ภาษา SQL ดึงข้อมูลจาก Data Lake ไปแสดงผลยัง BI Apps โดยตรงก็ได้ แต่โดยมากจะพบว่ามีความล่าช้ากว่ามากจึงไม่นิยมทำกัน
รูปที่ 1 สถาปัตยกรรม Data Lake + Data Warehouse (cr: Fundamentals Big Data and AI Architecture, Guido Schmutz)

ทั้งนี้การประมวลผลข้อมูลบนสถาปัตยกรรม Data Lake + Data Warehouse จะแบ่งกันชัดเจนดังนี้

  • การทำ Data Preparation หรือ Data Processing สำหรับข้อมูลแต่โซนเช่นจาก Raw Zone ไปสู่ Trusted Zone หรือ Refined Zone จะทำบน Data Lake และใช้เทคโนโลยีอย่าง Apache Spark เป็นหลัก
  • การนำข้อมูลไปแสดงผลผ่าน BI Apps จะใช้ข้อมูลที่อยู่ใน Data Warehouse และใช้ภาษา SQL โดย Data Engineer จะต้องทำการ Export ข้อมูลจาก Refined Zone หรือ Trusted Zone ไปเก็บไว้ใน Data Warehouse ก่อน
  • การทำ Data Science จะใช้ข้อมูลที่อยู่ใน Data Lake ซึ่งโดยมากจะเป็นข้อมูลที่อยู่ใน Trusted Zone และใช้เทคโนโลยีที่เป็นการประมวลแบบ Machine Learning อย่าง Spark MLlib

( สำหรับรายละเอียดการบริหารจัดการข้อมูลแต่ละโซนของ Data Lake สามารถดูได้จาก บทความเรื่อง การจัดการข้อมูลบน Data Lake )

ดังนั้นเราจะให้ได้ว่าการจะทำโครงการ Big Data ได้ดี สถาปัตยกรรมที่ใช้จะต้องประกอบไปด้วยทั้ง Data Lake และ Data Warehouse รวมทั้งมีการใช้เทคโนโลยีที่หลากหลายดังอธิบายในตอนนี้

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

IMC Institute

——-

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

ใส่ความเห็น