Blog

[Nhập môn Data Warehouse] Mô hình dữ liệu đa chiều

Data Warehouse và các hệ thông OLAP được xây dựng theo mô hình dữ liệu đa chiều (multi-dimensional model)

Kiến trúc khối (cube) OLAP

Dữ liệu trong kho dữ liệu được thể hiện dưới dạng đa chiều (Multi Dimension) gọi là khối (cube). Mỗi chiều mô tả một đặc trưng nào đó của dữ liệu. (Nếu số chiều dữ liệu lớn hơn 3, gọi là Hyper Cube)

1. Chiều (Dimension) và Độ đo (Measure)

  • Dimension: cung cấp các thông tin, ngữ cảnh cho bảng fact (Muốn truy cập số liệu data warehouse đều phải thông qua chúng).
    • Quy mô nhỏ hơn Fact.
    • Các dạng lưu trữ bảng dimension (Dim Types):
      • Type 0: Retain Original
      • Type 1: Overwrite
      • Type 2: Add new row
      •  Type 3: Add new attribute
      • Type 4: Add history table
      • Type 6: Hybrid
  • Measure: Là đại lượng có thể tính toán được trên các thuộc tính của fact table.
    • Đây là mục tiêu của OLAP và phải xác định trước khi tiến hành phân tích.
    • Ví dụ như tổng tiền bán hàng của một chi nhánh, doanh thu của từng mặt hàng theo quí,…

Ví dụ: với Data Cube bán hàng thì chiều hàng hóa (Product) mô tả chi tiết về hàng hóa, chiều thời gian (time) mô tả về thời gian bán hàng, và các độ đo (Số lượng, Doanh thu,…)

OLAP Data Cube Example

2. Cây phân cấp và số liệu tổng hợp

Mức độ chi tiết của các tiêu chí thể hiện cho người dùng được gọi là mức dữ liệu (data granularity), được quyết định bằng việc kết hợp các mức dữ liệu của từng cắt lớp.

DW Hierarchy Tree example

Ví dụ: Người dùng có thể lựa chọn mức độ chi tiết của số liệu:

  • Chiều hàng hoá(Product), có các mức: sản phẩm, loại sản phẩm, công nghiệp
  • Chiều thị trường, có các mức: khu vực, quốc gia, thành phố, địa điểm
  • Chiều thời gian, có các mức: năm, quý, tháng, tuần, ngàyOLAP Data Cube Example

Số liệu tổng hợp: Việc tổng hợp số liệu xảy ra khi người dùng thay đổi mức chi tiết của dữ liệu lấy ra từ cube, bằng cách duyệt qua cây phân cấp của cắt lớp.

Ví dụ: Nếu cắt lớp Thời gian  sử dụng ở mức quý thay vì mức ngày thì doanh số của quý sẽ được tổng hợp bằng phép cộng. Tương tự, dữ liệu ở mức Tất cả được tổng hợp bằng giá trị dữ liệu của tất cả các ngày.

Các qui luật tổng hợp số liệu, xem ở đây.

Mô hình thiết kế DW

1. OLAP kiểu quan hệ (Relational OLAP ~ ROLAP)

  • Lưu trữ dữ liệu trong cơ sở dữ liệu quan hệ (theo mô hình dữ liệu quan hệ)
  • Dùng câu lệnh SQL để thực hiện các tính năng của OLAP

2. OLAP kiểu đa chiều (Multi-dimensional OLAP ~ MOLAP)

  • Lưu trữ dữ liệu dưới dạng file có cấu trúc đặc thù (mảng,…)
  • Thực hiện các tính năng OLAP trên cấu trúc này

3. OLAP lai (Hybird OLAP ~ HOLAP = ROLAP + MOLAP)

  • Tận dụng khả năng lưu trữ của OLAP và khả năng xử lý của MOLAP.
  • Ví dụ:
    • Lưu dữ liệu chi tiết (details data) trên CSDL quan hệ.
    • Dữ liệu tổng hợp được lưu trên không gian MOLAP
ROLAPMOLAPHOLAP
Lữu trữ dữ liệu cơ sởBảng quan hệKhốiBảng quan hệ
Lưu trữ dữ liệu tổng hợpBảng quan hệKhốiKhối
Hiệu suất truy vấnChậmNhanhTrung bình
Không gian lữu trữNhỏLớnTrung bình
Chi phí bảo trìThấpCaoTrung bình

Các dạng lược đồ dữ liệu đa chiều

1. Lược đồ hình sao (Star Schema)

Bao gồm:

  • Bảng sự kiện (fact): theo dõi biến động dữ liệu
  • Các bảng chiều (dimension): mô tả các đặc trưng các chiều như thời gian, hàng hoá,…
DW Fact-Dimensions link
  • Khoá thay thế (Surrogate Key – SK):
    • Là khoá chính bảng chiều(dimension) thường có giá trị là kiểu số.
    • Thường được hệ thống DW sinh ra  (duy nhất) bằng các luồng ETL
    • Được sử dụng trong nội DW.
  • Khoá tự nhiên (Natural Key – NK):
    • Là khoá chính của dữ liệu trong các hệ thống nghiệp vụ.
Star Schema Example

2. Lược đồ bông tuyết (Snowflake Schema)

  • Giảm dư thừa dữ liệu bằng cách chuẩn hoá các bảng dimension.
  • Một thực thể dimension có phân cấp >> được phân thành nhiều bảng dữ liệu khác nhau (mỗi bảng một cấp).
Snowflake Schema Example

3. Lược đồ ánh sao (Starflake Schema)

  • Là sự kết hợp giữa lược đồ hình sao và bông tuyết.
  • Một số dimension được chuẩn hoá, một số khác thì không.
    • Phân cấp của Star Schema được denormalize,
    • Phân cấp của Snowflake Schema được chuẩn hoá (normalize).
Starflake Schema concept
  • Lược đồ ánh sao được chuẩn hoá để xoá bỏ dư thừa trong các bảng chiều. Các phân cấp chiều dùng chung được đặt trong outriggers.
Starflake Schema Example

4. Lược đồ chòm sao (Constellation Schema)

  • Các bảng fact dùng chung dimension với nhau
Constellation Schema Example

Đánh giá: 

  • Với lược đồ hình sao, phép JOINS được giảm thiều, Thao tác QUERY nhanh hơn, nhưng kích thước bảng Fact lớn
  • Với lược đồ bông tuyết, dữ liệu phân tán, dễ dàng lấy dữ liệu fact-less. Nhiều phép JOINS, thao tác QUERY chậm hơn.

Lược đồ hình sao tốt hơn, nhưng trong thực tế rất khó để xây dựng ứng dụng với Star Schema.

>> Đọc thêm:

KHOÁ HỌC TRUY VẤN VÀ THAO TÁC DỮ LIỆU SQL TỪ CƠ BẢN ĐẾN NÂNG CAO

KHÓA HỌC DATA WAREHOUSE : TỔNG HỢP, CHUẨN HÓA VÀ XÂY DỰNG KHO DỮ LIỆU TRONG DOANH NGHIỆP

KHÓA HỌC DATA MODEL – THIẾT KẾ MÔ HÌNH DỮ LIỆU TRONG DOANH NGHIỆP

LỘ TRÌNH TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU

DATA ENGINEER LÀ GÌ? CÔNG VIỆC CHÍNH CỦA DATA ENGINEER? CÁC KỸ NĂNG CẦN THIẾT

Leave a Reply

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