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.

  • Tác giả:
  • Cập nhật:
  • 4 phút đọc
  • 6 nguồn tham khảo

Đị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

So sánh 3 kiến trúc lưu trữ dữ liệu phân tích
Tiêu chíData WarehouseData LakeData Lakehouse
Loại dữ liệuCó cấu trúcCó cấu trúc, bán cấu trúc, phi cấu trúcTất cả các loại
SchemaSchema-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 engineFile mở (Parquet, JSON, CSV, ảnh, log…)File mở + định dạng bảng mở (Delta Lake, Apache Iceberg, Apache Hudi)
Giao dịch ACIDCóThường khôngCó (qua định dạng bảng mở)
Chất lượng dữ liệuCao, đã làm sạchThô, 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ínhNhà phân tích nghiệp vụ, BIData engineer, data scientistCả BI và data science
Trường hợp sử dụngBáo cáo tài chính, dashboard KPILưu log, dữ liệu IoT, huấn luyện MLBI + ML + streaming trên một nền tảng
Ví dụ công nghệAmazon Redshift, Google BigQuery, SnowflakeAmazon S3, Azure Data Lake Storage, Google Cloud StorageDatabricks, 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?

Gợi ý lựa chọn theo tình huống
Tình huốngGợ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úcData 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íchData 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ốngData Lakehouse
Đội ngũ nhỏ, chủ yếu biết SQLData 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

  1. Amazon Web Services. “What is a Data Lake?”. AWS. aws.amazon.com
  2. Databricks. “What is a Data Lakehouse?”. Databricks. www.databricks.com
  3. Amazon Web Services. “What is a Data Warehouse?”. AWS. aws.amazon.com
  4. Wikipedia. “Data lake”. Wikipedia. en.wikipedia.org
  5. 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
  6. Databricks. “What is Medallion Architecture?”. Databricks. www.databricks.com

↑ Lên đầu trang