Blog

Thiết kế mô hình dữ liệu (Data model) trong kho dữ liệu

Trong thiết kế kho dữ liệu thì người ta dùng 2 khái niệm là độ đo (measure) và chiều phân tích (dimension) và vẫn dùng mô hình cơ sở dữ liệu quan hệ để biểu diễn, trong đó:

  • Bảng sự kiện (Fact) sẽ được tạo ra để chứa các độ đo
  • Bảng chiều (demension) được dùng để chứa thông tin về các chiều phân tích, bảng sự kiện sẽ có mối quan hệ với bảng chiều tương ứng.

Cụ thể có 3 mô hình biểu diễn quan hệ giữa bảng sự kiện và bảng chiều như sau:

Mô hình ngôi sao (star schema)

Trong mô hình này, một bảng sự kiện sẽ nằm ở trung tâm và xung quanh là các bảng chiều (Figure 2 bên trái), vì hình ảnh này giống một ngôi sao đang phát sáng nên người ta đặt cho nó tên là mô hình ngôi sao (Figure 2 bên phải).

Figure 2 Ví dụ về mô hình ngôi sao (Nguồn Data Mining: Jiawei Han and Micheline Kamber, Concepts and Techniques, Second Edition, 2006)

Ở trong ví dụ trong Figure 2, bảng sự kiện chứa thông tin bán hàng với các độ đo: số lượng bán được (unit sold), số tiền thu được (dollars sold) và trung bình doanh thu (average sale). Bảng sự kiện này có liên kết với 4 bảng chiều: thời gian (time), chi nhánh cửa hàng (branch), mặt hàng (item) và vị trí cửa hàng (location).

Đặc điểm của mô hình ngôi sao là chỉ có 1 cấp quan hệ giữa bảng chiều và bảng sự kiện do đó khi truy xuất dữ liệu thì các hệ quản trị CSDL sẽ xử lý nhanh hơn và trả lại kết quả nhanh hơn. Nhưng nhược điểm của phương pháp này là một số bảng chiều chưa được chuẩn hóa. Ví dụ như bảng chiều vị trí, trong đó nó không được chuẩn hóa theo mô hình cơ sở dữ liệu.

Trong bảng này nhiều dữ liệu bị lặp lại ví dụ toàn bộ các trường city, state_or_province, và country sẽ bị lặp trên các dòng có trùng city. Việc dữ liệu không được chuẩn hóa sẽ không đảm bảo được sự nhất quán về dữ liệu.

Khi dữ liệu thay đổi ví dụ người ta đổi tên city, có thể quá trình cập nhật sẽ bị sót do rất nhiều dòng cần phải cập nhật. Ngoài ra dữ liệu lặp sẽ làm tăng không gian lưu trữ, ảnh hưởng đến tiến trình sao lưu, đồng bộ dữ liệu.

Một chủ đề phân tích có thể được biểu diễn bằng một hoặc nhiều “ngôi sao”.

Mô hình bông tuyết (snowflake)

Mô hình bông tuyết khắc phục nhược điểm của mô hình ngôi sao ở khía cạnh dữ liệu không được chuẩn hóa. Do đó nó cho phép các bảng chiều được chuẩn hóa (tùy theo trường hợp mà nó có thể chuẩn hóa đến chuẩn 3 Boyce–Codd).  

Vì sau khi chuẩn hóa các bảng chiều, nó có hình dạng giống một bông tuyết (Figure 3 bên phải), đây là lý do nó có tên như vậy.

Figure 3 Mô hình bông tuyết (Nguồn Data Mining: Jiawei Han and Micheline Kamber, Concepts and Techniques, Second Edition, 2006)

Figure 3 minh họa mô hình bông tuyết trong đó bảng location đã được chuẩn hóa, do thiếu không gian nên ở hình này chỉ vẽ được đến bảng city (trong đó có chứa khóa state_or_province_key) để liên kết với bảng state_or_province, tiếp tục bảng state_or_province lại có quan hệ với bảng country (nếu muốn chuẩn hóa đến chuẩn 3).

Tuy nó khắc phục được nhược điểm của mô hình chòm sao, nhưng nó lại phá mất ưu điểm của mô hình ngôi sao là tốc độ xử lý dữ liệu khi nó phải liên kết nhiều bảng với nhau để lấy dữ liệu.

Tương tự với mô hình ngôi sao, một chủ đề phân tích có thể được biểu diễn bằng một hoặc một vài bông tuyết.

Mô hình chòm sao (constellation)

Mô hình chòm sao tiếp tục là sự mở rộng mô hình bông tuyết, trong đó nó cho phép các bảng sự kiện có thể sử dụng chung các bảng chiều. Khi đó các bảng sự kiện và bảng chiều sẽ tạo ra mối quan hệ giống như một đồ thị – và một hình ảnh rất giống với mối quan hệ này là chòm sao (Figure 3 bên phải).

Figure 4 Mô hình chòm sao (Nguồn Data Mining: Jiawei Han and Micheline Kamber, Concepts and Techniques, Second Edition, 2006)

Trong ví dụ ở Figure 4, khi bổ sung thêm vào bảng sự kiện Giao hàng (shipping), khi đó bảng sự kiện này sẽ có nhu cầu sử dụng chiều location, item, time.

Việc sử dụng chung chiều có ưu điểm là rút gọn được số lượng bảng chiều. Nhưng việc làm này sẽ ảnh hưởng lớn đến quá trình ETL dữ liệu.

Giả sử hệ thống quản lý bán hàng là tách biệt với hệ thống quản lý giao hàng, khi đó cần phải lấy thông tin từ cả 2 nguồn dữ liệu để đẩy vào bảng chiều chung là location.

Nhược điểm của mô hình chòm sao là phức tạp, khó sử dụng và cần đọc tài liệu hướng dẫn thì mới có thể hiểu và lấy được thông tin cần từ Kho dữ liệu. Các công đoạn khác như  ETL cũng sẽ phức tạp hơn so với các mô hình khác.

Vì đặc điểm mô hình này phức tạp nên một số sách có thể không đề cập giới thiệu mô hình này.

Với các mô hình biểu diễn sẽ có các ưu điểm và nhược điểm riêng, nên người thiết kế phải chịu trách nhiệm lựa chọn mô hình nào phù hợp.

>> Đọc thêm:

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

KHOÁ HỌC BIGQUERY FOR DATA ANALYTICS / MACHINE LEARNING

Chúng tôi có 12 năm kinh nghiệm về cung cấp dịch vụ Tư vấn, triển khai kho dữ liệu và các Khóa học Data Warehouse/ETL: Xây dựng kho dữ liệu từ cơ bản đến nâng cao.

Hãy liên hệ với chúng tôi để được biết thêm chi tiết.

    LIÊN HỆ VỚI CHÚNG TÔI ĐỂ NHẬN ĐƯỢC GIÁO TRÌNH CHI VIẾT VÀ 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 *