Blog

DATA WAREHOUSE CÁC DẠNG LƯU TRỮ BẢNG CHIỀU (DIMENSION)

Bảng chiều dimension cung cấp thông tin, ngữ cảnh cho bảng fact. Dù có quy mô nhỏ hơn fact nhiều lần, nhưng dimension là trọng tâm của Data Warehouse, vì nếu thiếu nó, các số liệu trong fact sẽ không mang lại nhiều ý nghĩa cho người dùng.

Khi có sự thay đổi trong một bản ghi của dimension, Data Warehouse phải cập nhật sự thay đổi đó.

Data warehouse example. What is a data warehouse? Hurree.

Type 0: Retain Original

Đây là phương thức thụ động. Khi có sự tứ thay đổi trên dimension, không có hành động nào xảy ra trên Data Warehouse. Giá trị chiều được giữ nguyên như tại thời thời điểm bản ghi được thêm vào lần đầu tiên.

Loại bảng chiều này hiếm khi được sử dụng.

Type 1: Overwrite

Ghi đè dữ liệu cũ, không theo dõi dữ liệu lịch sử. Ví dụ:

Supplier_KeySupplier_CodeSupplier_NameSupplier_State
123ABCInda CoHCM

Khi Nhà cung cấp đổi địa điểm (Hồ Chí Minh -> Hà Nội). Dữ liệu được cập nhật như sau:

Supplier_KeySupplier_CodeSupplier_NameSupplier_State
123ABCInda CoHN

Ưu điểm: Dễ bảo trì.

Nhược điểm: Không kiểm tra được dữ liệu lịch sử.

Type 2: Add new row

Theo dõi  dữ liệu lịch sử bằng cách tạo nhiều bản ghi cho một khoá tự nhiên trong bản chiều (phân biệt bằng khoá tự nhiên hoặc số phiên bản)

Ưu điểm: Lưu trữ giá trị lịch sử không giới hạn.

  • Dùng versions
Supplier_KeySupplier_CodeSupplier_NameSupplier_StateVersion.
123ABCInda CoHCM0
124ABCInda CoHN1
  • Dùng effective_date
Supplier_KeySupplier_CodeSupplier_NameSupplier_StateStart_DateEnd_Date
123ABCInda CoHCM2000-01-012005-01-02
124ABCAcme Supply CoHN2005-01-029999-12-31
  • Dùng effective_date, flag
Supplier_KeySupplier_CodeSupplier_NameSupplier_StateEffective_DateCurrent_Flag
123ABCInda CoCA2000-01-01N
124ABCInda CoIL2005-01-02Y

Type 3: Add new attribute

Phương pháp này theo dõi sự thay đổi bằng cách sử dụng các cột riêng biệt.

Lưu trữ giá trị lịch sự một cách giới hạn vì giới hạn ở số cột lưu trữ dữ liệu lịch sử.

Supplier_KeySupplier_CodeSupplier_NameOriginal_Supplier_StateEffective_DateCurrent_Supplier_State
123ABCInda CoHCM2005-01-02HN

Bản ghi chứa 1 cột cho giá trị ban đầu, và một cột cho giá trị hiện tại –> Không thể theo dõi lịch sử biến đổi nếu có nhiều lần thay đổi.

Type 4: Add history table

Phương pháp này sử dụng các bảng lịch sử history table. Bao gồm:

  • Một bảng lưu trữ giá trị hiện tại
  • Một bảng lữu trữ tất cả thay đổi

Surrogate Key trên 2 bảng này đều được tham chiếu tới fact để tăng cường hiệu quả truy vấn.

Supplier_keySupplier_CodeSupplier_NameSupplier_State
124ABCInda CoHN

Bảng lịch sử:

Supplier_keySupplier_CodeSupplier_NameSupplier_StateCreate_Date
123ABCInda CoHCM2000-01-01
124ABCInda CoHN2015-01-02

Type 6: Hybrid

Kết hợp cách tiếp cận từ loại 1,2,3 (6=1+2+3)

Khi bản ghi lần đầu tiên được thêm vào. Giá trị lich sử và giá trị hiện tại giống nhau.

Supplier_KeyRow_KeySupplier_CodeSupplier_NameCurrent_StateHistorical_StateStart_DateEnd_DateCurrent_Flag
1231ABCInda CoHCMHCM2000-01-019999-12-31Y

Khi Supplier State thay đổi:

  • Ghi đề current_flag của row 1 (Type 1)
  • Tạo bản ghi mới để theo dõi sự thay đổi (Type 2)
  • Lưu trữ giá trị lịch sử trong cột historical_state (Type 3)
Supplier_KeyRow_KeySupplier_CodeSupplier_NameCurrent_StateHistorical_StateStart_DateEnd_DateCurrent_Flag
1231ABCInda CoHCMHCM20012005-01-02N
1232ABCInda CoHNHCM2005-01-029999-12-31Y

Nguồn: Internet

Chúng tôi chuyên cung cấp những khoá học về Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!

    LIÊN HỆ VỚI CHÚNG TÔI ĐỂ NHẬN ĐƯỢC TƯ VẤN MIỄN PHÍ
    Xin vui lòng điền vào form dưới đây. Chúng tôi sẽ liên hệ lại ngay cho bạn khi nhận được thông tin:






    Leave a Reply

    Your email address will not be published. Required fields are marked *