04

Kỹ sư dữ liệu · Bước 4/8 · 8 phút

Kho dữ liệu, data lake và lakehouse

Biết dữ liệu nằm ở đâu, mỗi kiểu lưu trữ mạnh ở điểm nào, và những từ nhà tuyển dụng hay dùng.

Kho dữ liệu

Kho dữ liệu (data warehouse) là cơ sở dữ liệu xây cho phân tích. Nó lưu bảng có cấu trúc và chạy truy vấn lớn rất nhanh vì lưu dữ liệu theo cột thay vì theo dòng. Các kho dữ liệu cloud phổ biến là Snowflake, Google BigQuery, Amazon Redshift và Azure Synapse hoặc Microsoft Fabric.

Bạn trả tiền cho lưu trữ và cho sức tính toán. Một truy vấn viết ẩu trên bảng khổng lồ có thể tốn tiền thật, nên hãy học cách lọc theo partition và chỉ chọn những cột cần dùng.

Data lake

Data lake (hồ dữ liệu) là kho lưu trữ đối tượng giá rẻ, như Amazon S3, Azure Data Lake Storage hay Google Cloud Storage, chứa file đủ loại. Dữ liệu phân tích trong lake thường lưu dạng Parquet, một định dạng file theo cột.

Lake linh hoạt và rẻ, nhưng file thuần không có transaction hay quy tắc schema. Nếu không cẩn thận, lake thành đầm lầy: rất nhiều file mà không ai tin.

Lakehouse

Lakehouse thêm các tính năng của kho dữ liệu lên trên file trong lake, nhờ một định dạng bảng mở (open table format). Ba cái tên chính là Apache Iceberg, Delta Lake và Apache Hudi. Chúng bổ sung transaction, thay đổi schema và time travel, tức là truy vấn bảng như nó từng là hôm qua.

Năm 2026, các nền tảng lớn đều hỗ trợ ít nhất một trong các định dạng này, và Iceberg nói riêng được nhiều engine đọc được. Nhờ vậy dữ liệu của bạn ít bị khoá chặt vào một nhà cung cấp.

Các tầng bên trong kho

Phần lớn các đội chia dữ liệu thành tầng: dữ liệu thô như lúc mới đến, dữ liệu đã làm sạch và ghép nối, và các bảng sẵn sàng cho kinh doanh. Có nơi gọi là bronze, silver và gold. Tên gọi không quan trọng bằng quy tắc: không bao giờ sửa tầng thô, để bạn luôn dựng lại được các tầng còn lại.

Thử ngay

Truy vấn file Parquet miễn phí

  1. 1.Mở lại shell.duckdb.org.
  2. 2.Nhờ chatbot gợi ý một URL file Parquet công khai, hoặc dùng một ví dụ trong tài liệu DuckDB.
  3. 3.Chạy SELECT * FROM 'url-đó' LIMIT 10, rồi một truy vấn GROUP BY.
  4. 4.Để ý rằng bạn vừa truy vấn thẳng một file, không cần dựng cơ sở dữ liệu. Đó là ý tưởng data lake thu nhỏ.
Một định dạng bảng mở như Apache Iceberg thêm gì cho file trong data lake?

Tự kiểm tra

Một định dạng bảng mở như Apache Iceberg thêm gì cho file trong data lake?