You are on page 1of 7

Kimball’s DW/BI Architecture

I. Giới thiệu
Năm 1996 – Ralph Kimball đã phát hành cuốn  Bộ công cụ kho dữ liệu: Hướng dẫn
hoàn chỉnh về mô hình hóa chiều (The Data Warehouse Toolkit) đây là cuốn mà cũng đã
được phát hành lại rất nhiều lần, và bán rất chạy trên thị trường và với phương pháp chủ
đạo là dimensional (star schema hoặc snowflake).

Dữ liệu có thể lưu trữ dưới dạng OLAP trong thiết kế Kimball hay còn có tên khác đó
là star schema. Kimball là một trong ba phương pháp luận khi thiết kế 1 data warehouse:
Inmon, Kimball và Data Vault) hoặc là dữ liệu có thể lưu trữ bằng các công nghệ
NoQuery như là HBase, Cassandra, …Kimball là một trong ba phương pháp luận khi
thiết kế 1 data warehouse (gồm Inmon, Kimball và Data Vault) hoặc là dữ liệu có thể lưu
trữ bằng các công nghệ NoQuery như là HBase, Cassandra, …

Kimball và Inmon đã đi theo hai trường phái khác nhau - nhưng ngày nay sự phổ
biến của Data Mart và Dimemsional (Kimball) nhiều hơn là Enterprise Warehouse
(Inmon). Có lẽ là vì Enterprise Warehouse hơi khó hiểu và khó vận hành hơn cho các nhà
tư vấn, cùng với các IT.

Hướng tiếp cận của Kimball cho rằng nên xây dựng dựa theo các quy trình kinh
doanh, các data mart được tạo ra có liên quan đến các lĩnh vực cụ thể. Kho dữ liệu là sự
tổng hợp của các data mart riêng lẻ trong tổ chức. Kimball đã phát biểu vào năm 1997:
"Kho dữ liệu không gì khác hơn là sự kết hợp của tất cả các data mart"

II. Các thành phần trong kiến trúc DW/BI của Kimball
Như hình bên dưới, kiến trúc DW/BI của Kimball gồm có 4 thành phần riêng biệt cần
xem xét:
- Hệ thống nguồn hoạt động (Operational source systems)
- Hệ thống ETL (ETL system)
- Khu vực trình bày dữ liệu (Data presentation area)
- Các ứng dụng trí tuệ kinh doanh (Business intelligence applications)
Các thành phần cốt lõi trong kiến trúc DW/BI Kimball

1. Hệ thống nguồn hoạt động (Operational source systems)


Hệ thống này hoạt động để ghi lại các giao dịch của tổ chức. Có thể xem như các hệ
thống này nằm bên ngoài kho dữ liệu vì ta sẽ không kiểm soát nội dung và định dạng của
dữ liệu trong các hệ thống này. Ưu tiên chính của hệ thống này chính là hiệu suất xử lý và
tính khả dụng. Hệ thống nguồn hoạt động cũng sẽ ít duy trì dữ liệu lịch sử, mà thay vào
đó kho dữ liệu sẽ đảm nhận trách nhiệm này. Hệ thống có thể là các ứng dụng có mục
đích cụ thể (ví dụ về quản lý sản phẩm, khách hàng,...) hoặc một hệ thống lập kế hoạch
nguồn lực doanh nghiệp (ERP) hoặc hệ thống quản lý dữ liệu chủ vận hành.

2. Hệ thống ETL (ETL system)


Hệ thống trích xuất, chuyển đổi và tải (ETL) bao gồm một vùng làm việc, các cấu
trúc dữ liệu khởi tạo và một tập hợp các quy trình. Hệ thống ETL là sự kết hợp giữa các
hệ thống nguồn hoạt động và khu vực trình bày.
Rút trích (Extract): là bước đầu tiên để đưa dữ liệu vào kho dữ liệu. Rút trích nghĩa là
đọc và hiểu dữ liệu nguồn và sao chép các dữ liệu cần thiết vào hệ thống ETL.
Chuyển đổi (Transformation): sau khi dữ liệu đã được rút trích sang hệ thống ETL, ta
có nhiều cách để chuyển đổi dữ liệu, hay còn gọi là làm sạch dữ liệu (ví dụ như sửa lỗi
chính tả, giải quyết xung đột miền, xử lý các phần tử bị thiếu hoặc phân tích các định
dạng chuẩn), kết hợp dữ liệu từ nhiều nguồn và loại bỏ trùng lặp dữ liệu. Giá trị dữ liệu
được tăng thêm sau khi đã được làm sạch. Các hoạt động trong hệ thống ETL còn có thể
được xây dựng để tạo siêu dữ liệu chẩn đoán, từ đó có thể tái cấu trúc các quy trình
nghiệp vụ và cải thiện chất lượng dữ liệu trong hệ thống nguồn.
Tải (Load): tiến hành tải dữ liệu vào các mô hình chiều theo từng mục đích trên khu
vực trình bày là bước cuối cùng của ETL.
Nhiệm vụ chính của hệ thống ETL là cung cấp các bảng chiều (dimension tables) và
bảng sự kiện (fact tables) cho bước tiếp theo. Khi các bảng chiều và bảng sự kiện trong
mô hình chiều đã được cập nhật, lập chỉ mục, dữ liệu được tổng hợp và làm sạch, sẽ được
xem như dữ liệu mới đã được phát hành.
Tuy nhiên, vẫn còn những băn khoăn trong ngành về việc dữ liệu có nên được chuẩn
hóa trước khi tải vào khu vực trình bày để truy vấn hay không. Vì sau khi xác định các
mối quan hệ dữ liệu (một-một, một-nhiều), việc thực hiện chuẩn hóa 3NF có thể là vô
nghĩa. Có những trường hợp dữ liệu vào hệ thống ETL đã ở định dạng 3NF, lúc này các
nhà phát triển sẽ dễ dàng hơn khi thực hiện làm sạch và chuyển đổi bằng cách sử dụng
các cấu trúc chuẩn hóa.
Mặc dù một cơ sở dữ liệu đã chuẩn hóa cho quy trình ETL có thể được chấp nhận,
nhưng vẫn còn một số e ngại, việc tạo cấu trúc chuẩn hóa cho ETL và tạo cấu trúc chiều
sẽ dẫn đến việc dữ liệu có khả năng được rút trích, chuyển đổi và tải 2 lần - một lần vào
cơ sở dữ liệu chuẩn hóa và sau đó là tải vào mô hình chiều. Quy trình 2 bước này đòi hỏi
nhiều thời gian và đầu tư hơn để phát triển. Nhiều thời gian để tải hoặc cập nhật dữ liệu
định kỳ và nhiều dung lượng để lưu trữ nhiều bản sao của dữ liệu. Điều này thường đẫn
đến nhu cầu phát triển và hỗ trợ liên tục, cần ngân sách về phần cứng. Dù tính nhất quán
dữ liệu là mục tiêu cơ bản trong môi trường DW/BI, vẫn có thể có những cách hiệu quả
và ít tốn kém hơn việc tập trung vào chuẩn hóa trong hệ thống ETL.
 Có thể chấp nhận việc tạo cơ sở dữ liệu chuẩn hóa để hỗ trợ các quy trình ETL; tuy
nhiên, đây không phải là mục tiêu cuối cùng. Các cấu trúc chuẩn hóa cần không có giới
hạn đối với các truy vấn của người dùng vì chúng phải đạt được mục tiêu kép là khả năng
hiểu và hiệu suất.

3. Khu vực trình bày để hỗ trợ BI (Data presentation area)


Đây là nơi dữ liệu được sắp xếp, lưu trữ và cung cấp cho người dùng hoặc các ứng
dụng BI phân tích dùng truy vấn trực tiếp. Khu vực trình bày là môi trường DW/BI cũng
như là nơi các công việc chính được thực hiện mà người dùng quan tâm đến, nó là những
gì doanh nghiệp thấy được và tương tác thông qua các công cụ bằng cách truy cập vào
ứng dụng BI.
Có 2 điều cần nhấn mạnh:
- Dữ liệu được trình bày, lưu trữ và truy cập, thuộc các lược đồ chiều (dimensional
schemas), lược đồ sao quan hệ (relational star schemas) hoặc khối OLAP. Cách tiếp cận
này cũng đã được kết luận qua thời gian, rằng mô hình chiều là kỹ thuật khả thi nhất để
khả thi nhất để cung cấp dữ liệu cho người dùng.
- Khu vực trình bày phải chứa dữ liệu chi tiết, hay còn gọi là dữ liệu nguyên tử (atomic
data). Dữ liệu nguyên tử được yêu cầu để phản ứng với các truy vấn đột xuất từ người
dùng. Vì không thể chấp nhận được nếu chỉ lưu trữ dữ liệu tóm tắt trong các mô hình
chiều, trong khi dữ liệu nguyên tử bị khóa trong các mô hình chuẩn hóa. Dù người dùng
có thể ít khi xem một mục hàng trong một đơn đặt hàng, nhưng họ có thể quan tâm đến
các đơn hàng của tuần trước với các sản phẩm có kích thước nhất định (hoặc hương vị,
loại bao bì hoặc nhà sản xuất) cho những khách hàng mua lần đầu tiên trong 6 tháng qua,
hoặc cư trú tại một tiểu bang nhất định hoặc có các điều khoản tín dụng nhất định. Vì vậy
các dữ liệu chi tiết phải có sẵn trong khu vực trình bày, bởi yêu cầu của người dùng là
không thể đoán trước và luôn thay đổi liên tục. 
Khu vực trình bày dữ liệu nên được cấu trúc xung quanh các sự kiện đo lường quy
trình kinh doanh. Các tiếp cận này phù hợp với các hệ thống thu thập dữ liệu. Mô hình
chiều phải tương ứng với các sự kiện thu thập dữ liệu vật lý. Nên tạo một bảng sự kiện
duy nhất cho các chỉ số bán hàng nguyên tử, thay vì các cơ sở dữ liệu riêng biệt có tính
tương tự số liệu về bán hàng, nhưng hơi khác biệt về nghiệp vụ, ví dụ như bán hàng, tiếp
thị, hậu cần và tài chính.
Tất cả các cấu trúc chiều phải được tạo với các chiều phổ biến và phù hợp. Vì vậy,
tuân thủ kiến trúc bus là điểm cuối cùng cần có cho khu vực trình bày. Sử dụng kiến trúc
bus là bí quyết để xây dựng hệ thống DW / BI phân tán. Khi kiến trúc bus được sử dụng
như một framwework, ta có thể phát triển kho dữ liệu doanh nghiệp theo cách agile, phi
tập trung (decentralized), phạm vi thực tế (realistically scoped), lặp lại (iterative manner).
 Dữ liệu có thể truy vấn trong khu vực trình bày của hệ thống DW/BI phải có chiều,
tính nguyên tử, tập trung vào quy trình nghiệp vụ và tuân theo kiến trúc bus. Dữ liệu
không nên cấu trúc theo cách diễn giải dữ liệu của từng bộ phận.

4. Các ứng dụng trí tuệ kinh doanh (Business intelligence applications)
Đây là thành phần cuối cùng của kiến trúc. Thuật ngữ ứng dụng BI (BI Applications)
dùng để nói đến các khả năng được cung cấp cho người dùng tại doanh nghiệp, sử dụng
khu vực trình bày để hỗ trợ các phân tích và ra quyết định. Tất cả ứng dụng BI đều truy
vấn dữ liệu trong khu vực trình bày, truy vấn là điểm mấu chốt để sử dụng dữ liệu cho
việc ra quyết định.
Ứng dụng BI có thể đơn giản như một công cụ truy vấn hoặc phức tạp như một mô
hình khai phá dữ liệu phức tạp. Chỉ một tỷ lệ nhỏ người dùng trong doanh nghiệp có thể
sử dụng công cụ truy vấn một cách hiệu quả, hầu hết còn lại truy cập dữ liệu thông qua
các ứng dụng và mẫu được tạo sẵn mà không yêu cầu tạo truy vấn. Một số ứng dụng
phức tạp hơn, như công cụ dự báo, có thể tải kết quả dữ liệu về ngược lại hệ thống nguồn
vận hành, hệ thống ETL hoặc khu vực trình bày.

III. Phép ẩn dụ nhà hàng cho kiến trúc DW/BI của Kimball
Sau đây là phép ẩn dụ về tính tương đồng của nhà hàng đối với kiến trúc DW/BI của
Kimball.
ETL có vai trò như phòng bếp (back room)
Hệ thống ETL tương tự như nhà bếp của nhà hàng. Nhà bếp như một thế giới riêng,
các đầu bếp sẽ lấy các nguyên liệu thô và chế biến thành món ăn ngon, hợp khẩu vị với
thực khách. Nhưng trước khi một nhà hàng có thể hoạt động, cần có thời gian và đầu tư
để thiết kế bố cục, các thành phần trong không gian nhà bếp.
Nhà bếp được thiết kế phải đáp ứng được một số mục tiêu. Đầu tiên, bố cục phải có
tính hiệu quả, khi nhà hàng đã kín chỗ và khách hàng đều đói thì không có thời gian cho
việc di chuyện lãng phí. Mục tiêu thứ hai là cần có chất lượng đồng nhất. Để đạt được
điều này, đầu bếp cần tạo ra một lần công thức cho một loại nước sốt đặc biệt, thay vì
mang các nguyên liệu ra bàn, khi khách hàng chắc chắn sẽ tạo ra vô vàn các biến thể.
Cuối cùng, các thức ăn được giao cho khách cần có tính toàn vẹn cao. Việc khách hàng
ngộ độc là vô cùng nguyên hiểm, vì vậy cần được thiết kế một cách toàn vẹn, như việc
chuẩn bị salad không nên trên cùng một bề mặt nơi xử lý thịt sống.
Các đầu bếp cũng luôn cố gắng để có những nguyên liệu thô tốt nhất có thể. Các sản
phẩm phải đáp ứng các tiêu chuẩn chất lượng và sẽ bị từ chối nếu không đáp ứng tiêu
chuẩn tối thiểu. Nhà hàng cũng sửa đổi thực đơn của họ dựa trên các nguyên liệu chất
lượng sẵn có.
Các nhân viên nhà bếp là các chuyên gia trong việc sử dụng các công cụ của họ, họ
sử dụng dễ dàng và đảm bảo các hoạt động trong bếp không xảy ra sự cố. Môi trường
xung quanh nhà bếp là khá nguy hiểm, vì vậy khách hàng không nên đến khu vực này.
Các đầu bếp cũng sẽ không bị phân tâm bởi yêu cầu của thực khách. Để ngăn chặn sự
xâm nhập, hầu hết các nhà hàng đều có cửa đóng kín để ngăn cách nhà bếp với khu vực
phục vụ thực khách. Ngay cả với mô hình nhà hàng bếp mở, cũng có những rào chắn
hoặc tường kính ngăn cách. Thực khách dù có thể nhìn thấy một phần nhà bếp, nhưng sẽ
có những nơi khuất tầm nhìn, nơi việc chuẩn bị ít bị trông thấy hơn.
Hệ thống ETL cũng giống như nhà bếp. Dữ liệu nguồn được chuyển đổi thành thông
tin có ý nghĩa, có thể được trình bày rõ ràng. Hệ thống ETL phải mất thời gian để thiết kế
và xây dựng trước khi có dữ liệu vào từ nguồn. Hệ thống được đảm bảo thông lượng, nó
phải chuyển đổi dữ liệu một cách hiệu quả, giảm các tác động không cần thiết.
Hệ thống ETL cũng quan tâm đến chất lượng dữ liệu, tính toàn vẹn và tính nhất quán.
Dữ liệu được kiểm tra chất lượng trước khi đi vào, các điều kiện để đảm bảo đầu ra có
tính toàn vẹn cao và các quy tắc nghiệp vụ để thu được các giá trị nhất quán.
Lưu ý: Một DW/BI được thiết kế hiệu quả sẽ chuyển đổi công việc trong ứng dụng
BI (front room) để phù hợp và có ích cho các xử lý trong hệ thống ETL (back room).
Tương tự như nhà bếp, công việc được thực hiện nhiều lần bởi người dùng doanh nghiệp
(front room), trong khi công việc được thực hiện một lần bởi nhân viên (back room).
Cuối cùng, các hoạt động diễn ra trong hệ thống ETL mà người dùng không nhìn
thấy, khi dữ liệu đã được kiểm tra chất lượng và đã sẵn sàng, dữ liệu sẽ được đưa qua
ngưỡng cửa để vào khu vực trình bày DW/BI.

Trình bày dữ liệu và BI như phòng ăn (front room)


Các yếu tố quan trọng của nhà hàng là gì? Theo xếp hạng và đánh giá, các nhà hàng
thường được chấm điểm dựa trên 4 yếu tố như sau:
- Thức ăn (chất lượng, hương vị và cách trình bày)
- Trang trí (không gian hấp dẫn, thoải mái cho khách hàng)
- Dịch vụ (giao đồ ăn nhanh chóng, nhân viên hỗ trợ chu đáo và nhận đúng đồ ăn
theo yêu cầu)
- Chi phí
Hầu hết thực khách quan tâm đến thức ăn khi đánh giá các nhà hàng. Với dữ liệu
cũng vậy, hệ thống DW/BI cung cấp các "thực đơn" là các mẫu đã tạo thông qua các dữ
liệu có sẵn. Khách hàng mong đợi sự nhất quán và chất lượng cao, vì vậy dữ liệu trong
khu vực trình bày phải được chuẩn bị đúng cách.
Trang trí tạo nên sự thoải mái cho khách hàng. Vì thế, nó phải được thiết kế theo
mong muốn của người dùng BI chứ không không nhân viên phát triển. Dữ liệu phải được
xử lý, theo yêu cầu và ngay lập tức, với một hình thức dễ nhìn với người dùng.
Cuối cùng, chi phí cũng là yếu tố quan trọng với hệ thống DW/BI, họ mong muốn tạo
ra món ăn/hệ thống công phu đắt tiền, nhưng nếu thị trường không có nhu cầu mức giá
đó, nhà hàng cũng sẽ không tồn tại được.
Thông thường, nếu không hài lòng, mọi người sẽ từ bỏ một nhà hàng và không phản
ánh vấn đề của họ, số lượng khách giảm sút nhưng nhà hàng cũng không rõ tại sao. Vì
vậy, uản lý nhà hàng nên thường chủ động kiểm tra mức độ hài lòng của thực khách đối
với món ăn và trải nghiệm ăn uống, nếu có khách hàng không hài lòng, họ sẽ ngay lập tức
khắc phục. Tương tự, các nhà quản lý DW/ BI nên chủ động theo dõi sự hài lòng của
người dùng.

IV. Kết luận


Hướng tiếp cận: Tích hợp các data mart để có tính nhất quán thông qua thông tin (bottom
up)
Cấu trúc: Đa chiều (star schema hoặc snowflakes)
Mục tiêu: Tập trung tích hợp để đạt được sự nhất quán
Ưu điểm:
 Dễ dàng xây dựng thêm
 Mô hình thân thiện với người dùng
Khuyết điểm:
 Quy trình ETL phức tạp
 Dữ liệu có thể bị lặp lại khi được lưu trữ trong nhiều data mart

Tham khảo

https://www.youtube.com/watch?v=Tff34jj_V-0
https://arjunjune.wordpress.com/2017/03/20/bill-inmon-vs-ralph-kimball/
https://panoply.io/data-warehouse-guide/data-mart-vs-data-warehouse/

You might also like