Bỏ qua

SCD2, SCD4A, Fact Append, Fact Snapshot

🔴 Rất quan trọng · Data Platform


SCD2 (Slowly Changing Dimension Type 2)

Mục đích: Lưu lại toàn bộ lịch sử thay đổi của dimension.

Cách hoạt động: Khi giá trị thay đổi, không UPDATE bản ghi cũ mà thêm bản ghi mới.

customer_id name city eff_dt end_dt rec_st
101 Nguyễn Văn A Hà Nội 2024-01-01 2025-06-30 0
101 Nguyễn Văn A HCM 2025-07-01 9999-12-31 1

Trong Delta Lake: dùng MERGE với WHEN MATCHED → close record + INSERT new record.

👉 Xem chi tiết: SCD2 Compare-based – Chi tiết các bước


SCD4A (History Table)

Mục đích: Tách bảng hiện tại và bảng lịch sử riêng.

  • Bảng current: Chỉ giữ bản mới nhất, UPDATE trực tiếp → query nhanh
  • Bảng history: Mỗi thay đổi INSERT thêm → phục vụ audit

Lợi thế: Bảng current nhỏ gọn. Bảng history chỉ dùng khi cần audit/phân tích.


Fact Append

Mục đích: Chỉ thêm dữ liệu mới, không bao giờ sửa dữ liệu cũ.

Ví dụ: Bảng giao dịch (transactions). Mỗi giao dịch mới được INSERT, không ai sửa giao dịch đã xảy ra.

Đặc điểm: Append-only, không cần MERGE. Đơn giản và nhanh nhất.


Fact Snapshot

Mục đích: Chụp lại toàn bộ trạng thái của dữ liệu tại một thời điểm.

Ví dụ: Mỗi ngày chụp lại toàn bộ số dư tài khoản. Nhờ đó, ta biết số dư của KH X vào ngày bất kỳ.

Đặc điểm: Dữ liệu lớn (mỗi ngày = 1 bản sao), nhưng rất hữu ích cho phân tích xu hướng, so sánh theo thời gian.

Comments