Lê Duy Khương (Daniel)

Chuỗi: lakehouse-glossary · Phần 7

Năng suất & công cụ dev

Định dạng bảng và quản lý metadata

Định dạng bảng và metadata trong Lakehouse: Delta, Iceberg, Hudi. ACID, time travel, schema evolution, tối ưu metadata.

2026-03-173 phút đọcVI


1. Mục tiêu

  • Đảm bảo tính transactional (ACID) trên Lakehouse
  • Hỗ trợ schema evolution, time travel, merge
  • Tăng tốc truy vấn bằng metadata optimization
  • Giảm rủi ro sai lệch dữ liệu khi ghi song song

2. 3 định dạng bảng Lakehouse chính

FormatƯu điểm chínhGiới hạn
Delta LakeACID, time travel, schema evolution, Z-orderTốt nhất với Spark
Apache IcebergTable-level optimization, hidden partitioning, strong schema evolutionNặng metadata
Apache HudiReal-time write/update/delete (upsert), hỗ trợ CDC tốtTích hợp kém hơn với Trino

3. Tính năng cốt lõi của table format hiện đại

Tính năngDelta LakeIcebergHudi
ACID Transaction
Time TravelMột phần
Schema Evolution
Compaction & ClusteringCó (Z-Order)
Upsert / Merge
Metadata Table (Queryable)Một phần
Streaming Support
Trino/Presto IntegrationMột phần

4. Cách sử dụng Delta Lake (ví dụ cụ thể)

Tạo bảng Delta

CREATE TABLE delta.`/lake/silver/customers` (
  id STRING,
  name STRING,
  age INT
) USING DELTA
PARTITIONED BY (age)

Thêm dữ liệu và merge

MERGE INTO customers
USING updates
ON customers.id = updates.id
WHEN MATCHED THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *

Truy vấn theo thời gian

SELECT * FROM customers TIMESTAMP AS OF '2023-12-01'

5. Metadata Optimization

  • Metadata file (JSON, manifest, snapshot…) cần được compact và làm sạch thường xuyên
  • Có thể query metadata bằng SQL: DESCRIBE HISTORY, SHOW VERSIONS
Tác vụTool hỗ trợ
Optimize metadataVACUUM, OPTIMIZE, REWRITE MANIFEST
Kiểm tra versionDESCRIBE HISTORY
Xóa bản cũVACUUM RETAIN 7 HOURS

6. Khi nào dùng định dạng nào?

Use CaseĐề xuất Table Format
Dự án chủ yếu dùng SparkDelta Lake
Dự án đa công cụ (Spark + Trino)Iceberg
Có yêu cầu real-time CDCHudi
Tập trung truy vấn thời gianDelta Lake / Iceberg

7. Gợi ý triển khai thực tế

DatasetTable FormatGhi chú triển khai
TransactionsDelta LakePartition theo month, merge updates
Customer ProfileDelta LakeLưu lịch sử thay đổi, truy vấn theo thời gian
Collection LogsHudiCập nhật nhiều, tích hợp real-time
CDP Event TrackingIcebergNhiều hệ truy vấn, query tốc độ cao

8. Quản lý schema & metadata theo chuẩn

  • Tạo schema registry riêng cho từng domain
  • Gắn table owner, table version, last modified
  • Tự động sync với Data Catalog (ví dụ: Amundsen, DataHub)

9. Checklist triển khai

  • Chọn định dạng bảng phù hợp với workload
  • Áp dụng ACID transaction cho critical data
  • Tối ưu metadata định kỳ (vacuum, optimize)
  • Kết nối table format với layer BI (Trino, Power BI)
  • Tạo alert khi schema bị thay đổi đột ngột

Kết luận

Việc lựa chọn và quản lý table format đúng cách giúp bạn biến Lakehouse thành một Data Warehouse thế hệ mới, vừa linh hoạt như Data Lake, vừa ổn định, truy vấn mạnh như DWH truyền thống.

LDK

Le Duy Khuong

AI Transformation & Digital Strategy. Writing about agentic systems, engineering leadership, and building in public.