Bài viết kiến thức

Kimball và Inmon: Hai phương pháp xây dựng Data Warehouse

So sánh phương pháp Kimball (bottom-up, mô hình chiều), Inmon (top-down, 3NF) và Data Vault 2.0 trong thiết kế Data Warehouse. Ưu nhược điểm và khi nào nên dùng.

  • Tác giả:
  • Cập nhật:
  • 4 phút đọc
  • 4 nguồn tham khảo

Phương pháp Inmon là gì?

Bill Inmon đề xuất xây dựng một kho dữ liệu doanh nghiệp (Enterprise Data Warehouse – EDW) tập trung, mô hình hóa ở dạng chuẩn hóa (thường là dạng chuẩn 3 – 3NF), là nguồn duy nhất cho toàn tổ chức [1]. Các data mart cho từng phòng ban được tạo từ EDW (gọi là data mart phụ thuộc).

  • Hướng tiếp cận: từ trên xuống (top-down).
  • Ưu điểm: dữ liệu nhất quán toàn doanh nghiệp, ít trùng lặp, dễ thích ứng khi nghiệp vụ thay đổi.
  • Nhược điểm: thời gian và chi phí ban đầu lớn, cần mô hình dữ liệu doanh nghiệp tổng thể trước khi có báo cáo đầu tiên.

Phương pháp Kimball là gì?

Ralph Kimball đề xuất mô hình hóa chiều (dimensional modeling): dữ liệu được tổ chức thành bảng fact (số đo) và bảng dimension (ngữ cảnh mô tả) dạng star schema [4]. Kho dữ liệu là tập hợp các mô hình chiều theo từng quy trình nghiệp vụ, được gắn kết bằng conformed dimensions (dimension dùng chung, cùng định nghĩa) và enterprise bus matrix [2].

Quy trình thiết kế 4 bước của Kimball [2]:

  1. Chọn quy trình nghiệp vụ (business process).
  2. Khai báo grain — mức chi tiết của một dòng trong bảng fact.
  3. Xác định các dimension.
  4. Xác định các fact (số đo).
  • Hướng tiếp cận: từ dưới lên (bottom-up), theo từng giai đoạn.
  • Ưu điểm: ra kết quả nhanh, dễ hiểu với người dùng nghiệp vụ, truy vấn BI hiệu quả.
  • Nhược điểm: nếu không quản lý conformed dimensions chặt chẽ, dễ tạo ra các data mart rời rạc, số liệu lệch nhau.

Chi tiết kỹ thuật: Star schema, fact và dimension.

Bảng so sánh Kimball và Inmon

So sánh hai phương pháp kinh điển
Tiêu chíInmonKimball
Hướng tiếp cậnTop-downBottom-up
Mô hình kho lõiChuẩn hóa 3NFMô hình chiều (star schema)
Data martPhụ thuộc, sinh ra từ EDWLà một phần của kho, nối bằng conformed dimensions
Thời gian ra kết quả đầu tiênDàiNgắn
Chi phí ban đầuCaoThấp hơn
Mức độ dễ hiểu với nghiệp vụThấp (nhiều bảng chuẩn hóa)Cao
Phù hợp vớiTổ chức lớn, cần mô hình dữ liệu doanh nghiệp thống nhấtDự án cần giá trị nhanh, nhu cầu BI rõ ràng
Tài liệu gốcBuilding the Data Warehouse (1992)The Data Warehouse Toolkit (1996; tái bản lần 3 năm 2013)

Data Vault 2.0 là gì?

Data Vault do Dan Linstedt phát triển, được trình bày đầy đủ trong Building a Scalable Data Warehouse with Data Vault 2.0 [3]. Mô hình gồm 3 loại bảng:

Thành phần của Data Vault
Thành phầnChứa gìVí dụ
HubKhóa nghiệp vụ duy nhất của một thực thểMã khách hàng
LinkQuan hệ giữa các hubKhách hàng – Đơn hàng
SatelliteThuộc tính mô tả và lịch sử thay đổiTên, địa chỉ khách hàng theo thời gian

Data Vault phù hợp làm tầng tích hợp khi có nhiều nguồn thay đổi thường xuyên và yêu cầu kiểm toán (audit) cao; tầng trình bày cho BI vẫn thường dùng star schema.

Nên chọn Kimball, Inmon hay Data Vault?

  • Chọn Kimball nếu cần dashboard nhanh, phạm vi rõ, đội ngũ nhỏ.
  • Chọn Inmon nếu tổ chức lớn, nhiều hệ thống, cần một mô hình dữ liệu doanh nghiệp chuẩn.
  • Chọn Data Vault nếu nguồn dữ liệu nhiều và thay đổi liên tục, cần lưu vết đầy đủ.
  • Kết hợp (phổ biến nhất): tích hợp bằng 3NF/Data Vault, trình bày bằng star schema.

Câu hỏi thường gặp

Kimball và Inmon khác nhau như thế nào?

Inmon xây kho dữ liệu doanh nghiệp chuẩn hóa 3NF trước rồi tạo data mart phụ thuộc (top-down); Kimball xây các mô hình chiều star schema theo từng quy trình nghiệp vụ và nối chúng bằng conformed dimensions (bottom-up).

Conformed dimension là gì?

Conformed dimension là bảng dimension dùng chung, có cùng khóa, cùng tên thuộc tính và cùng ý nghĩa giữa nhiều bảng fact, giúp số liệu từ các quy trình nghiệp vụ khác nhau có thể so sánh và kết hợp.

Phương pháp nào phổ biến hơn hiện nay?

Mô hình chiều của Kimball được dùng rất rộng rãi ở tầng trình bày cho BI; nhiều kiến trúc hiện đại kết hợp tầng tích hợp theo Inmon hoặc Data Vault với tầng trình bày theo Kimball.

Nguồn tham khảo

  1. Inmon, W. H. (1992). Building the Data Warehouse. John Wiley & Sons.
  2. Kimball Group. “Dimensional Modeling Techniques”. Kimball Group. www.kimballgroup.com
  3. Linstedt, D. & Olschimke, M. (2015). Building a Scalable Data Warehouse with Data Vault 2.0. Morgan Kaufmann.
  4. Kimball, R. & Ross, M. (2013). The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (3rd ed.). John Wiley & Sons.

↑ Lên đầu trang