Medallion là cách chia dữ liệu trong lakehouse thành ba tầng, mỗi tầng sạch và gần nghiệp vụ hơn tầng trước.
| Tầng | Chứa gì | Ví dụ |
|---|---|---|
| Bronze | Dữ liệu thô, giữ nguyên như nguồn, chỉ thêm thời điểm nạp | JSON event từ Kafka, bản dump bảng orders |
| Silver | Đã làm sạch, bỏ trùng, đúng kiểu, chuẩn hoá khoá | Bảng orders mỗi đơn một dòng, timestamp thống nhất một múi giờ |
| Gold | Mô hình phục vụ một mục đích cụ thể, thường denormalize | daily_revenue_by_region, bảng feature cho model |
Vì sao chia tầng:
- Chạy lại được: logic silver sai thì tính lại từ bronze, không phải lấy lại từ nguồn (nguồn có thể đã xoá hoặc đổi).
- Tách trách nhiệm: lỗi nằm ở tầng nào thì biết sửa ở đâu; nhóm khác nhau có thể dùng lại chung tầng silver.
- Kiểm soát quyền: tầng bronze có thể chứa dữ liệu cá nhân chưa che, chỉ mở quyền hẹp; người dùng BI chỉ đọc gold.
Lưu ý: ba tầng là quy ước, không phải luật. Đừng dựng đủ ba tầng cho một nguồn đơn giản chỉ vì "chuẩn medallion", vì mỗi tầng thêm chi phí lưu trữ và một job phải vận hành. Câu hỏi nên trả lời được là: dữ liệu đi giữa các tầng bằng job nào, chạy khi nào, và chạy lại ra sao.