ก่อนจะมาพูดถึงความแตกต่างระหว่าง Data Lakehouse กับ Data Warehouse เรามาพูดถึงนิยามของทั้งสองอย่างว่าคืออะไร ใช้ทำอะไรในองค์กรใหญ่ๆ กันบ้าง
เมื่อพูดถึงการจัดการด้านแหล่งเก็บข้อมูลในองค์กรใหญ่ๆ เรามักจะได้ยินคำว่า “Data Warehouse” อยู่บ่อยครั้ง แล้วความหมายคืออะไร สำคัญต่อธุรกิจภายในองค์กรอย่างไร
Data Warehouse คือ ระบบจัดการข้อมูลที่มีขนาดใหญ่ ที่เกิดจากการรวบรวมข้อมูลจากหลายๆ แหล่ง เช่น CRM (Customer Relationship Management), Inventory, Sales transactions โดยเก็บข้อมูลหลายช่วงเวลาทั้งเก่าและใหม่เป็น Data Center เพื่อนำไปใช้ประโยชน์ในการวิเคราะห์เชิงลึกและแชร์ข้อมูลในด้านต่างๆ ภายในองค์กร
คุณสมบัติของ Data Warehouse
- Subject Oriented มีการจัดเก็บข้อมูลแยกเป็นชุดตามความสัมพันธ์กันอย่างชัดเจน ทำให้ค้นหาเพื่อนำไปวิเคราะห์ได้รวดเร็ว
- Integration ข้อมูลที่มาจากหลายแหล่งถูกนำมาทำ data reorganization จัดการให้เป็นรูปแบบเดียวกันก่อนจัดเก็บ
- Time variant (time series) ข้อมูลที่จัดเก็บเป็นชุดตามช่วงเวลามีตั้งแต่ย้อนหลังถึงปัจจุบัน ทำให้รู้ช่วงเวลาที่ข้อมูลนั้นถูกบันทึก
- Non-Volatile ข้อมูลที่บันทึกจะเป็นข้อมูลที่จัดเก็บเพื่อวิเคราะห์เท่านั้น การแก้ไข เปลี่ยนแปลงจึงเกิดขึ้นได้น้อยมาก เนื่องจากก่อนนำเข้าข้อมูลจะมีการวิเคราะห์และเลือกเฉพาะข้อมูลที่สามารถใช้งานต่อได้เลย
ประโยชน์ของการรวบรวมข้อมูลไว้ที่เดียวกัน ทำให้เกิดความสะดวกรวดเร็วมากขึ้นในการนำไปใช้แต่ละครั้ง สำหรับข้อมูลที่เก็บจะเป็นแบบ Structured data (ข้อมูลที่มีโครงสร้าง) และถูกติดตั้งบน server ที่เป็นทั้ง storage และ compute ไปในตัว โดยมี Business Intelligence Tool นำข้อมูลไปวิเคราะห์ แล้วสรุปข้อมูลให้อยู่ในรูปแบบแดชบอร์ด
แต่เมื่อโลกเริ่มมีข้อมูล Big Data เกิดขึ้นมากมายหลายรูปแบบ เช่น Streaming, ข้อมูลสื่อสังคมออนไลน์ รวมถึง IoT ข้อมูลเหล่านั้นเป็นข้อมูลแบบ Semi-Structured (ตัวอย่างเช่น XML, HTML, JSON) และ Unstructured (ตัวอย่างเช่น ไฟล์ข้อความ, ไฟล์ภาพ, ไฟล์เสียง) ส่งผลให้ Data Warehouse ไม่สามารถรองรับได้
ดังนั้นจึงมีการพัฒนาแพลตฟอร์มอีกระบบ เพื่อรองรับข้อมูลกลุ่มดังกล่าวได้ นั่นคือ Data Lake โดยนำมาใช้ควบคู่กันกับ Data Warehouse เพื่อให้สามารถตอบสนองความต้องการทางธุรกิจได้มากขึ้น
หลักการของ Data Lake จะทำหน้าที่รับไฟล์ Raw data จากแหล่งต่างๆ มาเก็บไว้ โดยไม่จำเป็นต้องแปลงข้อมูล เมื่อต้องการนำไปใช้งานจึงค่อยแปลงเป็นรูปแบบ Structured data นำไปเก็บไว้ที่ Data Warehouse เพื่อใช้วิเคราะห์ข้อมูลเชิงลึกต่อไป หรือสามารถปรับเปลี่ยนรูปแบบโครงสร้างข้อมูลได้โดยให้ Data Scientist หรือ Data Analyst สร้างโมเดลวิเคราะห์ข้อมูลแบบ Real time ได้
ถึงแม้การพัฒนาของ Data Lake จะสามารถรองรับข้อมูลได้หลายแบบ แต่ก็ยังมีข้อจำกัดบางอย่างที่ไม่สามารถทำได้ เช่น การทำ Business intelligence และ Analytics เพราะการ query ทำได้ยาก จำเป็นต้องแปลงข้อมูลทั้งหมดเป็นรูปแบบ Structured เก็บไว้ใน Data Warehouse โดยไม่ได้วิเคราะห์ข้อมูลก่อนจึงทำให้เกิดการเก็บข้อมูลซ้ำซ้อนระหว่าง Data Lake กับ Data Warehouse ได้ หรือกรณีที่ต้องจะทำ insert, update, delete data ช่วงใดช่วงหนึ่ง ก็ทำได้ยากเช่นกัน เพราะข้อมูลเก็บเป็นไฟล์เดียวกัน
ด้วยข้อจำกัดของ Data Lake จึงได้มีการพัฒนา platform มาอีกระดับ คือ Data Lakehouse นั่นเองที่จะเป็นตัวช่วยแก้ไขปัญหาดังกล่าว
Data Lakehouse เป็นการผสมผสาน Data Lake กับ Data Warehouse โดยนำฟีเจอร์ Data Structures และ Data Management ของ Data Warehouse ไปไว้บน Data Lake Storage โดยตรง ค่อนข้างมีความยืดหยุ่นมากกว่า Data Warehouse
คุณสมบัติของ Data Lakehouse
- Cloud object storage เก็บข้อมูลเป็น object ไว้บน Cloud ใช้ต้นทุนค่อนข้างน้อย ตัวอย่างพื้นที่จัดเก็บเช่น Microsoft’s Azure Blob Storage, Google Cloud Storage เป็นต้น
- Transactional metadata layer การที่มี Data lake เป็นส่วนรับข้อมูล จึงง่ายต่อการจัดการข้อมูลและจัดทำ Data governance เพื่อใช้กับ Data Warehouse และรองรับการจัดการข้อมูล ACID (atomic, consistent, isolated, durable) Transaction เพื่อให้เกิดความมั่นในว่าข้อมูลที่ส่งไปมีความถูกต้อง
- Data optimization capabilities มีการเพิ่มประสิทธิภาพของข้อมูลเช่น จัดกลุ่มข้อมูล (Clustering), การจัดเก็บข้อมูล (Caching) และการจัดการ index เพื่อความสะดวกรวดเร็วในการค้นหาและนำข้อมูลไปวิเคราะห์
- Concurrent read & write transactions ทำการประมวลผล อ่านและเขียนข้อมูลที่มาจากหลายช่องทางได้พร้อมกัน ในเวลาเดียวกัน
- Open storage formats and APIs มีเทคโนโลยีที่ช่วยจัดเก็บข้อมูลและมี API ที่ช่วยให้เข้าถึงข้อมูลได้ง่ายขึ้น
- Various data types and workloads สามารถเก็บข้อมูลหลายรูปแบบได้ รองรับการใช้ BI Tool และ Machine Learning
- End-to-end streaming วิเคราะห์และรายงานผลได้แบบ Real time ภายใต้พื้นที่จัดการเดียวกัน
จากข้อมูลด้านบนที่กล่าวมานั้น สรุปได้เป็นภาพ ตามด้านล่างนี้

เปรียบความแตกต่างหลักๆ ระหว่าง Data Warehouse และ Data Lakehouse ตามตารางนี้
Data Warehouse | Data Lakehouse | |
Data | ไฟล์ข้อมูลธุรกรรม การดำเนินการ ผลทางธุรกิจที่มีรูปแบบ Structured file | เป็นข้อมูล Raw file เช่น ไฟล์ภาพ, ไฟล์เสียง, วีดีโอ และไฟล์อื่นๆ หลายรูปแบบทั้ง Semi-Structured และ Unstructured โดยสามารถนำเข้าผ่าน data lake ได้เลย |
Data format | ข้อมูลที่นำเข้ามาแต่ละแหล่ง ต้องปรับให้เป็นโครงสร้างเหมือนกัน | ข้อมูลที่นำเข้ามาแต่ละแหล่ง สามารถนำเข้ามาได้เลย โดยไม่ต้องปรับเปลี่ยนโครงสร้างใหม่ |
Data Quality | ข้อมูลถูกประมวลผลเบื้องต้นก่อนจัดเก็บ กำจัดข้อมูลซ้ำซ้อน และข้อมูลที่ไม่ใช้ออกไปก่อน ทำให้การวิเคราะห์ข้อมูลทำได้ง่าย | การนำข้อมูลเข้าทั้งไฟล์ อาจจะมีข้อมูลซ้ำซ้อนปนกันอยู่ และบางอย่างไมได้ใช้งาน ใช้เวลาในการนำข้อมูลไปวิเคราะห์ เนื่องจากต้อง Transform ให้เป็นข้อมูล Structured ก่อน |
Data Access | ต้องใช้ SQL อย่างเดียวเพื่อจัดการข้อมูล | ใช้ Open API, SQL, Python |
Purpose | Business Analyst วิเคราะห์ข้อมูลตั้งแต่อดีตจนปัจจุบัน เพื่อทำนายรูปแบบข้อมูลธุรกิจที่จะเกิดขึ้นในอนาคต รวมถึงการทำ BI วิเคราะห์ข้อมูลธุรกิจเชิงลึก | Business Analyst วิเคราะห์ข้อมูลตั้งแต่อดีตจนปัจจุบัน เพื่อทำนายรูปแบบข้อมูลธุรกิจที่จะเกิดขึ้นในอนาคต รวมถึงการทำ Machine Learning วิเคราะห์ข้อมูลธุรกิจเชิงลึก |
ประสิทธิภาพการใช้งาน | นำข้อมูลมาใช้ได้รวดเร็ว เนื่องจากเป็น structured ลดเวลาในการค้นหาและปรับปรุงข้อมูลและง่ายต่อการทำความเข้าใจ | ต้อง Transform เป็น structured ก่อนนำไปใช้ จึงต้องใช้เวลา แต่การเก็บข้อมูลเป็นไฟล์จะได้ข้อมูลหลายๆ ส่วน สามารถดึงข้อมูลไปใช้ได้หลายด้าน |
Cost | ค่าใช้จ่ายสูงเนื่องจากต้องใช้พื่นที่สำหรับประมวลผลและจัดเก็บค่อนข้างเยอะ สิ้นเปลืองเวลาในการ Transform ข้อมูลก่อนจัดเก็บ | ค่าใช้จ่ายน้อย ใช้เวลาน้อยในการนำข้อมูลเข้า เนื่องจากนำเข้าเป็นไฟล์ได้เลยไม่ต้อง transform ก่อนจัดเก็บ, ข้อมูลมีความยืดหยุ่น |
User | ใช้ข้อมูลโดย Business Analysts/Data Scientists/Data Analysts | ใช้ข้อมูลโดย Data Scientist |
ถึงแม้ Data Analytics Platforms แต่ละแบบจะมีจุดที่แตกต่างกัน ก็ไม่ได้หมายความว่าแพลตฟอร์มที่เกิดขึ้นมาใหม่จะสามารถนำมาแทนที่แพลตฟอร์มแบบเก่าได้เสมอไป ขึ้นอยู่กับการนำไปใช้งานตามความเหมาะสมของธุรกิจ รวมไปถึงองค์ประกอบต่างๆ ที่แต่ละองค์กรมีอยู่ด้วยเช่นกัน
ที่มา:
https://ntcloudsolutions.ntplc.co.th/knowledge/data-warehouse/
https://www.databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html
https://yuthakarn.medium.com/what-is-data-a-lakehouse-55728ee4ced2
https://www.qlik.com/us/data-lake/data-lakehouse
https://www.systemsltd.com/blogs/connected-lakehouse-the-future-of-modern-data-warehousing-analytics