สรุปความเข้าใจเกี่ยวกับ Data Lake และประโยชน์ของ Data Lake คืออะไร

Softnix
Softnix
Published in
2 min readFeb 19, 2018

บทความนี้เขียนต่อจาก แนะนำ Data Lake สำหรับองค์กร และ แนวทางการออกแบบ Data Lake ให้ประสบผลสำเร็จ ถ้าใครสนใจย้อนกลับไปอ่านได้ครับ

Data Lake มีคนให้ความหมายไว้หลายความหมาย แต่โดยรวมแล้วมันคือแนวทางที่ใช้ในการจัดเก็บข้อมูลปริมาณมหาศาลที่เรียกว่า Big Data และความต้องการประมวลผลเพื่อค้นหาภายหลังหรือนำมาวิเคราะห์เพื่อเป็นประโยชน์ต่อธุรกิจ

มาถึงจุดนี้ อาจมีข้อสงสัยว่าแล้วระบบ Backup ที่มี Storage ขนาดใหญ่ๆละ ไม่ใช่ Data Lake system เหรอก็ใช้เก็บข้อมูลปริมาณมหาศาลเหมือนกัน แต่อยากจะบอกว่า ระบบ Backup ใช้สำหรับการเก็บข้อมูลเพื่อสำรอง ไม่ได้ออกแบบให้นำออกมาใช้บ่อยๆ เพราะถ้าเราจะนำมาประมวลผลหรือวิเคราะห์บ่อยๆต้องใช้เวลานานกว่าจะนำออกมาได้

องค์กรทั่วไปใช้ Data Lake ในการจัดเก็บข้อมูลต่างๆ ดังต่อไปนี้ Internal Data, External Data, Partner Data, Competitor Data, Business Process, Social Data, Customer Data และก็ใช้ความสามารถในการจัดเก็บลงบนเทคโนโลยีของ Hadoop เพราะมีความสามารถทั้งในด้าน Data Distribution และ Pallalel Processing ตามวัตถุประสงค์ของ Data Lake System

ประโยชน์ที่ได้รับจาก Data Lake มีอะไรบ้าง

  1. Scalability รองรับการขยายระบบ เนื่องจากออกแบบมาสำหรับจัดเก็บข้อมูลชนิด Big Data ซึ่งจะมีปริมาณ (Volume) ความเร็ว (Velocity) ดังนั้นระบบต้องรองรับการขยายได้ตามต้องการ เช่น ขยายพื้นที่จัดเก็บโดยใช้เทคโนโลยี HDFS ของ Hadoop เป็นต้น ซึ่งจะเป็นการขยายระบบแบบแนวนอนหรือ Horizontal Scaling หรือ Scale-out ความหมายใกล้เคียงกัน
  2. Coverge All Data source รองรับการรวบรวมข้อมูลได้หลากหลายแหล่งที่มาและหลากหลายรูปแบบ เพราะข้อมูล Big data จะมีรูปแบบที่หลากหลาย (Variety) โลกของ Big Data จะไม่ใช่มีเพียงเฉพาะข้อมูลที่มีโครงสร้างเท่านั้น (Structured Data) แต่จะมี Data หลากหลาย Format เช่น System Log, XML, JSON, Media, Binary, Image, Social Data, CSV, Excel และอื่นๆมากมาย ซึ่ง Data Lake จะต้องรองรับการจัดเก็บข้อมูลเหล่านี้
  3. Accommodate High Speed Data ข้อมูลชนิด Big Data นอกจากมีปริมาณมหาศาล (Volume) แล้ว จะเป็นข้อมูลที่เกิดขึ้นตลอดเวลา (Velocity) เช่น System Log เกิดขึ้นทุกวินาที หรือแม้กระทั่งข้อมูลจาก Sensor ตรวจจับสภาพอากาศ ดังนั้นเทคโนโลยีของ Data Lake จะต้องรองรับการจัดการข้อมูลที่มีความเร็วเหล่านั้นได้ ในเทคโนโลยีของ Data Lake เราเรียกว่าการทำ Data Streaming ซึ่งสามารถจับข้อมูลที่เกิดขึ้นแบบ Real Time เพื่อนำมาประมวลผลได้
  4. Schema-Less เนื่องจาก Data Lake ต้องรองรับข้อมูลหลากหลายรูปแบบ ดังนั้นการจัดเก็บเพื่อนำมาวิเคราะห์ ต้องมีการกำหนดโครงสร้างของข้อมูลคล้าย Schema ของ Database เพื่อให้ BI มาแสดงผลและวิเคราะห์ แต่เนื่องจากระบบ Data Lake มีข้อมูลอาจมีการเปลี่ยนแปลงตลอด ดังนั้นต้องรองรับการเพิ่มและลด schema ในภายหลังตลอดเวลาไม่กระทบกับข้อมูลก่อนหน้านั้น เราจึงเรียกใหม่ว่า Schema-less แล้วนำมาวิเคราะห์ร่วม BI ได้เช่นเดียวกัน แถมยืดหยุ่นมากกว่าเดิมอีกด้วย
  5. AS-IS Data Format ในระบบการจัดการข้อมูลแบบเดิมที่เป็นแบบโครงสร้าง เช่น data warehouse เราต้องสร้าง data model เพื่อนำมาสร้าง cubes ต่อ เราทำได้เพราะการทำเช่นนี้เราจะทำจากข้อมูลเฉพาะบางช่วงเวลา แต่ในโลกของ Big Data นั้น Data Lake จะไม่ใช้วิธีการทำ Data model เพราะจะต้องรองรับข้อมูลที่ส่งเข้ามาอยู่ตลอดเวลา และจะเน้นแสดงผลหรือวิเคราะห์ข้อมูลแบบ Real Time โดยเทคโนโลยีวิเคราะห์ข้อมูลแบบ Real Time
  6. The Schema ในระบบ Data warehouse ในอดีตออกแบบมาสำหรับจัดการกับ Data แบบโครงสร้างเท่านั้น ซึ่งก็คือข้อมูลจาก Database แต่สำหรับ Data Lake จะใช้วิธีเก็บข้อมูลจากหลากหลายชนิดจึงยากที่จะกำหนด Schema ไว้รองรับ จึงต้องรับข้อมูลโดยตรงไม่ต้องกำหนด Schema แต่จะใช้ Schema ในตอนอ่านหรือนำมาประมวลผลเท่านั้น เราเรียกว่าการทำ Data Transform เช่น Hive ที่ทำ Schema ไว้รองรับตาม format ข้อมูล หรือ Transfrom Data ไปยัง HBase ซึ่งเป็น nosql บน hadoop
  7. The favourite SQL สำหรับ SQL Database ยังมีความจำเป็นสำหรับ Data Lake เพราะใน Data Lake จะมีทั้งข้อมูลที่มีค่าและไม่มีค่า (Veracity) ดังนั้นระบบ Data Lake จะต้องมีกระบวนการทำ Data Quality ซึ่งก็คือ การทำ Data Cleansing และจัดเก็บข้อมูลที่สมบูรณ์ยัง SQL Database ซึ่งเราสามารถใช้ทักษะ SQL ในการ Query Data ได้ตามต้องการ หรือแม้กระทั่งใช้เครื่องมือที่คุ้นเคยเช่น BI หรือ Advance Data Analytic ที่รองรับการดึงข้อมูลผ่าน SQL ก็สามารถใช้ได้กับ Data Lake เช่นกัน
  8. Advance Analytic ตรงนี้จะไม่เหมือนของ Data warehouse เพราะ Data warehouse จะมองข้อมูลไปในอดีตว่ามีอะไรเกิดขึ้นบ้างในเชิงสรุปผล เช่นยอดขาย สรุปยอดการสั่งซื้อ แต่บน Data Lake ซึ่งใช้ประโยชน์จากข้อมูลที่จัดเก็บปริมาณมหาศาล การวิเคราะห์จึงเป็นในทำนองการสร้าง Machine Learning Model จากข้อมูลปริมาณมหาศาลเพื่อให้ Machine เรียนรู้ และทำนายเหตุการณ์ไปข้างหน้าได้ ซึ่งจะเรียกว่า Predictive Analytic
  9. Administrative Benefit คือ ระบบ Data lake จะง่ายต่อการบริหารจัดการมากกว่า เพราะเน้นจัดเก็บก่อนและวิเคราะห์ภายหลัง ต่างจาก Data warehouse เพราะนอกจากนำเข้าข้อมูลแล้ว ต้องทำ Data Cleansing พร้อมทั้ง Transform ก่อนหรือเรียกว่า ETL ซึ่งเป็นกระบวนการที่ยุ่งยากมากๆ แถมยังใช้ประสิทธิภาพเครื่องคอมพิวเตอร์ที่สูง ยากต่อการบริหารจัดการด้วย

มาถึงจุดนี้ หวังว่าคนที่สนใจเรื่องราวเกี่ยวกับ Big Data และ Data Analytic ที่เริ่มสนใจและกำลังวางแผน Implement Data Lake เพราะเล็งเห็นความสำคัญของการจัดเก็บข้อมูลเพื่อเป็นประโยชน์ต่อองค์กร และต้องการใช้ข้อมูลนี้เพื่อนำเสนอผู้บริหาร

เรา Softnix ซึ่งเป็นบริษัทที่มุ่งเน้นพัฒนานวัตกรรมเพื่อใช้ประโยชน์จากข้อมูล โดยเราพัฒนาระบบ Data Lake Platform ที่ชื่อ Softnix Data Platform เพื่อให้ผู้ใช้ได้เข้าถึงคุณค่าจากข้อมูลได้ด้วยความสะดวกและรวดเร็ว ถ้าเรามีข้อมูลดีๆมีประโยชน์หรือประสบการณ์ที่ได้จากการทำงาน ถ้าข้อมูลนั้นมีประโยชน์ต่อส่วนรวม เราจะนำมาแชร์แบ่งปันให้ผู้ที่สนใจติดตามและศึกษา ท่านสามารถติดตามผลงานของเราได้ที่ facebook เพจ http://fb.com/softnixtech และ medium blog นี้ได้ครับ ….ขอบคุณมากครับ

--

--