Tải bản đầy đủ (.docx) (53 trang)

TÌM HIỂU CÁC KHÁI NIỆM VÀ KIẾN TRÚC CỦA DATA WAREHOUSE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (827.02 KB, 53 trang )

BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
----------

TIỂU LUẬN
KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC
ĐỀ TÀI: TÌM HIỂU CÁC KHÁI NIỆM VÀ KIẾN TRÚC CỦA
DATA WAREHOUSE

Giảng viên hướng dẫn

: TS. ĐỖ VĂN TUẤN

Nhóm thực hiện

: NHÓM 5

Học viên thực hiện

: Trần Văn Duy

Hà Nội 2019
1


MỤC LỤC
LỜI CẢM ƠN
PHẦN I. KHÁI NIỆM DATA WAREHOUSE....................................................4
Chương 1. Lịch sử phát triển của data warehouse............................................6
1.1. Thời kì tiền sử - trước năm 1980......................................................................8
1.2. Thời kì trung đại - từ giữa những năm 80 đến cuối những năm 80.................8


1.3. Cuộc cách mạng dữ liệu - những năm đầu thập kỉ 90...................................10
1.4. Kỉ nguyên của quản lý dùa trên thông tin - tới những năm của thế kỉ 21......11
1.5. Kết luận .........................................................................................................12
Chương 2. Những khái niệm về data warehouse.............................................13
2.1. Data warehouse là gì.....................................................................................13
a. Hướng chủ đề..............................................................................................13
b. Tích hợp......................................................................................................14
c. Không thay đổi............................................................................................14
d. Thời biến.....................................................................................................14
2.2. Kiến trúc của data warehouse........................................................................15
2.2.1. Kiến trúc cơ bản..........................................................................................15
2.2.2. Kiến trúc data warehouse có thêm lớp data mart và bước đệm xử lý.........17
a. Lớp nguồn...................................................................................................17
b. Tiến trình tập hợp dữ liệu...........................................................................18
c. Lớp Data Warehouse...................................................................................19
d. Lớp Data Mart............................................................................................20
e. Tiến trình phân bổ dữ liệu đến người dùng cuối........................................21
f. Lớp ứng dụng..............................................................................................21
Chương 3. Kiến trúc dữ liệu của data warehouse............................................23
3.1. Hệ thống thông tin và hệ thống tác nghiệp....................................................23
3.2. Kiến trúc dữ liệu của data warehouse...........................................................25
3.2.1 Mô hình dữ liệu đa chiều (multidimensional data)......................................26
3.2.2. Mô hình dữ liệu thực tế của data warehouse..............................................28
a. Mô hình dạng sao (star schema)................................................................28
b. Mô hình dữ liệu dạng bông tuyết................................................................29

2


PHẦN II. ỨNG DỤNG XÂY DỰNG KHO DỮ LIỆU PHỤC VỤ CÁC HỆ

THỐNG HỌC TẬP TRỰC TUYẾN
I.
1.
2.
II.
1.

Mô tả yêu cầu ứng dụng......................................................................31
Các yêu cầu phân tích dữ liệu đối với các hệ thống học tập trực tuyến
Ma trận kiến trúc buýt...........................................................................31
Kiến trúc ứng dụng..............................................................................32
Thiết kế kho dữ liệu.............................................................................32
1.1.
Vùng xử lý....................................................................................32
1.1.1. Moodle....................................................................................32
1.1.2. Kết quả học tập......................................................................33
1.1.3. Dữ liệu học kỳ, năm học.........................................................34
1.2.
Cơ sở dữ liệu chuẩn hóa.............................................................34
1.2.1. Lược đồ..................................................................................34
1.2.2. Các diễn giải liên quan đến thiết kế.......................................35
1.2.3. Đặc tả cơ sở dữ liệu...............................................................36
1.3.
Kho dữ liệu đầu cuối...................................................................40
1.3.1. Lược đồ cơ sở dữ liệu.............................................................40
1.3.2. Các diễn giải liên quan đến thiết kế.......................................41
1.3.3. Đặc tả cơ sở dữ liệu...............................................................43
1.3.4. Phân cấp các chiều................................................................48
1.4.
Thiết kế hệ thống tích hợp dữ liệu...............................................48

1.4.1. Rút trích dữ liệu – ETL cho vùng xử lý..................................48
1.4.2. Biến đổi dữ liệu – ETL cho cơ sở dữ liệu chuẩn hóa.............49
1.4.3. Nạp dữ liệu – ETL cho kho dữ liệu........................................50

KẾT LUẬN..........................................................................................................54
TÀI LIỆU THAM KHẢO..................................................................................55

LỜI CẢM ƠN
Em xin được trân trọng cảm ơn TS. ĐỖ VĂN TUẤN đã hướng dẫn, chỉ bảo tận
tình cũng như truyền đạt những kiến thức quý báu về khai phá dữ liệu đặc biệt là Data
Warehouse đã giúp em hoàn thành bài tiểu luận này.
Em xin cảm ơn các Thầy / Cô trong tổ bộ môn đã giúp đỡ, hướng dẫn, tạo điều
kiện cho em trong quá trình hoàn thành bài tiểu luận.
3


Xin cảm ơn bạn bè, các Anh / Chị. Những người đã có những ý kiến đóng góp quý
báu đối với em trong quá trình tìm hiểu và hoàn thiện bài tiểu luận.
Do thời gian có hạn và sự hiểu biết về ngôn ngữ lập trình còn hạn chế nên chắc
chắn bài làm không tránh khỏi những thiếu sót, rất mong được sự giúp đỡ và góp ý kiến
của các Quý Thầy / Cô. Học viên xin chân thành cảm ơn!

PHẦN I. KHÁI NIỆM DATA WAREHOUSE
Data warehouse là một công cụ hữu hiệu giúp cho doanh nghiệp có được cái nhìn
đầy đủ và tổng quát về doanh nghiệp của mình, ngoài ra người dùng còn có thể dựa
vào Data Warehouse để chạy các ứng dụng nhằm thu được những thông tin rất hữu
ích cho việc phát triển công ty trong môi trường kinh doanh đầy cạnh tranh và biến
động.
4



Tuy nhiên, việc xây dựng Data Warehouse cho doanh nghiệp là một công việc
không hề đơn giản. Để có thể xây dựng Data Warehouse thì trước tiên chúng ta cần
phải biết được những khái niệm căn bản nhất về vấn đề này. Ba chương đầu tiên
của bản tiểu luận này sẽ đi tìm hiểu về các vấn đề đó.


Chương 1. Lịch sử phát triển của Data Warehouse
Chương này mô tả những lợi ích mà Data Warehouse mang lại cho người dùng
cuối, nhờ vậy ta có thể hiểu được điều gì đã khiến các doanh nghiệp tìm đến với
công nghệ này.
Chương này cũng sẽ điểm qua toàn bộ lịch sử phát triển của ngành công nghệ
thông tin theo hướng xuất hiện Data Warehouse. Phần này sẽ nhìn ngược trở về
lịch sử phát triển, như vậy ta có thể thấy được logic phát triển của công nghệ
Data Warehouse.
Mặc dù trong chương này em không đề cập chi tiết và đưa ra những định nghĩa
chặt chẽ về bất cứ một khái niệm mới nào, tuy nhiên em sẽ đi sâu tìm hiểu và
làm quen với hầu hết các khái niệm mới.



Chương 2. Những khái niệm về Data Warehouse
Chương này sẽ trình bày định nghĩa và kiến trúc logic của Data Warehouse
nhằm làm cho người học viên có được một cái nhìn tổng quan về Data
Warehouse.
Trong phần đầu chương em sẽ tìm hiểu các khái niệm về Data Warehouse.
Trong chương này học viên mong muốn thấy được phần nào sự phức tạp của
Data Warehouse trong định nghĩa của nó. Việc hiểu rõ định nghĩa của Data
Warehouse sẽ giúp học viên có được một định hướng rõ ràng hơn khi tìm hiểu
về kiến trúc của hệ thống sử dụng Data Warehouse.

Phần tiếp theo sẽ là kiến trúc logic của Data Warehouse. Phần này mô tả các
thành phần trong một hệ thống sử dụng Data Warehouse và các tiến trình cần
có để tổ hợp dữ liệu vào Data Warehouse.



Chương 3. Kiến trúc dữ liệu của Data Warehouse
Chương này mô tả kiến trúc cụ thể của Data Warehouse và cho thấy sự khác
biệt của nó với kiến trúc dữ liệu thông thường (kiến trúc dữ liệu quan hệ).
5


Học viên sẽ tìm hiểu sự khác nhau giữa hệ thống thông tin và hệ thống tác
nghiệp, từ đó có thể hiểu được Data Warehouse cung cấp thông tin cho người
dùng cuối như thế nào.
Phần tiếp theo sẽ mô tả kiến trúc dữ liệu của Data Warehouse, nó sẽ giúp học
viên được làm quen với 2 mô hình dữ liệu phổ biến nhất là dạng sao và dạng
bông tuyết.

6


CHƯƠNG 1
LỊCH SỬ PHÁT TRIỂN CỦA DATA WAREHOUSE
Trên thế giới có rất nhiều tổ chức hay công ty có những kho dữ liệu khổng lồ. Trong quá
trình hoạt động, do yêu cầu của công việc nên những tổ chức hay công ty này phải lưu lại
dữ liệu của khách hàng, sản phẩm, hóa đơn, ... Theo nghiên cứu thì cứ khoảng sau 5 năm
khối lượng dữ liệu của doanh nghiệp lại tăng lên gấp đôi. Tuy nhiên việc làm thế nào để
có thể khai thác được những kho dữ liệu khổng lồ này lại là một vấn đề nan giải bởi dữ
liệu thường không nhất quán và không được thiết kế với mục đích hỗ trợ quyết định. Vì

vậy cái mà các tổ chức và công ty này cần là một công cụ cho phép họ tổng hợp dữ liệu
một cách hiệu quả.
Sự ra đời của Data Warehouse bắt nguồn từ sự kết hợp của hai nhân tố kinh tế và kĩ thuật.
Các công ty, đặc biệt là các công ty lớn có nhiều chi nhánh khác nhau, rất muốn có được
những thông tin tổng quan trên phạm vi toàn công ty, từ đó có thể giúp cho lãnh đạo của
công ty ra quyết định. Tuy nhiên, các hệ thống dữ liệu tác nghiệp trước đây không thể
hoàn thành được công việc này vì chúng được thiết kế với mục đích là phục vụ công việc
nghiệp vụ hàng ngày, vì vậy cần phải có một công nghệ dữ liệu khác. Chính sự phát triển
của công nghệ được sự thúc đẩy mạnh mẽ của nhu cầu của các doanh nghiệp trong môi
trường kinh doanh đầy cạnh tranh đã tạo nên Data Warehouse.

Data Warehouse ra đời đã mang lại một số lợi ích nhất định cho các nhà kinh doanh :


Cho phép các nhà kinh doanh theo dõi được sự biến động của môi trường kinh
doanh : ở một khía cạnh nào đó, Data Warehouse có thể xem như là những
"ảnh chụp" liên tiếp tình trạng kinh doanh của công ty, vì vậy nó cho phép
người dùng cuối thấy được môi trường kinh doanh của công ty qua các thời
kì.



Là câu trả lời cho các câu hỏi truy vấn dữ liệu có tính thương mại. Các nhà
kinh doanh muốn rằng những câu hỏi họ đặt ra trong lĩnh vực kinh doanh sẽ
được trả lời theo dạng mà họ có thể hiểu được.



Cung cấp công cụ truy xuất dữ liệu nhằm mục đích phân tích và hỗ trợ quyết
định. Trong những hệ thống cơ sở dữ liệu tác nghiệp trước đây thì điều này rất

khó thực hiện ngay cả khi dữ liệu là đầy đủ và sẵn sàng, lý do đơn giản là vì hệ
thống cơ sở dữ liệu tác nghiệp được thiết kế ra với mục đích phục vụ công việc

7


tác nghiệp thường ngày chứ không phải được thiết kế ra với mục đích hỗ trợ
quyết định.


Thống nhất được dạng và cấu trúc dữ liệu phù hợp với yêu cầu của người dùng
cuối. Đối với các công ty có nhiều chi nhánh khác nhau thì có thể dữ liệu được
lưu trữ dưới các dạng khác nhau, ví dụ như cùng là đơn vị đo chiều dài nhưng có
nơi dùng đơn vị là cm, có nơi dùng đơn vị là inch, ... do vậy gây khó khăn cho
việc phân tích dữ liệu để hỗ trợ quyết định.



Quản trị dễ dàng. Sau khi được xây dựng, người quản trị có thể lên kế hoạch để
hệ thống vận hành tự động. Người quản trị chỉ có nhiệm vụ theo dõi, chỉnh sửa
và nâng cấp khi có yêu cầu hoặc sự cố.

Lợi ích của Data Warehouse đối với người dùng cuối và doanh nghiệp là khá rõ ràng.
Data warehouse đã được chứng minh là công nghệ mang lại hiệu quả đầu tư cao. Một
nghiên cứu của công ty Dữ liệu Quốc tế (IDC : International Data Corporation) trên 62
Data Warehouse cho biết tỉ lệ hiệu quả đầu tư trung bình cho Data Warehouse là 321% và
kết quả thu được có thể thấy sau một vài năm.
Lý thuyết hoàn chỉnh về Data Warehouse được ra đời vào năm 1992 với sự xuất bản cuốn
sách "Building the data warehouse" của W. H. Inmon và Inmon được coi là cha đẻ của
Data Warehouse. Tuy nhiên trước đó Data Warehouse hay một phần của nó đã xuất hiện

dưới dạng này hay dạng khác.
Giữa thập kỉ 90 của thế kỉ 20, Data Warehouse đã trở thành một trong những từ thông
dụng nhất được sử dụng trong công nghiệp máy tính. Tuy nhiên cần phải nhấn mạnh rằng
Data Warehouse không thể phát triển theo hướng của các nhà sản xuất, trái lại nó phải
được phát triển bởi các công ty nhằm thỏa mãn nhu cầu kinh doanh của các công ty đó.
Vì vậy, Data Warehouse không phải là một sản phẩm hàng loạt, nó không phải được sản
xuất ra một lần rồi đem bán hay áp dụng cho nhiều đơn vị khác nhau. Data Warehouse là
một sản phẩm đơn chiếc, nó được sáng tạo một lần và được phát triển liên tục theo thời
gian nhằm đáp ứng đầy đủ những nhu cầu của người sử dụng. Nó chỉ thích hợp cho một
đơn vị và phải bám sát đặc điểm kinh doanh hay sản xuất của đơn vị đó.
Phần tiếp theo sẽ mô tả từng bước phát triển của ngành công nghệ thông tin theo chiều
hướng tiến đến sự ra đời của Data Warehouse.

8


1.1.

THỜI KÌ TIỀN SỬ - TRƯỚC NĂM 1980 :

Thời kì trước những năm giữa thập kỉ 70 được coi là thời kì của các máy tính. Sự phát
triển của các máy vi tính (sau này được gọi là PC) và của các phần mềm đã giúp cho
người dùng cuối có thể thao tác, điều khiển trực tiếp với dữ liệu của họ.
Một trong những cột mốc quan trọng của giai đoạn này là sự ra đời của công nghệ dữ liệu
quan hệ vào đầu thập kỉ 70 của Boyce/Codd. Theo sau nó là sự ra đời của hàng loạt các
sản phẩm, công cụ quản lí và giao tiếp với cơ sở dữ liệu quan hệ. Đặc biệt sự ra đời của
ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL : Structured Query Language) rất gần gũi với
con người đã cho phép người dùng cuối có thể thao tác với dữ liệu quan hệ một cách dễ
dàng, vì vậy nó được chuẩn hóa và sử dụng rất rộng rãi. Hiện nay tất cả các hãng sản xuất
phần mềm quản trị dữ liệu đều hỗ trợ ngôn ngữ này.

Cho tới giữa những năm 70, do sự phức tạp của phần cứng và phần mềm máy tính ngày
càng tăng, vì vậy số người dùng cuối có khả năng thao tác, điều khiển trực tiếp dữ liệu
ngày càng giảm. Lúc này, họ cần phải tìm kiếm một chuyên gia xử lý dữ liệu (data
processing expert) có thể thao tác với dữ liệu để cung cấp cho họ những thông tin cần
thiết giúp họ ra quyết định. Những chuyên gia xử lý dữ liệu này, vì đòi hỏi của công việc,
phải tập trung toàn bộ tâm trí và sức lực vào việc nắm bắt kĩ thuật thao tác với máy tính
và dữ liệu. Điều này có nghĩa là đã có một khoảng cách khá lớn giữa người dùng cuối và
kĩ thuật lấy thông tin mà họ cần.
Khoảng giữa thập kỉ 80, khoảng cách này đã giảm đi một cách đáng kể. Người dùng cuối
vừa có khả năng kinh doanh vừa có thể tự mình khai thác dữ liệu. Điều này được thực
hiện bởi sự đơn giản hóa các kĩ thuật xử lý dữ liệu. Thời kì này máy tính cá nhân (PC :
Personal Computer) cũng phát triển mạnh mẽ và được sử dụng rộng rãi, nhờ nó mà công
nghệ thông tin đã đạt được một bước tiến dài.
1.2.

THỜI KÌ TRUNG ĐẠI - TỪ GIỮA NHỮNG NĂM 80 ĐẾN CUỐI
NHỮNG NĂM 80:

Nếu thời kì trước đặc trưng bởi những sự đổi mới về công nghệ dẫn tới sự ra đời của
người dùng cuối thì tới thời kì này được coi là thời kì của những người dùng cuối. Người
dùng cuối càng phát triển thì nhu cầu của người dùng cuối lại càng cao và càng phong
phú. Những kiến trúc dữ liệu trước đây trở nên không thể đáp ứng nổi với nhu cầu của
9


người dùng cuối trong việc hỗ trợ ra quyết định, vì vậy đã dẫn tới sự tiến triển lên một
giai đoạn tiếp theo của công nghệ dữ liệu, đó là sự ra đời của data warehouse ứng dụng
cho từng công ty riêng rẽ.
Khi người dùng cuối cần có những thông tin toàn cảnh về công ty thì một trong những
vấn đề khó khăn nhất là tích hợp các phần dữ liệu lại với nhau. Do các phần dữ liệu này

mang tính độc lập với nhau khá cao nên không thể tích hợp chúng một cách dễ dàng. Vì
vậy các dữ liệu cần phải được tiền xử lý trước khi tích hợp lại.
Data warehouse lần đầu tiên được nhắc tới trong giai đoạn những năm 1984 tới 1988. Nó
có sự tiến triển khác nhau trong các công ty. Các bước tiến quan trọng của data
warehouse diễn ra khi người ta hiểu được tầm quan trọng của kiến trúc dữ liệu khi phải
cung cấp dữ liệu tới người dùng cuối. Các công ty nhận ra sù quan trọng của việc mô
hình hóa dữ liệu và xây dựng giao diện với người dùng cuối.Tuy nhiên trong thời kì này
vẫn tồn tại nhiều sự hiểu sai về khái niệm Data Warehouse và những những lợi ích mà
Data Warehouse đem lại cũng như quy mô của các công ty nên triển khai Data
Warehouse. Cùng với thời gian, những sự nhầm lẫn này cũng dần dần được xóa bỏ. Cho
tới cuối thời kì này, những công ty đã thử nghiệm Data Warehouse nhận ra rằng Data
Warehouse chính là chìa khóa phát triển và mở rộng ứng dụng cho người dùng cuối, vì
vậy họ tiếp tục tìm kiếm những cách thức để triển khai Data Warehouse dựa trên nền tảng
lý thuyết đã có.
Cuối thời kì này cũng đánh dấu sự định nghĩa về kiến trúc Data Warehouse lần đầu tiên
xuất hiện rộng rãi. Một trong những bài báo đầu tiên đã mô tả về kiến trúc của Data
Warehouse là bài báo của Devlin và Murphy vào năm 1988. Bài báo này trình bày các
công việc được thực hiện để thiết kế Data Warehouse cho công ty IBM châu Âu. Sau này
IBM vẫn được coi là công ty đầu tiên đưa ra khái niệm Data Warehouse.
Đặc biệt thời kì này người ta cũng đã phân biệt được rõ ràng hệ thống tác nghiệp và hệ
thống thông tin. Hệ thống tác nghiệp là hệ thống phục vụ cho công việc kinh doanh hàng
ngày, vì vậy nó cần có phản ứng gần như tức thì đối với các yêu cầu kinh doanh, các sự
kiện trong hệ thống thường có phạm vi ảnh hưởng nhỏ. Hệ thống tác nghiệp được cấu
trúc tối ưu sao cho nó có thể đạt được tốc độ nhanh nhất, nó thường được sử dụng bởi
những người dùng phải giao tiếp với khách hàng, sản phẩm, ... Trong khi đó, các đặc
điểm của hệ thống thông tin lại khác hẳn : nã được sử dụng để quản lí và điều khiển công
việc kinh doanh, nó được coi là các "ảnh chụp" liên tiếp tình trạng kinh doanh của công
10



ty, do đó nó cho ta thấy tình trạng của công ty tại từng thời điểm hay trong một thời kì.
Hệ thống thông tin được kiến trúc tối ưu cho việc trả lời các câu hỏi chứ không phải cho
việc cập nhật dữ liệu, các yêu cầu đối với hệ thống thông tin là rất rộng và khó đoán
trước, nó được sử dụng bởi các nhà quản lý và người dùng cuối như là một phương tiện
cung cấp cho họ những thông tin cần thiết trong việc hỗ trợ ra quyết định.
1.3.

CUỘC CÁCH MẠNG DỮ LIỆU - NHỮNG NĂM ĐẦU THẬP KỈ 90

Đến đầu những năm 90 thì máy tính cá nhân đã trở thành công cụ không thể thiếu được
trong các doanh nghiệp. Giá rẻ và được chuẩn hóa tốt đã giúp cho chúng chiếm lĩnh được
thị trường công nghệ thông tin. Nhờ đó mà các sản phẩm chạy trên PC cũng được phát
triển mạnh mẽ. Thời kì này hệ thống dữ liệu quan hệ chiếm lĩnh toàn bộ thị trường nhờ
được chuẩn hóa cao và cấu trúc chặt chẽ. Tuy nhiên nó cũng vấp phải một vần đề khó
khăn, đó là tốc độ truy vấn không cao khi có một câu hỏi ở mức tổng thể đòi hỏi phải
duyệt qua nhiều bảng mới trả lời được.
Nhờ những thành công bước đầu trong quá trình triển khai Data Warehouse ở giai đoạn
trước, những người quản lý hệ thống thông tin đã cố gắng thuyết phục người dùng tin
tưởng vào những lợi nhuận và cơ hội mà Data Warehouse sẽ mang lại cho họ trong tương
lai.
Sự chấp nhận Data Warehouse chỉ lan rộng trong cộng đồng doanh nghiệp khi mà họ
nhận ra rằng họ cần phải có một cái nhìn tổng quan hơn về doanh nghiệp và nhiều khi
điều đó là rất có giá trị. Họ nhìn thấy được khả năng tiềm tàng trong việc khai thác những
dữ liệu đã có hơn là chỉ thao tác và cập nhật dữ liệu. Khi khai thác những kho dữ liệu
khổng lồ, họ có thể lấy được những thông tin đáng giá phục vụ cho việc marketing hoặc
tăng sức cạnh tranh.
Cũng vào đầu thời kì này, chính những biến động to lớn về chính trị và kinh tế khiến
nhiều doanh nghiệp thấy cần phải có một sự thay đổi mạnh mẽ trong việc kinh doanh để
có thể tăng cường cạnh tranh. Ví dụ như trong ngành công nghiệp hàng không, việc cạnh
tranh giữa các doanh nghiệp ngày càng quyết liệt. Một trong những hãng hàng không đạt

được thành công là nhờ những thay đổi đáng kể trong chiến dịch marketing. Họ đã cố
gắng tìm ra sự liên hệ giữa những khách hàng thường xuyên của hãng với dữ liệu về vé
mà hãng đang có để đề ra một chiến dịch marketing mới. Kết quả tìm kiếm cho thấy
những khách hàng thường xuyên nhất là những doanh nhân, những người thường ngồi
khoang hạng nhất, đặt vé muộn và muốn có được sự linh hoạt cao. Sự liên kết dữ liệu về
11


những người thường xuyên đi máy bay của hãng với dữ liệu của hệ thống bán vé đã cho
ra đời một chiến dịch marketing mới và rất có hiệu quả nhằm vào tầng líp doanh nhân,
điều này không những làm cho hãng có được một số lượng lớn khách hàng trung thành
mà còn giúp cho hãng thu hót thêm được nhiều khách hàng mới.
Ví dụ trên cho thấy những nhu cầu kinh doanh mới đã dẫn tới cuộc cách mạng dữ liệu.
Các doanh nghiệp cần một cái nhìn mới để hiểu được công ty hoạt động như thế nào mét cái nhìn có thể bao quát được những khía cạnh kinh doanh riêng lẻ trước đây, và để
đáp ứng được điều này thì công nghệ dữ liệu cũng cần phải có những thay đổi phù hợp.
Có thể nói sự phát triển về công nghệ dữ liệu trong thời kì này là sự phát triển về nhận
thức. Mặc dù tăng trưởng về số lượng là không nhiều, trong thời kì này mô hình dữ liệu
quan hệ vẫn phát triển mạnh mẽ, nhưng nhận thức về data warehouse đã thay đổi theo
hướng tiếp cận với người dùng. Nó tạo ra mét xu thế phát triển mới là lấy người dùng
làm trung tâm thay vì lấy yêu cầu của công việc làm trung tâm như trước kia. Mục đích
xây dựng hệ thống Data Warehouse cũng trở nên rõ ràng, đó là hướng vào kinh doanh.
Data Warehouse đã được chọn lựa để trở thành công cụ cung cấp thông tin kinh doanh và
phục vụ công cuộc chiếm lĩnh thị trường của các doanh nghiệp.

KỈ NGUYÊN CỦA QUẢN LÝ DÙA TRÊN THÔNG TIN - TỚI
NHỮNG NĂM CỦA THẾ KỈ 21

1.4.

Trong suốt thập kỉ 80 đến nửa đầu thập kỉ 90, lý thuyết và việc triển khai data warehouse

được thực hiện tương đối chậm chạp vì vẫn còn tồn tại nhiều định nghĩa khác nhau về
data warehouse. Tuy nhiên những định nghĩa này cũng có một số điểm chung về những
nhu cầu trong kinh doanh cũng như những hướng mà kĩ thuật cần phải hỗ trợ trong việc
triển khai data warehouse, và mặc dù xuất hiện vào đầu những năm 80 nhưng cho tới giê
thì chúng vẫn được nhìn nhận là những yếu tố cơ bản trong lý thuyết xây dựng data
warehouse.
Mét trong những chiều hướng kinh doanh trong tương lai sẽ là quản lý dùa vào thông tin,
điều đó có nghĩa là những thông tin hỗ trợ quyết định sẽ được chuyển tải tới người dùng
cuối. Quá trình này có thể được thể hiện như sau :


Một nguồn thông tin duy nhất : dữ liệu cần tích hợp có thể tới từ rất nhiều
nguồn, cả từ trong và ngoài công ty và tồn tại dưới rất nhiều dạng, từ loại dữ liệu
có cấu trúc truyền thống tới loại dữ liệu phi cấu trúc như văn bản hay phim ảnh.

12


Trước khi được đưa tới người dùng cuối, chúng cần được làm sạch và thống
nhất để đảm bảo chất lượng và tính toàn vẹn.


Phân phối thông tin : việc quản lý dùa vào thông tin không chỉ là công việc của
bộ phận đầu não của công ty mà nó còn là công việc của rất nhiều bộ phận khác.
Ví dụ một công ty có nhiều chi nhánh ở các vùng địa lý khác nhau thì các chi
nhánh này cũng cần có thông tin để quản lý.



Thông tin trong ngữ cảnh kinh doanh : người dùng chỉ có thể hiểu và sử dụng

thông tin một cách hữu Ých khi mà thông tin được đặt trong ngữ cảnh của các
hoạt động kinh doanh của người dùng. Vì vậy các định nghĩa dữ liệu cung cấp
bởi các chuyên gia kinh doanh trở thành các quy chuẩn và cần phải có một bộ
phận thông tin chứa các định nghĩa này.



Phân phối thông tin tự động : khi dữ liệu chuyển thành thông tin và luân chuyển
trong hoặc giữa các tổ chức với nhau thì các công cụ phân phối tự động trở nên
cần thiết. Sự tự động không chỉ đòi hỏi tiến trình phân phối phải tự động mà còn
đòi hỏi cả những định nghĩa về các yêu cầu luân chuyển và chuyển dạng dữ liệu.



Quyền sở hữu và chất lượng thông tin : thông tin là tài sản sống còn của các
công ty, và giống như các tài sản khác, nó cần được quản lý và bảo vệ. Chất
lượng của nó phải được đảm bảo. Quyền sở hữu thông tin là điều kiện tiên quyết
để nhận ra giá trị của thông tin.

1.5.

KẾT LUẬN

Tới đây, ta có thể hiểu về Data warehouse được định nghĩa như sau : "Data Warehouse
đơn giản là một kho dữ liệu đơn nhất, hoàn chỉnh, thống nhất được tạo thành từ nhiều
nguồn dữ liệu khác nhau có thể cung cấp thông tin cho người dùng cuối theo cách mà họ
có thể hiểu và sử dụng được trong ngữ cảnh kinh doanh của họ".
Lịch sử phát triển của Data Warehouse nói riêng và của ngành công nghệ thông tin nói
chung gắn liền với sự phát triển của công nghệ phần cứng. Cho dù có những lúc hướng đi
của ngành bị chi phối bởi công nghệ mới và cũng có khi lại phải chạy theo đòi hỏi của

người dùng cuối nhưng bằng cách này hay cách khác thì cái đích cuối cùng của sự phát
triển vẫn là sử dụng những thành quả của kĩ thuật để mang lại lợi ích cho người sử dụng
cho dù họ là nhà cung cấp sản phẩm hay những người dùng cuối. Đó chính là lý do khiến
13


Data Warehouse không thể chỉ nằm trong công nghệ thông tin hay trong lĩnh vực kinh tế.
Nó phải trở thành một công nghệ đem lại lợi ích cho cả người sử dụng cuối và người tạo
ra nó. Có như vậy Data Warehouse mới có thể tồn tại và phát triển.
Qua thời gian, theo chiều phát triển của lịch sử, công việc của các chuyên gia công nghệ
thông tin cũng dần thay đổi. Từ chỗ công việc chính của họ là tự động hóa và giản tiện
các công việc hàng ngày dần dần đã chuyển sang quản lí và phát triển các hệ thống đó.
Sự dịch chuyển này chính là tiền đề phát triển của Data Warehouse.

CHƯƠNG 2

NHỮNG KHÁI NIỆM VỀ DATA WAREHOUSE
Ở chương trước, học viên đã biết được rằng những nhu cầu của người dùng cuối kết hợp
với sự phát triển của công nghệ dẫn tới sự ra đời của Data Warehouse và ta cũng đã hiểu
được định nghĩa thế nào là Data Warehouse.
Chương này học viên sẽ đi sâu và giới thiệu kĩ hơn về Data warehouse, đồng thời chương
này cũng sẽ nêu lên kiến trúc tổng quát của một Data Warehouse giúp cho học viên có thể
hình dung rõ ràng hơn về nó.

2.1. DATA WAREHOUSE LÀ GÌ ?
Data Warehouse là một cơ sở dữ liệu được thiết kế để đáp ứng với nhu cầu trả lời câu hỏi
và phân tích chứ không phải để xử lý các giao dịch hàng ngày như cơ sở dữ liệu tác
nghiệp. Nó thường chứa các dữ liệu có tính lịch sử bắt nguồn từ dữ liệu tác nghiệp,
nhưng nó cũng có thể chứa dữ liệu từ các nguồn khác nữa. Nó giúp công ty tách việc
phân tích ra khỏi các giao dịch hàng ngày.

Sau đây là 4 đặc tính cơ bản của Data Warehouse được nêu bởi William Inmon :
a)

Hướng chủ đề

Data Warehouse được thiết kế để giúp chúng ta phân tích dữ liệu nhằm trả lời các câu hỏi
của người dùng cuối. Mặt khác, những câu hỏi của người dùng cuối lại có thể phân loại
được theo một số chủ đề nào đó. Ví dụ người dùng cuối có thể đặt các câu hỏi như :
14


"Khách hàng có độ tuổi nào mua nhiều bảo hiểm nhất trong năm nay ?", "Công ty con
nào bán được nhiều bảo hiểm nhất trong tháng này ?" hay "Mặt hàng bảo hiểm nào được
ưa chuộng nhất trong quý vừa rồi ?" để tìm hiểu rõ tình trạng bán bảo hiểm của công ty.
Để trả lời những câu hỏi này, một Data Warehouse tập trung vào chủ đề hợp đồng bảo
hiểm sẽ được xây dựng. Tương tự như vậy, Data Warehouse hướng vào các chủ đề khác
cũng sẽ được hình thành.
b)

Tích hợp

Data Warehouse được xây dựng từ nhiều nguồn dữ liệu khác nhau, các nguồn dữ liệu này
có sự xung đột với nhau về tên trường, giá trị thể hiện, đơn vị đo lường, ... Ví dụ như
cùng biểu diễn trường địa chỉ nhưng có cơ sở dữ liệu sử dụng tên trường là "Địa chỉ"
trong khi cơ sở dữ liệu khác lại dùng là "Nơi ở". Ngoài ra các cơ sở dữ liệu cũng có thể
có giá trị thể hiện khác nhau, ví dụ để biểu diễn giới tính của khách hàng, công ty con này
dùng giá trị là 0 và 1, trong khi công ty con khác lại dùng giá trị là "M" và "W". Ngoài ra
cũng còn phải kể đến sự sử dụng đơn vị đo lường khác nhau cũng dẫn tới việc khó thống
nhất các cơ sở dữ liệu lại với nhau. Tóm lại, khi giải quyết được tất cả những sự xung đột
dữ liệu này để dữ liệu có thể chuyển vào Data Warehouse theo một định dạng duy nhất, ta

nói rằng chúng đã được tích hợp.
c)

Không thay đổi

Đặc tính này có ý nghĩa là khi dữ liệu đã được cập nhật vào Data Warehouse rồi thì dữ
liệu không nên thay đổi nữa. Điều này cũng logic vì mục đích của Data Warehouse là cho
phép bạn phân tích những gì đã xảy ra.
d)

Thời biến

Để phát hiện ra xu hướng kinh doanh, các nhà phân tích cần một khối lượng dữ liệu cực
kì lớn, điều này trái ngược hẳn với hệ thống xử lý giao dịch trực tuyến, nơi mà tốc độ xử
lý được đặt lên quan trọng hàng đầu còn thông tin lịch sử thì không được coi trọng. Thời
biến ở đây có ý nghĩa là Data Warehouse phản ánh được sự thay đổi kinh doanh theo thời
gian.
15


Sự mâu thuẫn cơ bản trong một hệ thống thông tin là mâu thuẫn giữa các ứng dụng
hướng dữ liệu để thực hiện công việc kinh doanh và những ứng dụng để quản lí chúng.
Môi trường hỗ trợ quyết định luôn mâu thuẫn với hệ tác nghiệp trên nhiều mặt. Đầu tiên
phải kể đến là vấn đề tốc độ. Để đạt được tốc độ cao cho cả hai hệ thống cần phải tách
biệt chúng ra. Data Warehouse đã làm như vậy. Bằng cách xây dựng Data Warehouse thì
doanh nghiệp đã có hai hệ cơ sở dữ liệu tách biệt nhau là hệ cơ sở dữ liệu tác nghiệp và
Data Warehouse.
Cách thức tốt nhất để lưu trữ dữ liệu lại không phải là cách tối ưu để hiển thị chúng.
Chính vì vậy, cấu trúc của dữ liệu trong Data Warehouse được hướng vào phục vụ người
dùng tạo ra một phương thức dễ hình dung nhất để hiển thị dữ liệu. Mục đích của việc

xây dựng Data Warehouse là tạo thuận lợi tối đa khi xem xét dữ liệu với mục đích phân
tích kinh doanh và ra quyết định thay vì mục tiêu kĩ thuật. Nói chung Data Warehouse
được xây dựng là để phục vụ kinh doanh và hướng vào kinh doanh.
Bởi vì Data Warehouse cung cấp dữ liệu để xem xét lịch sử cũng như triển vọng phát
triển nên nó tìm cách thể hiện và lưu trữ trạng thái tình hình kinh doanh trong một
khoảng thời gian dài. Điều này mang lại cho những nhà kinh doanh lợi Ých to lớn cho
phép họ phân tích xu hướng và triển vọng kinh doanh.

2.2. KIẾN TRÚC CỦA DATA WAREHOUSE
2.2.1. KIẾN TRÚC CƠ BẢN :

16


Kiến trúc cơ bản của Data Warehouse rất đơn giản. Nó dùa trên ý tưởng là xây dựng một
kho dữ liệu thống nhất từ nhiều nguồn dữ liệu khác nhau để phục vụ truy vấn.
Kiến trúc Data Warehouse gồm 3 lớp chính :


Lớp dữ liệu nguồn (Data Sources) : Dữ liệu được đưa vào data warehouse từ rất
nhiều nguồn khác nhau. Điều này thể hiện đặc tính tích hợp của Data
Warehouse. Trên hình vẽ ta thấy dữ liệu nguồn có thể là dữ liệu có sẵn trong hệ
thống tác nghiệp của doanh nghiệp và cũng có thể là dữ liệu lấy từ nguồn bên
ngoài doanh nghiệp. Dữ liệu có thể là loại có cấu trúc chặt chẽ như dữ liệu quan
hệ đã được chuẩn hóa hay có thể là loại phi cấu trúc như các văn bản thông
thường.



Lớp Warehouse : Lớp này chứa đựng dữ liệu đã được tổng hợp cùng siêu dữ liệu

mô tả chúng cũng như các tiến trình tổng hợp, phân bổ dữ liệu. Hai thành phần
quan trọng nhất của lớp Warehouse là dữ liệu và siêu dữ liệu. Chúng phải được
lưu giữ và mô tả nhất quán về nội dung (ý nghĩa dữ liệu) cũng như hình thức
(khuôn dạng dữ liệu). Để tăng tốc cho việc đáp ứng trả lời truy vấn thì dữ liệu
trong Data Warehouse thường được để sẵn dưới dạng tổng kết.



Lớp ứng dụng : có nhiệm vụ tương tác với người dùng cuối. Một trong những
đặc điểm quan trọng của Data Warehouse là cung cấp thông tin cho rất nhiều
người sử dụng với những yêu cầu không thể dự đoán trước, vì vậy nhìn chung
lớp người dùng có cấu trúc phức tạp. Hơn nữa, người dùng ở đây có thể sử dụng
nhiều công cụ khai thác và truy xuất dữ liệu khác nhau nên giao diện giữa lớp
Warehouse và người dùng cũng đa dạng.

Do tính đa dạng của lớp ứng dụng và lớp người dùng nên chúng không thể giao tiếp với
Data Warehouse theo các giao diện chuẩn mà thường cần phải có những công cụ được
thiết kế đặc biệt chuyên thực hiện công việc này. Dữ liệu khi được đưa vào hoặc đưa ra
khái Data Warehouse đòi hỏi phải có những tiến trình xử lý phức tạp. Các ứng dụng đảm
nhiệm công việc này thường tạo ra các kho trung gian và phải thực thi nhiều bước
chuyển tiếp.
Có hai tiến trình xử lý chính gồm :

17




Tập hợp dữ liệu đưa vào Warehouse : ngoài việc đọc hiểu các cấu trúc dữ liệu,
tiến trình này còn phải thực hiện nhiều chức năng khác để bảo đảm tính nhất

quán của dữ liệu trong warehouse.



Phân bổ dữ liệu đến người dùng cuối : có nhiều công cụ để thực hiện việc này,
nhưng nói chung là dữ liệu thường được tiền xử lý trước rồi sau đó mới hiển thị
tới người dùng cuối.

Như vậy ta thấy được kiến trúc cơ bản của Data Warehouse là khá đơn giản, tuy nhiên
việc xây dựng nó cũng đã khá khó khăn. Sau đây ta sẽ xem xét thêm kiến trúc của Data
Warehouse khi có thêm lớp Data mart và bước đệm xử lý.
2.2.2. KIẾN TRÚC DATA WAREHOUSE CÓ THÊM LỚP DATA MART VÀ BƯỚC ĐỆM
XỬ LÝ

Nhìn tổng thể kiến trúc mới của Data Warehouse cũng gồm 3 lớp chính như kiến trúc cơ
bản.

Việc thêm vào lớp Data mart và bước đệm xử lý cũng không làm mất đi cấu trúc 3 lớp
ban đầu.
Mô hình cũng chỉ rõ công việc cần thực hiện trong hai tiến trình chính : tập hợp dữ liệu
và phân bổ dữ liệu.
Phần sau sẽ phân tích các lớp và tiến trình trong kiến trúc Data Warehouse.

18


a) Lớp nguồn
Dữ liệu có thể lấy từ 3 nguồn chính sau :



Từ hệ thống dữ liệu tác nghiệp (ODS : Operational Data System) : Đây là nguồn
dữ liệu lớn nhất và quan trọng nhất vì nội dung của nó phản ánh thực trạng kinh
doanh của doanh nghiệp và được định nghĩa, cấu trúc tốt.



Từ hệ thống file hồ sơ : các công văn, giấy tờ, báo cáo, ... thường được lưu dưới
dạng văn bản hoặc do các chương trình kế toán tạo ra. Nếu chúng được sao lưu
một cách đầy đủ và có chu kì thì hoàn toàn có thể dùng để làm nguồn dữ liệu
trong Data Warehouse.



Từ các hệ thống dữ liệu khác : nếu doanh nghiệp có các mối quan hệ với các
doanh nghiệp khác hoặc có thể tận dụng nguồn dữ liệu ở bên ngoài thường
xuyên và đều đặn thì đó cũng là một nguồn cung cấp dữ liệu cho Data
Warehouse. Ví dụ như tỉ giá quy đổi ngoại tệ, chỉ số chứng khoán của công ty
trên thị trường chứng khoán, ...

b) Tiến trình tập hợp dữ liệu
Tiến trình tập hợp dữ liệu trải qua bốn bước : trích lọc, làm sạch, chuyển dạng và tải. Bốn
bước này được thực hiện tuần tự và theo một lịch trình đã định trước. Phải làm như vậy là
vì tiến trình này chiếm rất nhiều tài nguyên hệ thống cả về năng lực xử lí và bộ nhớ. Mỗi
khi thực hiện việc tập hợp dữ liệu cần phải can thiệp trực tiếp vào dữ liệu đang có dẫn
đến có thể xảy ra xung đột. Vì vậy mỗi khi thực hiện tiến trình này thì phải tạm thời
ngừng cung cấp dịch vụ cho người dùng. Nói chung tốt nhất nên thực hiện tiến trình này
vào khoảng thời gian có ít người sử dụng dịch vụ nhất.
Một đặc điểm nữa của tiến trình tập hợp dữ liệu là phải tương tác với nhiều dạng dữ liệu,
trên nhiều nền tảng cơ sở dữ liệu và nhiều cấu trúc khác nhau. Thông thường các công
việc này do một chương trình chuyên dụng đảm nhiệm.



Trích lọc dữ liệu (extract) : liên kết với các file dữ liệu để đọc dữ liệu và tìm
kiếm những dữ liệu cần thiết để đưa vào Data Warehouse. Dữ liệu sau khi được
trích từ các nguồn khác nhau thường được đưa vào một kho tạm để thực hiện
bước đệm xử lý (staging area) rồi mới đưa vào Data Warehouse. Ngoài lý do để
tiện lợi cho việc xử lý, kho tạm cũng giúp giảm bớt thời gian đình trệ của hệ
thống, tăng tốc độ nạp dữ liệu vào Warehouse.
19




Làm sạch dữ liệu (Scrub) : tiến trình này thực hiện các công việc như cấu trúc
lại các bảng ghi, chuyển khuôn dạng, đơn vị của các trường cho nhất quán, loại
bỏ hoặc đánh dấu dữ liệu có lỗi, chuyển giao các mối quan hệ về dữ liệu (ví dụ
quan hệ giữa tuổi tác và năm sinh). Nói tóm lại quá trình này thực hiện việc
thống nhất về khuôn dạng dữ liệu cần phải có để đưa vào Data Warehouse.



Chuyển dạng dữ liệu (Transform) : mục đích là chuyển dạng dữ liệu thành một
thể thống nhất và đồng đều. Tiến trình này thực hiện tiếp các công việc như
kiểm tra tính toàn vẹn của dữ liệu, tạo ra các trường chỉ mục, khóa chính, ... để
đảm bảo tính toàn vẹn của dữ liệu. Trường thời gian cũng có thể được thêm vào
các bảng thích hợp trong giai đoạn này. Tiếp đến là công việc tập hợp và khối
kết dữ liệu, tạo ra các trường hoặc bảng chuyển hóa chứa đựng các số liệu tổng
hợp từ các bảng khác.




Tải dữ liệu (Load) : bước cuối cùng là đưa dữ liệu vào Data Warehouse. Tiến
trình này đã được lên lịch từ trước và thường được thực hiện bằng các câu lệnh
truy vấn. Nói chung khi nhắc đến tiến trình này thì điều mà người ta quan tâm
không phải là nó thực hiện những gì và thực hiện thế nào mà là khoảng thời gian
hay nói cách khác là thời biểu của tiến trình, bởi vì tiến trình này sẽ làm tê liệt
Data Warehouse trong một khoảng thời gian.

Trên thực tế các công việc cụ thể có thể được thực hiện không theo thứ tự đã nêu trên mà
phụ thuộc vào các kĩ sư xây dựng Data Warehouse cũng như các phần mềm chuyên dụng
để thực hiện các công việc này. Lưu ý rằng chỉ có tiến trình tải dữ liệu vào Data
Warehouse là cần phải lên kế hoạch trước để không ảnh hưởng tới sự phục vụ cho người
dùng cuối, còn các tiến trình khác có thể thực hiện độc lập với sự vận hành của Data
Warehouse.

c) Lớp Data Warehouse
Về mặt vật lí thì lớp Warehouse là nơi lưu trữ toàn bộ dữ liệu. Thực chất nó là một hệ
quản trị cơ sở dữ liệu đã được điều chỉnh để phù hợp hơn với công việc mà nó phải đảm
trách khi hoạt động như là một Data Warehouse.
Về mặt logic, dữ liệu trong lớp Data Warehouse có cấu trúc và được tổ chức theo từng
chủ đề. Về nguyên tắc thì việc thiết kế một cơ sở dữ liệu quan hệ sao cho nó có tính
hướng chủ đề là điều hoàn toàn có thể làm được. Với Data Warehouse đó là điều sống
20


còn. Tính hướng chủ đề là đặc điểm nổi bật của dữ liệu trong Data Warehouse. Chính vì
thế khi được thiết kế dữ liệu cho Data Warehouse thì chất lượng dữ liệu được đánh giá
theo các tiêu chí khác hẳn.
Có thể hình dung dữ liệu trong Data Warehouse là những bức ảnh chụp trạng thái của tổ
chức tại một thời điểm. Những bức ảnh này được lưu trữ liên tục tạo ra hình ảnh về phát

triển của cả tổ chức. Mỗi một lần làm động tác "chụp ảnh" là một lần dữ liệu được cập
nhật vào Data Warehouse. Có nhiều cách để ghi lại sự thay đổi về dữ liệu trong Data
Warehouse. Dữ liệu có thể được :


Sao lưu toàn bộ sau mỗi chu kì kinh doanh.



Chỉ ghi nhận những phần khác biệt.



Tạo mét tem thời gian cho mỗi lần thay đổi.



Cài đặt thêm các tác nhân (trigger) vào cơ sở dữ liệu để "bắt" các thay đổi ở
mức dữ liệu và tạo ra file log để lưu các thay đổi này.

Đây là một vấn đề khó khăn và phức tạp đối với người xây dựng hệ quản trị cơ sở dữ
liệu. Nó cũng là một trong những vấn đề kĩ thuật nan giải cần phải giải quyết trong công
nghệ Data Warehouse.

d) Lớp Data mart
Về cơ bản có thể định nghĩa Data mart là một Data Warehouse ở phạm vi phòng ban hay
vùng. Dữ liệu lưu trong Data mart cũng chính là một phần dữ liệu lưu trong Data
Warehouse. Thực chất chúng có cùng cấu trúc. Chỉ có một điểm khác biệt nhỏ là trong
Data mart dữ liệu được tổng hợp sẵn theo một lĩnh vực nào đó và chỉ phục vụ cho một
nhóm người nhất định trong tổ chức nhằm phục vụ những yêu cầu kinh doanh đặc biệt.

Data mart được chia làm hai loại là Data mart phục thuộc (dependent) và Data mart độc
lập (independent). Tính độc lập hay phụ thuộc ở đây ngụ ý rằng nó được xây dựng một
cách độc lập hay được xây dựng từ data warehouse. Nhiều doanh nghiệp chọn giải pháp
xây dựng data mart độc lập rồi mới xây dựng data warehouse. Điều này làm giảm đáng
kể chi phí ban đầu cũng như độ phức tạp của dự án vì thông thường data mart có qui mô
nhỏ hơn, dễ quản lí hơn và cũng dễ xây dựng hơn.
Trong mô hình kiến trúc của data warehouse thì lớp Data mart nằm giữa lớp người dùng
và lớp data warehouse thực chất là Data mart phụ thuộc. Data mart này đã được chuẩn bị
sẵn để phục vụ một số nhu cầu đã được tính trước ở mức phòng ban. Người sử dụng data
21


mart này cũng là những người dùng có nhu cầu cụ thể trong một vài lĩnh vực nào đó. Do
vậy, data mart được xem là có cấu trúc ở mức phòng ban còn data warehouse có cấu trúc
mức doanh nghiệp. Điểm khác biệt về cấu trúc này còn được thể hiện ở chỗ dữ liệu trong
Data Warehouse được thể hiện dưới dạng sao, bông tuyết trong khi đó ở Data mart dữ
liệu thường được thể hiện dưới dạng hộp hay đa chiều.

e) Tiến trình phân bổ dữ liệu đến người dùng cuối
Mục tiêu chính khi xây dựng Data Warehouse chính là để khai thác thông tin, chính vì thế
tiến trình phân bổ dữ liệu đến người dùng cuối là tiến trình có nhiều ý nghĩa hơn cả. Tuy
nhiên, data warehouse thực chất là một hệ quản trị cơ sở dữ liệu được tăng cường các tính
năng đặc biệt để đáp ứng yêu cầu của nhiệm vụ mới, chính vì thế bản thân nó không có
chức năng khai thác.
Mặc dù người dùng cuối hoàn toàn có thể dùng các câu lệnh truy vấn dữ liệu SQL để
khai thác dữ liệu trong Data Warehouse nhưng điều đó là không khả thi và không có ý
nghĩa khi mà khối lượng dữ liệu cần truy xuất là rất lớn và yêu cầu về dữ liệu lại phức
tạp, đa dạng. Chính vì vậy, thông thường tiến trình phân bổ dữ liệu thường do một
chương trình khai thác dữ liệu riêng biệt đảm trách. Các chương trình này thường được
gọi là OLAP server để chỉ rõ rằng chúng là những ứng dụng OLAP và có nhiệm vụ như

một server dữ liệu.
Tiến trình phân bổ dữ liệu được chia thành hai tiến trình :


Tiến trình phân bổ dữ liệu vào data mart : tiến trình này do data warehouse đảm
nhiệm, có nghĩa là nó có thể được thực hiện một cách tự động và chính xác bởi
các thủ tục được cài sẵn trong data warehouse mà không cần sự can thiệp từ bên
ngoài. Các thủ tục này cần phải được viết trước.



Tiến trình phân bổ dữ liệu tới người dùng cuối : người dùng cuối có thể khai
thác trực tiếp dữ liệu từ data warehouse thông qua các công cụ khai thác OLAP,
đồng thời họ cũng có thể lấy dữ liệu từ data mart. Trong trường hợp này do được
phân hoạch và tổng hợp sẵn nên tốc độ truy xuất cũng như hiệu quả công việc sẽ
cao hơn. Những báo cáo nhiều chiều định kì hoàn toàn có thể được thực hiện
nhanh chóng thông qua việc truy xuất data mart.

g) Lớp ứng dụng

22


Khi xây dựng một hệ thống mới người ta thường phải tính đến lợi tức đầu tư (ROI). Với
data warehouse cũng vậy, sẽ là rất tốn kém và ít hiệu quả nếu chỉ có một số lượng ít
người dùng có thể truy xuất dữ liệu từ data warehouse. Nghịch lí về đầu tư và thu hoạch
trong data warehouse chỉ có thể được giải quyết khi rất nhiều người sử dụng cùng có thể
khai thác được data warehouse. Đây chính là lý do khiến cho việc phát triển các ứng
dụng sử dụng data warehouse trở nên sôi động và phát triển mạnh mẽ hơn lúc nào hết.
Sau đây chúng ta sẽ cùng xem xét một số lớp ứng dụng chính với mục đích giới thiệu chứ

không đi vào chi tiết.


Sử dụng intranet, internet : để đưa được thông tin đến với nhiều người dùng thì
cách thức tốt hơn cả là sử dụng mạng thông tin. Intranet là cách thức đầu tiên
được nghĩ tới bởi nó vừa có khả năng nhanh chóng đưa thông tin tới người dùng
cuối lại vừa có tính an toàn cao. Mạng nội bộ của công ty là mảnh đất màu mỡ
để khai thác và đưa các ứng dụng data warehouse đến với người dùng. Tiếp đến
sẽ là sử dụng Internet và các giao thức truyền thông cơ bản trên Internet. Thế
mạnh nổi trội của các ứng dụng sử dụng Internet là không cần cài đặt một ứng
dụng đặc biệt nào ở phía người sử dụng. Toàn bộ ứng dụng có thể cài đặt ở phía
server ứng dụng Web. Việc cập nhật, chỉnh sửa và phát triển ứng dụng hoàn toàn
độc lập với người dùng. Cho đến nay các ứng dụng chạy trên web mà cụ thể là
chuỵ trên giao thức HTTP (HyperText Transfer Protocol) đang được phát triển
một cách nhanh chóng và đã trở nên không thua kém gì các ứng dụng chạy trên
mô hình khách/chủ về mặt giao diện cũng như độ phức tạp. Các hãng sản xuất
hệ quản trị cơ sở dữ liệu nổi tiếng cũng như nhiều hãng thứ ba khác đã chế tạo
rất nhiều công cụ cho phép lập trình viên có thể dễ dàng viết các ứng dụng trên
web truy xuất cơ sở dữ liệu hoặc đơn giản hơn là chỉ cần dịch lại các chương
trình chạy trên mô hình khách/chủ thành ứng dụng chạy trên web.



Sử dụng các phần mềm đầu cuối : các phần mềm đầu cuối là các phần mềm giao
tiếp trực tiếp với người dùng cuối. Số lượng và chủng loại của các phần mềm
kiểu này hiện nay rất đa dạng. Chúng có thể hỗ trợ những tác vụ từ đơn giản như
lập các báo cáo, tìm duyệt dữ liệu hay phức tạp hơn như hỗ trợ các câu truy vấn
phức tạp đặc biệt hoặc cũng có thể là những phần mềm chuyên dụng để khai phá
tri thức, hỗ trợ quyết định sử dụng data warehouse.
23



Như vậy nhìn tổng thể ta có thể thấy được kiến trúc của Data Warehouse là khá phức tạp.
Mô hình cho thấy theo chiều hướng từ trái qua phải thì tính thông tin của dữ liệu ngày
càng được thể hiện rõ hơn và tại lớp ứng dụng, người dùng cuối được sự hỗ trợ của các
công cụ khai thác dữ liệu có thể dễ dàng lấy được các thông tin trong data warehouse.
Kiến trúc của data warehouse được đề cập ở phần trên chỉ là một mô hình có cấu trúc
tổng quát. Về cơ bản nó có thể được áp dụng cho mọi mô hình data warehouse. Tuy
nhiên, mỗi một hãng làm data warehouse lại có những ý tưởng riêng và thường xây dựng
mô hình riêng cho hãng của mình.

CHƯƠNG 3

KIẾN TRÚC DỮ LIỆU CỦA DATA WAREHOUSE
Trong chương này học viên đi tìm hiểu và so sánh sự khác nhau giữa hệ thống thông tin
và hệ thống tác nghiệp, sau đó sẽ nghiên cứu kiến trúc dữ liệu của data warehouse để
thấy rõ sự khác nhau của nó với cơ sở dữ liệu tác nghiệp.
3.1. HỆ THỐNG THÔNG TIN VÀ HỆ THỐNG TÁC NGHIỆP

Rất có thể là khái niệm qua trọng nhất khi nhận thức về data warehouse chính là việc có
hai loại hệ thống cơ bản trong tất cả các tổ chức : hệ thống thông tin và hệ thống tác
nghiệp. Hai hệ thống này mặc dù khác nhau cơ bản về mục đích sử dụng, phương thức
vận hành cũng như cấu trúc bên trong nhưng chúng lại thường có những mối liên hệ chặt
chẽ.
Hệ thống tác nghiệp (operational system) : bản thân cái tên đã nói lên được bản chất của
chúng. Chúng là những hệ thống giúp vận hành doanh nghiệp hàng ngày. Chúng là trụ cột
của bất kì một doanh nghiệp nào. Các hóa đơn nhập, các bảng kê hàng, các mẫu thiết kế,
bảng lương, bảng quyết toán cuối kì, ... tất cả đều phải được tạo ra bởi hệ thống tác
nghiệp. Chính bởi vai trò quan trọng đối với toàn bộ doanh nghiệp mà hệ thống tác
nghiệp luôn là hệ thống đầu tiên được điện toán hóa. Theo thời gian, những hệ thống tác

nghiệp đó được mở rộng, viết lại, tăng cường tính năng cũng như được tiếp tục bảo trì để
đảm bảo rằng chúng hoàn toàn thích ứng được với sự phát triển của doanh nghiệp. Trên
24


thực tế, hầu hết các doanh nghiệp lớn trên thế giới hiện nay đều không thể vận hành được
nếu không nhờ đến sự hỗ trợ của hệ thống tác nghiệp được điện toán hóa và những số
liệu mà hệ thống này đang lưu trữ, xử lý.
Dữ liệu của hệ thống tác nghiệp thường được lưu trữ trong cơ sở dữ liệu quan hệ. Mặc dù
chúng có thể được lưu trữ trong một số loại cơ sở dữ liệu khác nhau, thậm chí là trong
các tệp tin phẳng (flat file) nhưng thực tế cho thấy sử dụng cơ sở dữ liệu quan hệ là cách
thức tốt nhất để xây dựng một hệ thống tác nghiệp.
Sau đây là một vài tính chất của dữ liệu tác nghiệp (operational data) :


Thường xuyên được cập nhật thông qua các giao dịch trực tuyến.



Được tối ưu hóa để thực thi các tác vụ giao dịch.



Được chuẩn hóa cao, dễ dàng cập nhật và bảo trì.

Tuy nhiên, không chỉ có vậy, doanh nghiệp trong quá trình phát triển của mình còn cần
phải thực hiện một số hoạt động khác như lập kế hoạch, dự đoán tương lai và tổ chức
quản lý doanh nghiệp mình. Những hoạt động này cũng là những nhiệm vụ có tầm quan
trọng sống còn với hệ thống, đặc biệt là trong một thế giới đang phát triển một cách
nhanh chóng như hiện nay. Những chức năng như "lập kế hoạch marketing", "lập kế

hoạch phát triển" hay "phân tích tình hình tài chính" đều cần đến sự trợ giúp của hệ thống
thông tin. Nhưng rõ ràng những chức năng này khác hẳn so với những chức năng mà hệ
thống tác nghiệp đang đảm nhiệm, đồng thời loại hệ thống và thông tin sử dụng cũng
khác biệt. Ngoài ra cơ sở tri thức cũng là một phần của hệ thống thông tin.
Hệ thống thông tin (informational system) : thực hiện các công việc phân tích dữ liệu và
hỗ trợ quyết định. Thông thường những quyết định này là về cách thức hoạt động của
doanh nghiệp hiện nay và trong tương lai. Không chỉ mục đích sử dụng của hệ thống
thông tin khác với mục đích sử dụng của hệ thống tác nghiệp mà quy mô của chúng cũng
khác nhau. Trong khi dữ liệu trong hệ thống tác nghiệp cần dùng trải ra trong một miền
rộng thì dữ liệu trong hệ thống thông tin chỉ được hình thành từ tập dữ liệu tác nghiệp
giàu có đã được sử dụng trong doanh nghiệp trong nhiều năm và một số nguồn dữ liệu

25


×