Bài viết kiến thức
Data Warehouse, Data Lake và Data Lakehouse khác nhau thế nào?
So sánh Data Warehouse, Data Lake và Data Lakehouse theo loại dữ liệu, schema, chi phí, người dùng và trường hợp sử dụng. Bảng so sánh và hướng dẫn chọn kiến trúc.
Định nghĩa ngắn gọn từng khái niệm
- Data Warehouse (kho dữ liệu)
- Kho lưu trữ tập trung dữ liệu đã tích hợp, có cấu trúc, phục vụ phân tích và ra quyết định [3]. Xem chi tiết: Data Warehouse là gì.
- Data Lake (hồ dữ liệu)
- Kho tập trung cho phép lưu
mọi dữ liệu có cấu trúc và phi cấu trúc ở mọi quy mô
[1]. Thuật ngữ được James Dixon, CTO của Pentaho, đặt ra vào đầu thập niên 2010 [4]. - Data Lakehouse
- Kiến trúc quản lý dữ liệu mở, kết hợp tính linh hoạt, hiệu quả chi phí và quy mô của data lake với khả năng quản lý dữ liệu và giao dịch ACID của data warehouse, cho phép chạy BI và ML trên toàn bộ dữ liệu [2]. Kiến trúc này được trình bày học thuật trong bài báo tại hội nghị CIDR 2021 [5].
Bảng so sánh Data Warehouse, Data Lake và Lakehouse
| Tiêu chí | Data Warehouse | Data Lake | Data Lakehouse |
|---|---|---|---|
| Loại dữ liệu | Có cấu trúc | Có cấu trúc, bán cấu trúc, phi cấu trúc | Tất cả các loại |
| Schema | Schema-on-write (định nghĩa trước khi nạp) | Schema-on-read (định nghĩa khi đọc) | Cả hai; có kiểm soát và tiến hóa schema |
| Định dạng lưu trữ | Định dạng riêng của engine | File mở (Parquet, JSON, CSV, ảnh, log…) | File mở + định dạng bảng mở (Delta Lake, Apache Iceberg, Apache Hudi) |
| Giao dịch ACID | Có | Thường không | Có (qua định dạng bảng mở) |
| Chất lượng dữ liệu | Cao, đã làm sạch | Thô, dễ thành “data swamp” nếu thiếu quản trị | Phân tầng Bronze → Silver → Gold [6] |
| Người dùng chính | Nhà phân tích nghiệp vụ, BI | Data engineer, data scientist | Cả BI và data science |
| Trường hợp sử dụng | Báo cáo tài chính, dashboard KPI | Lưu log, dữ liệu IoT, huấn luyện ML | BI + ML + streaming trên một nền tảng |
| Ví dụ công nghệ | Amazon Redshift, Google BigQuery, Snowflake | Amazon S3, Azure Data Lake Storage, Google Cloud Storage | Databricks, Microsoft Fabric Lakehouse, bảng Iceberg trên các engine hỗ trợ |
Ranh giới giữa các sản phẩm ngày càng mờ: nhiều data warehouse cloud đã đọc được định dạng bảng mở như Apache Iceberg, và nhiều lakehouse hỗ trợ SQL chuẩn kho dữ liệu.
Schema-on-write và schema-on-read là gì?
- Schema-on-write: cấu trúc bảng (cột, kiểu dữ liệu) được định nghĩa trước khi nạp. Dữ liệu sai cấu trúc bị từ chối. Ưu điểm: dữ liệu nhất quán, truy vấn nhanh. Nhược điểm: kém linh hoạt khi nguồn thay đổi.
- Schema-on-read: dữ liệu được lưu nguyên dạng, cấu trúc chỉ được áp khi đọc. Ưu điểm: nạp nhanh, giữ được dữ liệu thô cho nhu cầu tương lai. Nhược điểm: mỗi người đọc có thể hiểu dữ liệu khác nhau.
Vì sao Lakehouse ra đời?
Trước lakehouse, nhiều doanh nghiệp dùng kiến trúc 2 tầng: dữ liệu vào data lake trước, sau đó một phần được sao chép sang data warehouse để làm BI. Bài báo CIDR 2021 chỉ ra các vấn đề của mô hình này [5]:
- Dữ liệu cũ (staleness): kho dữ liệu chậm hơn data lake do thêm bước sao chép.
- Độ tin cậy: giữ hai hệ thống đồng bộ khó và tốn công.
- Tổng chi phí sở hữu cao: trả tiền lưu trữ hai lần.
- Phụ thuộc nhà cung cấp: dữ liệu trong định dạng độc quyền của kho.
- Hỗ trợ hạn chế cho ML: công cụ ML khó đọc trực tiếp dữ liệu trong kho.
Nên chọn Data Warehouse, Data Lake hay Lakehouse?
| Tình huống | Gợi ý |
|---|---|
| Nhu cầu chủ yếu là báo cáo tài chính, KPI; dữ liệu từ ERP/CRM có cấu trúc | Data Warehouse |
| Cần lưu khối lượng lớn log, ảnh, dữ liệu cảm biến với chi phí thấp, chưa rõ mục đích phân tích | Data Lake (kèm quản trị dữ liệu) |
| Cần BI và AI/ML trên cùng dữ liệu, muốn tránh sao chép giữa hai hệ thống | Data Lakehouse |
| Đội ngũ nhỏ, chủ yếu biết SQL | Data Warehouse cloud (serverless) |
Câu hỏi thường gặp
Data Lake và Data Warehouse khác nhau ở điểm nào quan trọng nhất?
Khác biệt quan trọng nhất là thời điểm áp schema: Data Warehouse áp schema trước khi nạp (schema-on-write) và chỉ chứa dữ liệu có cấu trúc đã làm sạch; Data Lake lưu dữ liệu thô mọi định dạng và áp schema khi đọc (schema-on-read).
Lakehouse có thay thế hoàn toàn Data Warehouse không?
Chưa có câu trả lời chung. Lakehouse giải quyết được nhiều hạn chế của kiến trúc hai tầng lake + warehouse, nhưng nhiều doanh nghiệp vẫn dùng data warehouse cloud cho BI vì đơn giản và quen thuộc. Lựa chọn phụ thuộc nhu cầu AI/ML, kỹ năng đội ngũ và chi phí.
Data swamp là gì?
Data swamp (đầm lầy dữ liệu) là data lake bị mất kiểm soát: thiếu metadata, thiếu quản trị và chất lượng, khiến người dùng không tìm được hoặc không tin dữ liệu bên trong.
Delta Lake, Apache Iceberg, Apache Hudi là gì?
Đây là các định dạng bảng mở (open table format) đặt trên file Parquet trong data lake, bổ sung giao dịch ACID, lịch sử phiên bản (time travel) và tiến hóa schema — nền tảng kỹ thuật của kiến trúc lakehouse.
Nguồn tham khảo
- Amazon Web Services. “What is a Data Lake?”. AWS. aws.amazon.com
- Databricks. “What is a Data Lakehouse?”. Databricks. www.databricks.com
- Amazon Web Services. “What is a Data Warehouse?”. AWS. aws.amazon.com
- Wikipedia. “Data lake”. Wikipedia. en.wikipedia.org
- Armbrust, M., Ghodsi, A., Xin, R. & Zaharia, M. (2021). “Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics”. CIDR 2021. www.cidrdb.org
- Databricks. “What is Medallion Architecture?”. Databricks. www.databricks.com