Tải bản đầy đủ (.pdf) (92 trang)

Xây dựng kho dữ liệu phục vụ quản lý và khai thác thông tin

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 (2.02 MB, 92 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

NGUYỄN THANH TÙNG

XÂY DỰNG KHO DỮ LIỆU PHỤC VỤ QUẢN LÝ VÀ KHAI
THÁC THÔNG TIN
Chuyên ngành: Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS. TS. Trần Đình Khang

Hà Nội – Năm 2015


LỜI CẢM ƠN
Trước hết, tác giả xin chân thành cảm ơn thầy PGS.TS. Trần Đình Khang
đã hết lòng giúp đỡ, hướng dẫn và chỉ dạy tận tình trong quá trình tác giả thực hiện
luận văn tốt nghiệp.
Tác giả xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong trường
Đại học Bách khoa Hà nội nói chung và các thầy cô trong Viện Công nghệ Thông
tin và Truyền thông nói riêng đã tận tình giảng dạy, truyền đạt cho tác giả những
kiến thức và kinh nghiệm quý báu trong suốt những năm học tập và rèn luyện.
Cuối cùng, tác giả xin được gửi lời cảm ơn tới gia đình, bạn bè đã quan tâm,
động viên, đóng góp ý kiến và giúp đỡ tác giả trong quá trình học tập, nghiên cứu
và hoàn thành luận văn tốt nghiệp.
Hà Nội, ngày


tháng

năm 2015

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

Nguyễn Thanh Tùng

2


MỤC LỤC
MỞ ĐẦU .......................................................................................................................... 8
CHƯƠNG I: KHO DỮ LIỆU .......................................................................................... 10

1.1. TỔNG QUAN VỀ KHO DỮ LIỆU ............................................................ 10
1.1.1. Những vấn đề cơ bản ........................................................................... 10
1.1.2. Các kiểu dữ liệu................................................................................... 11
1.1.3. Kiến trúc kho dữ liệu ........................................................................... 12
1.2. XÂY DỰNG KHO DỮ LIỆU .................................................................... 17
1.2.1. Lập kế hoạch ....................................................................................... 17
1.2.2. Xác định các yêu cầu của hệ thống ...................................................... 18
1.2.3. Các thành phần của kho dữ liệu ........................................................... 20
1.2.4. Mô hình dữ liệu ................................................................................... 20
1.2.5. Tạo lập các kho dữ liệu........................................................................ 23
1.3. XỬ LÝ VÀ KHAI THÁC DỮ LIỆU.......................................................... 25
1.3.1. Truy cập và khai thác dữ liệu............................................................... 25
1.3.2. Xử lý phân tích trực tuyến OLAP ........................................................ 29
CHƯƠNG II: PHẦN MỀM HẠ TẦNG CỒNG THÔNG TIN LIFERAY........................ 36


2.1. GIỚI THIỆU TỔNG QUAN ...................................................................... 36
2.1.1. Định nghĩa........................................................................................... 36
2.1.2. Các tính năng ...................................................................................... 36
2.1.3. Đặc trưng và công nghệ ....................................................................... 37
2.2. CÀI ĐẶT PORTAL LIFERAY TRÊN MÔI TRƯỜNG WINDOWS ......... 38
2.2.1. Cài đặt JDK ......................................................................................... 38
2.2.2. Cài trình biên dịch ANT ...................................................................... 39
2.2.3. Cài đặt PostgreSQL ............................................................................. 39
2.2.4. Cài đặt Liferay .................................................................................... 40
CHƯƠNG III: XÂY DỰNG KHO DỮ LIỆU ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG
YÊN (UTEHY) ............................................................................................................... 41

3.1. TỔNG QUAN CHUNG ............................................................................. 41
3


3.2. DỮ LIỆU TRONG KHO DỮ LIỆU ........................................................... 42
3.2.1. Dữ liệu nghiệp vụ ................................................................................ 42
3.2.2. Siêu dữ liệu ......................................................................................... 42
3.3. XÂY DỰNG KHO DỮ LIỆU .................................................................... 42
3.3.1. Lập kế hoạch ....................................................................................... 43
3.3.2. Yêu cầu của hệ thống .......................................................................... 43
3.3.3. Mô hình dữ liệu ................................................................................... 43
3.3.4. Các nguồn dữ liệu ............................................................................... 45
3.3.5. Tạo lập kho dữ liệu .............................................................................. 46
3.3.6. Các bước cài đặt vật lý cho kho dữ liệu ............................................... 54
3.4. ỨNG DỤNG CỔNG THÔNG TIN LIFERAY UTEHY PORTAL ............. 57
3.4.1. Mục tiêu của ứng dụng ........................................................................ 57
3.4.2. Yêu cầu chức năng .............................................................................. 57
3.4.3. Yêu cầu về tính năng kỹ thuật ............................................................. 63

3.4.4. Phân tích hệ thống ............................................................................... 66
3.4.6. Xây dựng ứng dụng ............................................................................. 74
3.4.7. Kết quả ................................................................................................ 86
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................ 91
TÀI LIỆU THAM KHẢO ............................................................................................... 92

4


DANH MỤC HÌNH
Hình 1. 1. Kiến trúc dữ liệu ba tầng ...................................................................... 13
Hình 1. 2. Kiến trúc dữ liệu của Metadata ............................................................. 13
Hình 1. 3. Kiến trúc ba tầng của DW .................................................................... 14
Hình 1. 4. Toàn bộ kiến trúc logic và các chức năng của DW ............................... 16
Hình 1. 5. Tổng quan về kiến trúc kho dữ liệu ...................................................... 17
Hình 1. 6. Lược đồ bông tuyết .............................................................................. 21
Hình 1. 7. Mô hình dữ liệu đa chiều ...................................................................... 22
Hình 1. 8. Quá trình tạo lập dữ liệu của DW ......................................................... 24
Hình 1. 9. Các công cụ hỗ trợ khai thác kho dữ liệu .............................................. 26
Hình 1. 10. Một số lĩnh vực ứng dụng DW và qui trình khai thác thông tin ........... 27
Hình 1. 11. Các bước thực hiện để sử dụng dữ liệu trong kho ............................... 28
Hình 1. 12. OLAP trong kiến trúc của kho dữ liệu ................................................ 31

Hình 2. 1. File kết nối Liferay với hệ quản trị cơ sở dữ liệu PostgreSQL .............. 40

Hình 3. 1. Thông tin kết quả học tập của sinh viên ................................................ 46
Hình 3. 2. Mô hình quan hệ trong hệ quản trị cơ sở dữ liệu PostgreSQL ............... 50
Hình 3. 3. Bảng _Dim_SinhVien .......................................................................... 51
Hình 3. 4. Bảng _Dim_MonHoc ........................................................................... 52
Hình 3. 5. Bảng _Dim_Lop ................................................................................... 53

Hình 3. 6. Sơ đồ USECASE tổng quát cúa UTEHY Portal .................................... 71
Hình 3. 7. Sơ đồ Quản lý người dùng của UTEHY Portal ..................................... 72
Hình 3. 8. Sơ đồ Quản lý chuyên mục của UTEHY Portal .................................... 73
Hình 3. 9. Cấu trúc trang của UTEHY Portal ........................................................ 74
Hình 3. 10. Trang Lời giới thiệu ............................................................................ 75
Hình 3. 11. Trang Đội ngũ cán bộ ......................................................................... 76
Hình 3. 12. Trang Lịch sử phát triển ..................................................................... 76
5


Hình 3. 13. Trang Tầm nhìn và sứ mạng ............................................................... 77
Hình 3. 14. Trang Chiến lược phát triển ................................................................ 77
Hình 3. 15. Trang Ban giám hiệu .......................................................................... 78
Hình 3. 16. Trang Cơ cấu tổ chức.......................................................................... 78
Hình 3. 17. Trang Công khai ................................................................................. 79
Hình 3. 18. Trang Quy mô đào tạo ........................................................................ 79
Hình 3. 19. Trang Đào tạo Sau đại học .................................................................. 80
Hình 3. 20. Trang Đào tạo Đại học - Cao đẳng ...................................................... 80
Hình 3. 21. Trang Hợp tác đào tạo ........................................................................ 81
Hình 3. 22. Trang Tuyển sinh ................................................................................ 81
Hình 3. 23. Trang Cơ hội việc làm ........................................................................ 82
Hình 3. 24. Trang Tin trong trường ...................................................................... 82
Hình 3. 25. Trang Tin ngoài trường ....................................................................... 83
Hình 3. 26. Trang Phòng ban chức năng................................................................ 83
Hình 3. 27. Trang Khoa bộ môn ............................................................................ 84
Hình 3. 28. Trang các Cơ sở.................................................................................. 84
Hình 3. 29. Trang Thư viện tài liệu ....................................................................... 85
Hình 3. 30. Trang Lịch công tác ............................................................................ 85
Hình 3. 31. Trang Các văn bản .............................................................................. 86
Hình 3. 32. Trang Liên hệ ..................................................................................... 86

Hình 3. 33. Báo cáo lực học của sinh viên thuộc mỗi khóa học dạng cột ............... 88
Hình 3. 34. Báo cáo thống kê số lượng về giới tính dạng thanh ............................. 89
Hình 3. 35. Theo dõi điểm toán của sinh viên một khóa ........................................ 89
Hình 3. 36. Theo dõi điểm tổng kết của sinh viên một khóa .................................. 89
Hình 3. 37. Học lực của sinh viên theo kỳ học ...................................................... 90

6


DANH MỤC BẢNG
Bảng 3. 1. Bảng các cơ sở dữ liệu ......................................................................... 49
Bảng 3. 2. Các chức năng cần có của cổng thông tin điện tử ................................. 62
Bảng 3. 3. Các chức năng nên có của cổng thông tin điện tử ................................. 63
Bảng 3. 4. Các tính năng kỹ thuật cần có của cổng thông tin điện tử ..................... 66
Bảng 3. 5. Các tính năng kỹ thuật nên có của cổng thông tin điện tử ..................... 66

7


MỞ ĐẦU
I. Lý do chọn đề tài
Trong bối cảnh toàn cầu hóa ngày nay, công nghệ thông tin (CNTT) và
truyền thông dần trở thành nguồn lực quan trọng trong phát triển kinh tế, xã hội.
Các hệ thống thông tin được xây dựng thực sự đem lại hiệu quả và lợi ích cho cả
các cơ quan, tổ chức, các đơn vị nhà nước, các doanh nghiệp và cộng đồng người sử
dụng. Chính vì thế, việc ứng dụng CNTT vào hoạt động của quản lý hiện nay đang
là một chủ trương lớn của nhà nước.
Trường Đại học sư phạm kỹ thuật Hưng Yên là trường đại học công lập
thuộc Bộ Giáo dục & Đào tạo, đào tạo nhiều ngành nghề với nhiều hình thức và
nhiều hệ đào tạo khác nhau. Các thông tin liên quan đến HSSV là cơ sở để Nhà

trường đánh giá chất lượng giảng dạy và học tập, lập các báo cáo cũng như định
hướng kế hoạch tuyển sinh, hướng đào tạo cho các HSSV các khóa tiếp theo...
Trong những năm gần đây Nhà trường đã đưa vào sử dụng và khai thác nhiều phần
mềm hỗ trợ cho công tác đào tạo như phần mềm Edusoft: lập thời khóa biểu, quản
lý hồ sơ học sinh sinh viên,... Bên cạnh đó là một số phần mềm tiện ích khác như:
Quản lý vật tư, quản lý học phí,... bước đầu đã thống nhất được các quy trình, biểu
mẫu... Tuy nhiên, cơ sở dữ liệu bị hạn chế về kích thước, hạn chế hỗ trợ được tính
năng sinh báo cáo, ra quyết định, dự đoán xu hướng một cách nhanh nhất.
Xuất phát từ vấn đề trên, học viên thực hiện đề tài luận văn "Xây dựng kho
dữ liệu phục vụ quản lý và khai thác thông tin", trong đó đề xuất xây dựng một kho
dữ liệu về thông tin của sinh viên với mong muốn góp phần trợ giúp cho công tác
quản lý đào tạo của trường Đại học Sư phạm Kỹ thuật Hưng Yên.
II. Mục đích và nhiệm vụ nghiên cứu
1. Mục đích
Xây dựng kho dữ liệu hỗ trợ cho việc quản lý và khai thác thông tin tại
trường Đại học Sư phạm kỹ thuật Hưng Yên.
2. Nhiệm vụ

8


- Nghiên cứu tổng quan về kho dữ liệu: Định nghĩa, đặc điểm của dữ liệu,
các kiểu dữ liệu, kiến trúc của kho dữ liệu,…
- Nghiên cứu cách thức xây dựng kho dữ liệu: Lập kế hoạch, xác định yêu
cầu, phân tích thành phần của kho dữ liệu, mô hình dữ liệu, tạo lập kho dữ liệu.
- Nghiên cứu việc truy cập và khai thác dữ liệu trong kho dữ liệu
- Nghiên cứu tính năng, đặc trưng và công nghệ của phần mềm hạ tầng cổng
thông tin dùng mã nguồn mở Liferay
- Cài đặt Liferay Portal trên môi trường Windows
- Xây dựng Kho dữ liệu trường Đại học Sư phạm kỹ thuật Hưng Yên

3. Đối tượng nghiên cứu
- Phần mềm hạ tầng cổng thông tin Liferay
- Hệ quản trị cơ sở dữ liệu PostgresQL
4. Phương pháp nghiên cứu
Các phương pháp nghiên cứu chính:
- Phương pháp phân tích tổng hợp lý thuyết.
- Phương pháp nghiên cứu thực nghiệm.
III. Tóm tắt cô đọng các luận điểm cơ bản và đóng góp mới của tác giả
- Tác giả đã tập trung nghiên cứu về kho dữ liệu, các vấn đề liên quan đến
kho dữ liệu: đặc điểm dữ liệu, các kiểu dữ liệu, kiến trúc kho dữ liệu, xây dựng kho
dữ liệu.
- Nghiên cứu, tìm hiểu hệ quản trị cơ sở dữ liệu PostgreSQL, xây dựng kho
dữ liệu thông tin sinh viên trên PostgreSQL.
- Tích hợp, lưu trữ dữ liệu cồng thông tin Liferay vào cùng kho dữ liệu đã
xây dựng trên PostgreSQL.

9


CHƯƠNG I: KHO DỮ LIỆU
1.1. TỔNG QUAN VỀ KHO DỮ LIỆU
1.1.1. Những vấn đề cơ bản
a. Định nghĩa
Kho dữ liệu (Data Warehouse - DW) là tập hợp các CSDL tích hợp, hướng
chủ đề, được thiết kế để hỗ trợ cho chức năng tạo quyết định, mà mỗi đơn vị dữ liệu
đều liên quan tới một khoảng thời gian cụ thể.
Kho dữ liệu thường rất lớn, nó được xây dựng để tiện lợi cho việc truy cập
theo nhiều nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả
những ứng dụng của các công nghệ hiện đại và kế thừa được từ những hệ thống đã
có sẵn từ trước.

b. Mục đích và yêu cầu
Mục đích của kho dữ liệu nhằm đáp ứng mọi yêu cầu về thông tin của NSD.
Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của mình.
Giúp cho tổ chức, xác định, quản lý và điều hành các dự án, các nghiệp vụ một cách
hiệu quả và chính xác. Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác
nhau.
Yêu cầu đối với kho dữ liệu: Nâng cao chất lượng dữ liệu bằng các phương
pháp làm sạch và tinh lọc dữ liệu theo những hướng chủ đề nhất định. Tổng hợp và
kết nối dữ liệu. Đồng bộ hoá các nguồn dữ liệu với DW. Phân định và đồng nhất
các hệ quản trị cơ sở dữ liệu tác nghiệp như là các công cụ chuẩn để phục vụ cho
DW. Quản lí siêu dữ liệu, cung cấp thông tin được tích hợp, tóm tắt hoặc được liên
kết, tổ chức theo các chủ đề. Dùng trong các hệ thống hỗ trợ quyết định, các hệ
thống thông tin tác nghiệp hoặc hỗ trợ cho các truy vấn đặc biệt.
c. Đặc điểm của dữ liệu trong kho dữ liệu
- Tính tích hợp (Integration): Kho dữ liệu thường được xây dựng bằng cách
tổng hợp dữ liệu từ nhiều nguồn khác nhau, ví dụ các cơ sở dữ liệu, những bản ghi
giao tác trực tuyến hoặc thậm chí là từ những file dữ liệu độc lập. Những dữ liệu

10


này tiếp tục được làm sạch, chuẩn hóa để đảm bảo sự nhất quán, sau đó đưa vào kho
dữ liệu.
- Hướng chủ đề: Kho dữ liệu có thể chứa lượng dữ liệu lên tới hàng trăm
Gigabyte, được tổ chức theo những chủ đề chính. Kho dữ liệu không chú trọng vào
giao tác và việc xử lý giao tác. Thay vào đó, kho dữ liệu tập trung vào việc mô hình
hóa, phân tích dữ liệu nhằm hỗ trợ cho nhà quản lý ra quyết định. Do đó, các kho dữ
liệu thường cung cấp một khung nhìn tương đối đơn giản bằng cách loại bớt những
dữ liệu không cần thiết trong quá trình ra quyết định.
- Dữ liệu có tính lịch sử: Do có tính ổn định, kho dữ liệu thường lưu trữ dữ

liệu của hệ thống trong khoảng thời gian dài, cung cấp đủ số liệu cho các mô hình
nghiệp vụ, dự báo, khảo sát những chỉ tiêu cần quan tâm.
- Dữ liệu có tính ổn định (nonvolatility): Dữ liệu trong kho dữ liệu thường
được lưu trữ lâu dài, ít bị sửa đổi, chủ yếu dùng cho việc truy xuất thông tin nên có
độ ổn định cao. Hai thao tác chủ yếu tác động tới kho dữ liệu là : nhập dữ liệu vào
và truy xuất
d. Cách lưu trữ dữ liệu
Có hai cách lưu trữ dữ liệu theo đa chiều: Mô hình dữ liệu đa chiều MDD
(MultiDimensional Database) sử dụng cấu trúc khối Cube để lưu trữ với kỹ thuật
khai thác tương ứng là MOLAP. Lưu trữ theo mô hình dữ liệu quan hệ đa chiều sử
dụng sơ đồ hình sao.
1.1.2. Các kiểu dữ liệu
a. Dữ liệu nghiệp vụ (Business data - BD)
Dữ liệu nghiệp vụ là dữ liệu dùng để vận hành và quản lý một doanh nghiệp
hoặc một tổ chức. Nó phản ánh những hoạt động của doanh nghiệp và những đối
tượng trong thế giới thực như là khách hàng, địa điểm, sản phẩm... Nó được tạo ra
và sử dụng bởi các hệ thống xử lý giao tác cũng như các hệ thống hỗ trợ quyết định
(DSS).
b. Siêu dữ liệu (Metadata)

11


Siêu dữ liệu là dữ liệu về dữ liệu được sử dụng trong DW, trả lời các câu hỏi
ai, cái gì, khi nào, tại sao, như thế nào về dữ liệu. Các thuộc tính này được sử dụng
cho việc xây dựng, duy trì, quản lí và sử dụng kho dữ liệu. Siêu dữ liệu là một phần
quan trọng nhất của kho dữ liệu.
1.1.3. Kiến trúc kho dữ liệu
a. Kiến trúc dữ liệu nghiệp vụ
Dữ liệu nghiệp vụ bao gồm tập tất cả các dữ liệu được sử dụng trong các quá

trình thực thi và quản lý công việc, thường gọi là dữ liệu xí nghiệp (enterprise data).
Có ba mô hình kiến trúc dữ liệu: Kiến trúc dữ liệu một tầng, kiến trúc dữ liệu hai
tầng, kiến trúc dữ liệu ba tầng.
* Kiến trúc dữ liệu một tầng (Single-layer Architecture): Nguyên lý chính
của kiến trúc này là mỗi phần tử dữ liệu một lần lưu trữ và chỉ một lần.
* Kiến trúc dữ liệu hai tầng (Two-layer Architecture)
Một điểm cải tiến của kiến trúc nêu trên là phân tách vùng dữ liệu sử dụng
khác nhau của hai loại hệ thống: hệ thống thao tác và hệ thống xử lý thông tin.
Tầng dưới, gồm những dữ liệu được sử dụng cho các ứng dụng tác nghiệp,
thực hiện được cả đọc và ghi, đó là những dữ liệu thời gian thực. Tầng trên bao gồm
những dữ liệu dẫn xuất giành cho các ứng dụng tìm kiếm thông tin. Dữ liệu dẫn
xuất có thể được xác định từ dữ liệu thời gian thực thông qua các quá trình tính
toán, hoặc cũng có thể là bản sao của dữ liệu thời gian thực.
* Kiến trúc dữ liệu ba tầng (Three-layer Architecture)
Vấn đề cốt lõi của kiến trúc này là dữ liệu thời gian thực chuyển sang dữ liệu
dẫn xuất phải thực hiện qua hai bước.
- Hoà hợp (Reconcile) các dữ liệu từ tập dữ liệu thời gian thực, tầng trung
gian. Đây chính là một cách thực hiện để chuẩn hoá CSDL. Mục đích chính là thu
thập nhiều dữ liệu khác nhau từ các hệ thống thông tin tác nghiệp phân tán để tổ
hợp lại vào một bức tranh dữ liệu chung cho mỗi xí nghiệp.

12


Đặc trưng của kiến trúc ba tầng: Hỗ trợ cho những yêu cầu cần những thông
tin mới từ dữ liệu. Giảm thiểu được số lượng dữ liệu thông tin quản lý. Giảm thiểu
sự lặp lại của dữ liệu.
- Dữ liệu được hoà hợp cung cấp dữ liệu dẫn xuất theo yêu cầu NSD.

Hình 1. 1. Kiến trúc dữ liệu ba tầng


b. Kiến trúc siêu dữ liệu
Việc phân loại Metadata thành một số loại cũng sẽ dẫn đến việc phải xác
định kiến trúc dữ liệu thích hợp cho Metadata. Hiện nay, kiến trúc thường được sử
dụng cho Metadata gần với kiến trúc ba tầng.
Cấu trúc của Metadata gồm ba phần có quan hệ tương tác với nhau như sau:

Hình 1. 2. Kiến trúc dữ liệu của Metadata

* Siêu dữ liệu thời gian xây dựng (Build-time Metadata)
13


Những công cụ hỗ trợ để xác định và biểu diễn những thông tin nghiệp vụ
một cách có nghĩa thường được sử dụng để tạo lập và quản lý các siêu dữ liệu thời
gian xây dựng. Đó chính là các công cụ mô hình hoá dữ liệu. Siêu dữ liệu thời gian
xây dựng được thiết lập thông qua cấu trúc, cách lưu trữ và thời gian thu thập được
dữ liệu bằng các CASE.
* Siêu dữ liệu điều khiển (Control Metadata)
Siêu dữ liệu điều khiển mô tả dữ liệu lưu hành và dữ liệu tiện dụng của dữ
liệu nghiệp vụ. Dữ liệu lưu hành là dữ liệu được các chương trình ứng dụng hoặc
các công cụ tạo ra và cập nhật từ dữ liệu nghiệp vụ. Siêu dữ liệu lưu hành (Currency
Metadata) tồn tại ở nhiều mức chi tiết khác nhau.
* Siêu dữ liệu sử dụng (Usage Metadata)
Tầm quan trọng của siêu dữ liệu sử dụng chỉ được phát hiện với sự xuất hiện
của DW và khối lượng lớn dữ liệu được tạo ra để NSD khai thác.
c. Kiến trúc logic và chức năng của kho dữ liệu
* Kiến trúc logic
Dữ liệu nghiệp vụ bao gồm ba loại: dữ liệu thời gian thực, dữ liệu tương hợp
và dữ liệu dẫn xuất. Mỗi loại dữ liệu này có thể ở các tầng khác nhau và mỗi tầng có

cấu trúc vật lý riêng. Kiến trúc dữ liệu logic cho DW có thể xây dựng như sau:

Hình 1. 3. Kiến trúc ba tầng của DW

14


- Hệ thống thao tác (Operational System): Hệ thống thao tác là chương trình
phần mềm ứng dụng để thực hiện các nghiệp vụ và các dữ liệu được lưu ở hệ thống
tệp hay CSDL. Hệ thống thao tác bao gồm các nguồn dữ liệu của DW. Dữ liệu được
tạo ra trong các hệ thống xử lý giao tác hàng ngày của xí nghiệp.
- Kho dữ liệu nghiệp vụ (Business Data Warehouse - BDW): Kho dữ liệu
nghiệp vụ BDW là dạng cài đặt vật lý những dữ liệu tổng hợp được thiết kế để điều
khiển và cung cấp dữ liệu đơn giản, nhất quán cho NSD đầu cuối.
- Kho thông tin nghiệp vụ (Business Information Warehouse - BIW): Đây là
hệ thống thông tin được sử dụng để làm báo cáo, phân tích, hay dự đoán về nghiệp
vụ. BIW được xây dựng hoặc trực tiếp từ BDW hoặc gián tiếp từ những BDW khác.
* Các chức năng của kho dữ liệu
- Truy cập dữ liệu (Data Access). Khối chức năng này bao gồm hai khối con.
Khối con truy nhập: Truy nhập trực tiếp vào Data Warehouse. Truy nhập vào các
Datamart. Gia công lại và biến đổi dữ liệu thành các loại dữ liệu có cấu trúc phức
tạp hơn. Khối con phân tích, tạo lập báo cáo: Tạo ra các công cụ chuẩn để tạo báo
cáo, phân tích, mô hình hoá tác nghiệp. Tạo ra các phần mềm trợ giúp ra quyết định,
các phần mềm khai thác dữ liệu.
- Quản trị các quá trình (Process Management). Các thành phần của DW có
thể hoạt động trên những môi trường khác nhau. Các quá trình thiết lập BDW, BIW,
DWC có thể một phần đọc lập, nhưng phần lớn là có sự phụ thuộc vào nhau.
- Chuyển tải dữ liệu (Data transfer). Chức năng này đảm nhận việc chuyển
dữ liệu vật lý vào bên trong hệ thống DW.
- Đảm bảo an ninh dữ liệu (Security). Trong DW chứa các tập dữ liệu về một

tổ chức, xi nghiệp, do vậy luôn có nhu cầu phải đảm bảo quản lý được quyền truy
nhập và sử dụng về những dữ liệu đó. Đây là vấn đề quan trọng.
- Quản trị CSDL. Nó bao gồm hai chức năng chính quản trị dữ liệu và quản
trị siêu dữ liệu.

15


+ Quản trị dữ liệu: Sao lại các dữ liệu thích hợp từ nguồn dữ liệu đã chọn
phục vụ cho việc tinh chế và gia công lại dữ liệu trong Data Warehouse. Giám sát
và đáp ứng các đòi hỏi cho các dữ liệu mới rút từ các nguồn dữ liệu khác nhau. Bảo
quản các dữ liệu trong các nguồn dữ liệu tác nghiệp và nạp lại hoặc cập nhật và làm
sạch dữ liệu. Mặt khác, lớp quản lí dữ liệu thống nhất các phương pháp quản lí dữ
liệu, các thủ tục, các phép toán phục vụ cho việc an toàn, phân quyền truy nhập, lưu
trữ và khôi phục dữ liệu. Việc thực hiện các xử lí song song và phục hồi việc sử
dụng các xử lí song song cho việc truy nhập dữ liệu cũng được quản lí trong lớp
này.
+ Quản trị siêu dữ liệu: Các chức năng chính của lớp này là sao chép, tạo
mới, lưu trữ, phục hồi, làm sạch và cập nhật các siêu dữ liệu.

Hình 1. 4. Toàn bộ kiến trúc logic và các chức năng của DW

Từ những kiến trúc tổng thể chúng ta có thể đưa ra cách nhìn tổng quan về
kiến trúc kho dữ liệu, trong đó thể hiện được cách nạp dữ liệu về kho, cách truy
nhập, xử lý thông tin,...
16


Hình 1. 5. Tổng quan về kiến trúc kho dữ liệu


1.2. XÂY DỰNG KHO DỮ LIỆU
Hệ thống kho dữ liệu DW cũng giống như các hệ thống phần mềm khác, có
chu trình phát triển được cải tiến và hoàn thiện liên tục. Để phát triển được kho dữ
liệu DW, chúng ta phải thực hiện lần lượt các bước: lập kế hoạch, xác định các yêu
cầu, phân tích thành phần, thiết kế, cài đặt, trắc nghiệm và bảo trì hệ thống kho dữ
liệu.
1.2.1. Lập kế hoạch
Khi đã thống nhất xây dựng dự án phát triển kho dữ liệu phục vụ cho các
hoạt động của một cơ quan thì vấn đề trước tiên cần phải xây dựng kế hoạch thực
hiện bao gồm các bước như sau:
17


a. Xác định chiến lược cài đặt: Đây là bước rất quan trọng, nó quyết định về
cơ cấu tổ chức của kho dữ liệu. Có ba cách tiếp cận chính: Thực hiện trên xuống
(Top-down), thực hiện dưới lên (Bottom up), tổ hợp của hai cách tiếp cận trên.
b. Lựa chọn phương pháp và mô hình phát triển kho dữ liệu: Để phát triển hệ
thống kho dữ liệu có hai phương pháp cơ bản: Phương pháp hướng chức năng: tập
trung vào chức năng là chính, dữ liệu là phụ. Phương pháp hướng đối tượng: xem
hệ thống là tập các đối tượng và do vậy tập trung chính vào dữ liệu.
c. Xác định mục tiêu của kho dữ liệu: Việc xác định kho dữ liệu là rất phức
tạp vì kho dữ liệu chính là một hệ thống các CSDL lớn, phức tạp với khối lượng dữ
liệu khổng lồ và thường là không thuần nhất, bao quát nhiều lĩnh vực khác nhau.
d. Xác định phạm vi của hệ thống: Trong hầu hết các tổ chức, lý do cần phát
triển kho dữ liệu là nhằm đáp ứng nhu cầu quản lý, khai thác thông tin để thực hiện
công việc hay trợ giúp quyết định trong quản lý, điều hành công việc của một nhóm
người, một bộ phận hay cả tổ chức đó.
e. Lựa chọn kiến trúc: Có thể xây dựng kho dữ liệu theo những kiến trúc sau:
- Chỉ xây dựng quầy dữ liệu (Data Mart). Kiến trúc này phù hợp cho các
Phòng, Ban trong tổ chức có nhu cầu riêng.

- Chỉ xây dựng kho dữ liệu. Trong kiến trúc này, các phép xử lý đối với các
nguồn dữ liệu như: làm sạch, tích hợp, tổng hợp,... sẽ được sử dụng chung cho mọi
ứng dụng.
- Xây dựng kho dữ liệu và cả quầy dữ liệu. Mỗi bộ phận có tiểu kho, được
đặt trong một cơ cấu thống nhất được gọi là tổng kho, hay kho dữ liệu liên hợp. Đây
chính là kiến trúc ba tầng đã phân tích.
- Kiến trúc Client/Server gồm hai lớp chình: lớp Server và lớp Client. Server
thực hiện các chương trình trong kho, quầy dữ liệu và lưu trữ dữ liệu vào kho.
Client thực hiện các chương trình khai thác, lập báo cáo, lưu trữ dữ liệu cục bộ,...
f. Xây dựng chương trình và dự kiến ngân sách
1.2.2. Xác định các yêu cầu của hệ thống
a. Yêu cầu của chủ sở hữu:
18


Để xác định được các yêu cầu của người quản lý và chủ hệ thống thì phải trả
lời được những câu hỏi như: Tại sao cần xây dựng kho dữ liệu và Data Mart?
Những vấn đề nào cần tập trung giải quyết? Mục đích của tổ chức, doanh nghiệp là
gì? Ai là người đầu tư, tài trợ và là khách hàng? Kinh phí cung cấp là bao nhiêu?
Khi nào cần phải hoàn thành hệ thống? Những khả năng đầu tư về máy tính, các
thiết bị ngoại vi, thiết bị phụ trợ, kết nối mạng và đường truyền dữ liệu,... Những
công nghệ hiện đại có thể áp dụng? Những may rủi có thể xảy ra?
b. Yêu cầu của kiến trúc sư:
Kiến trúc hệ thống là rất quan trọng, nó quyết định nhiều tính chất và các khả
năng của kho dữ liệu. Kiến trúc là cơ sở để thiết lập các thành phần của một kho dữ
liệu nhằm đáp ứng các nhu cầu hiện tại và tương lai của một tổ chức. Khi xây dựng
kho dữ liệu cần lưu ý tới ba loại kiến trúc sau:
- Kiến trúc dữ liệu (Data Architecture): Kiến trúc này mô tả các mục dữ liệu
và mối quan hệ của chúng trong hệ thống. Dữ liệu là cơ sở để chúng ta tạo lập, xử lý
và phát triển ứng dụng trên chúng.

+ Kiến trúc chương trình ứng dụng: Hệ thống được xem như là tập các
chương trình ứng dụng. Để phục vụ tốt cho những chương trình đó, kho dữ liệu có
thể được xem như là danh mục catalog chứa các chương trình thực hiện theo các
chức năng riêng và mối quan hệ của chúng trong hệ thống. Mỗi chương trình có thể
tạo lập, đọc, cập nhật, ghi, hoặc loại bỏ một số mục dữ liệu trong các quầy dữ liệu
của mình.
+ Kiến trúc công nghệ: Nó mô tả các thành phần công nghệ: máy chủ, các
trạm làm việc, giao diện đồ hoạ GUI, hệ quản trị CSDL DBMS, từ điển dữ liệu,...
c. Yêu cầu của người phát triển hệ thống:
Những người xây dựng hệ thống thường quan tâm đến những vấn đề cụ thể
của kho dữ liệu. Họ có những yêu cầu cơ bản như:
- Yêu cầu về công nghệ
- Yêu cầu về triển khai
- Các yêu cầu về sản phẩm
19


- Các yêu cầu về người tham gia dự án
d. Yêu cầu của người sử dụng đầu cuối:
Người sử dụng đầu cuối của kho dữ liệu, trước hết là các doanh nghiệp, các
kỹ thuật viên, các nhà quản lý, các thương gia, các chuyên viên của những lĩnh vực
liên quan...
- Yêu cầu về siêu dữ liệu: Metrics, thông tin về bí danh (Alias Information),
thông tin về mô hình (Data Model), an ninh dữ liệu (Security), lịch biểu thời gian
nạp dữ liệu (Loading Schedule), Mô tả về kho dữ liệu (Data warehouse
Description),...
- Yêu cầu về truy vấn kho dữ liệu
1.2.3. Các thành phần của kho dữ liệu
a. Các công cụ thu nạp, làm sạch và chuyển đổi dữ liệu:
Công việc quan trọng của quá trình xây dựng kho dữ liệu là lựa chọn dữ liệu

từ ODS để đưa vào kho, đặt chúng các định dạng thích hợp.
b. Các công cụ truy cập:
Truy cập dữ liệu là một chức năng của kho dữ liệu để NSD có được những
dữ liệu, thông tin theo yêu cầu.
1.2.4. Mô hình dữ liệu
Xây dựng mô hình là nền tảng cho việc cài đặt. Sự hiểu biết về hệ thống
nguồn là rất cần thiết để phát triển tầm nhìn về phạm vi hoạt động và mô hình trong
tương lai. Mô hình dữ liệu của DW có thể thiết lập theo: Lược đồ hình sao (Star
Schema), lược đồ bông tuyết (Snowflake), mô hình đa chiều (Mutiple Dimension).
a. Lược đồ hình sao
Lược đồ hình sao được đưa ra bởi Dr. Ralph Kimball. Lược đồ hình sao cho
phép một hệ thống đối tượng có thể kết nối với nhiều đối tượng khác. Mô hình này
thể hiện cách nhìn của NSD về nhiều vấn đề trong tác nghiệp. Trong lược đồ hình
sao, dữ liệu được xác định và phân loại theo 2 kiểu:

20


- Các sự kiện được tổ chức thành bảng Fact. Bảng Fact chứa các thông tin cơ
sở ở mức giao tác ở trong nghiệp vụ mà các ứng dụng cần thiết. Các bảng Fact
thường rất lớn, chứa hàng triệu dòng mà phần lớn là số.
- Các chiều của dữ liệu được tổ chức thành các bảng chiều. Bảng chiều
thường là tương đối nhỏ so với các bảng Fact, chứa các thông tin mô tả. Đó là các
bộ lọc hoặc các ràng buộc của những sự kiện ở bảng Fact. Bảng chiều chứa các dữ
liệu cần thiết cho việc thực hiện các giao tác nghiệp vụ theo một chiều, hay phạm vi
nào đó.
b. Lược đồ bông tuyết - Snowflake
Lược đồ bông tuyết là một sự mở rộng của sơ đồ hình sao tại đó mỗi cánh
sao không phải là một bảng chiều mà là nhiều bảng.
Trong dạng sơ đồ này, mỗi bảng theo chiều của sơ đồ hình sao được chuẩn

hóa hơn. Sơ đồ bông tuyết cải thiện năng suất truy vấn, tối thiểu không gian đĩa cần
thiết để lưu trữ dữ liệu và cải thiện năng suất nhờ việc chỉ phải kết hợp những bảng
có kích thước nhỏ hơn thay vì phải kết hợp những bảng có kích thước lớn lại không
chuẩn hóa. Nó cũng làm tăng tính linh hoạt của các ứng dụng bởi sự chuẩn hóa và ít
mang bản chất theo chiều hơn. Nó làm tăng số lượng các bảng và làm tăng tính
phúc tạp của một vài truy vấn cần có sự tham chiếu tới nhiều bảng.

Hình 1. 6. Lược đồ bông tuyết

21


c. Lược đồ kết hợp
Là kết hợp giữa sơ đồ hình sao dựa trên bảng Fact và những bảng chiều
không chuẩn hóa theo các chuẩn 1, 2, 3 và sơ đồ hình tuyết rơi trong đó tất cả các
bảng chiều đều đã được chuẩn hóa. Trong sơ đồ loại này chỉ những bảng chiều lớn
là được chuẩn hóa còn những bảng khác chứa một khối lượng lớn các cột dữ liệu
chưa được chuẩn hóa.
d. Mô hình dữ liệu đa chiều
Một cách để quan sát một mô hình dữ liệu nhiều chiều là nhìn nó như một
hình khối. Hình sau thể hiện câu truy vấn theo bốn chiều: sản phẩm, thị trường, thời
gian và đơn vị sản phẩm bán được.

Hình 1. 7. Mô hình dữ liệu đa chiều

Bảng nằm bên trái chứa dữ liệu bán hàng chi tiết theo sản phẩm, thị trường
và thời gian. Hình khối nằm bên phải mô tả số lượng hàng bán được theo các chiềutheo loại sản phẩm, theo thị trường và theo thời gian-với các biến đơn vị được tổ
chức như là các tế bào trong các dãy. Hình khối này có thể được mở rộng bao gồm
thêm một dãy khác-theo một chiều khác nữa là giá tiền-liên quan tới tất cả hoặc chỉ
một vài chiều (giá tiền của một sản phẩm có thể hoặc không thay đổi theo thời gian

hoặc không thay đổi từ thành phố này tới thành phố khác). Khối này được hỗ trợ

22


tính toán ma trận cho phép khối này thể hiện cả dãy số tiền bán được đơn giản bằng
cách thực hiện một phép toán ma trận trên tất cả các ô của dãy này.
Thời gian trả lời một truy vấn nhiều chiều phụ thuộc vào số lượng các ô được
thêm vào trong quá trình thực hiện. Khi số lượng chiều tăng thì số ô của khối này
tăng theo cấp số mũ. Bên cạnh đó, những truy vấn đa chiều đều liên quan tới những
dữ liệu ở mức cao và dữ liệu tổng. Vì vậy, giải pháp để xây dựng một cơ sở dữ liệu
đa chiều có hiệu quả là phải kết hợp từ trước tất cả các tổng con logic và các tổng
theo tất cả các chiều. Sự kết hợp trước này đặc biệt có giá trị khi các chiều mang
tính phân cấp.
Một cách để giảm kích thước của khối là quản lí một lượng dữ liệu thưa hơn
một cách thích hợp. Một loại dữ liệu thưa khác được tạo ra khi có nhiều ô chứa dữ
liệu bị lặp lại. Khả năng của cơ sở dữ liệu đa chiều bỏ qua các ô không có dữ liệu
hoặc dữ liệu bị lặp lại có thể giảm được khá nhiều kích thước của khối và số lượng
các xử lí.
1.2.5. Tạo lập các kho dữ liệu
a. Phân tích các nguồn dữ liệu
Các nguồn dữ liệu cần được đánh giá và các định nghĩa dựa vào Metadata để
nhắm tới các vấn đề sau:
- Xác định các nguồn, các cấu trúc file, các platform khác nhau.
- Hiểu được dữ liệu nào có trong các hệ thống nguồn đang tồn tại, các định
nghĩa về nghiệp vụ của dữ liệu, và bất kì các luật nghiệp vụ nào cho dữ liệu.
- Phát hiện sự giao nhau về thông tin của các hệ thống khác nhau.
- Quyết định dữ liệu tốt nhất trong các hệ thống, có thể cùng một dữ liệu của
nhiều hơn một hệ thống. Mỗi hệ thống cần được đánh giá để quyết định hệ thống
nào có dữ liệu rõ ràng và chính xác hơn.

b. Thu thập và tạo lập dữ liệu
Quá trình này thu thập và thiết lập các kho dữ liệu gồm những bước sau:

23


Hình 1. 8. Quá trình tạo lập dữ liệu của DW

- Trích chọn dữ liệu (Etract): Trích chọn dữ liệu là một phép xử lí để lấy các
dữ liệu đã được xác định trước ra khỏi các hệ thống tác nghiệp và các nguồn dữ liệu
bên ngoài.
- Lọc (Filter), làm sạch dữ liệu (Cleaning): Sau khi dữ liệu được trích chọn,
nó được tinh chế thông qua các công việc lọc, làm sạch để thu dữ liệu dữ liệu không
bị thay đổi và đúng với các dữ liệu nghiệp vụ.
- Thẩm định (Validate) và chuyển đổi (Transforming) dữ liệu: Tiếp theo, dữ
liệu phải được kiểm tra, thẩm định để đảm chất lượng nhằm đáp ứng các yêu cầu
phân tích phục vụ trợ giúp quyết định. Mục đích của việc chuyển đổi và tích hợp là
phải chuyển dữ liệu thành thông tin có thể hiểu được và sử dụng được đối với người
sử dụng. Việc chuyển dữ liệu từ dạng này sang dạng khác có thể gồm 1 trong các
chức năng như: Chuyển trực tiếp dữ liệu từ trường này sang trường khác. Xây dựng
lại và định dạng lại các trường dữ liệu, có thể là chỉ chuyển một phần hoặc phải gộp
cả các trường lại với nhau để tạo một trường mới. Chuyển đổi từ trường chỉ có mã
sang trường phải mô tả đầy đủ. Từ nhiều trường nguồn để sinh ra trường đích khác.
- Tích hợp (Integrated), ghép (Merge) và gộp (Aggregate) dữ liệu: Khi có
nhiều nguồn dữ liệu thì chúng cần thiết phải được tích hợp lại để hợp nhất và tổ
chức lại dữ liệu cho phù hợp với kiến trúc và nhu cầu sử dụng. Quá trình tích hợp
có thể là sự phối hợp các thao tác sau đây: sắp xếp và hợp nhất, chia cắt, xác định
và giải quyết các vi phạm đến tính nguyên vẹn của dữ liệu, sinh ra các khoá tổng
hợp (synthetic key).
- Nạp dữ liệu vào kho: Việc tải dữ liệu vào kho dữ liệu có thể thực hiện:

+ Làm tươi lại dữ liệu (Refresh): không có dữ liệu cũ trong bảng
24


+ Bổ sung (Incremental): tạo thêm các dữ liệu snapshort vào bảng dữ liệu.
Tạo hàng mới duy nhất mới bằng cách thêm giá trị thời gian vào khoá.
+ Cập nhật trong vùng: giữ nguyên cấu trúc khoá ở trong hàng trừ các hàng
đã bị hết thời hạn hoặc chỉ cập nhật cột không phải là khoá
+ Đọc trước và tải dữ liệu (Preload & Load): Quá trình đọc trước là việc tổ
chức và quản lý các file chuẩn bị sẵn cho các tiện ích của DBMS đích. Quá trình tải
dữ liệu liên quan đến vấn đề tích hợp vật lý của các dữ liệu mới hoặc dữ liệu đã bị
thay đổi vào DBMS đích, có thể bao gồm các thao tác như cập nhật và đóng gói dữ
liệu.
+ Sửa chữa và đánh giá (Repair & Evaluate): Trong quá trình làm sạch,
chuyển đổi và tích hợp dữ liệu có thể xảy ra lỗi, do vậy trong môi trường chứa dữ
liệu nguồn phải có chức năng làm nhiệm vụ sửa lỗi này. Quá trình tiếp theo có thể
phải làm bằng tay, khi đó dữ liệu có thể được sửa lỗi trong môi trường nguồn hoặc
bằng các thuật toán bảo vệ được gắn sẵn trong chương trình nguồn tuỳ thuộc
phương thức phát triển. Chức năng còn lại là phải đánh giá được tính đúng đắn và
sự thích hợp của dữ liệu đã được đọc và được sửa lỗi.
- Lưu trữ và phát tán dữ liệu (Archive and Distribute): Dữ liệu được phân bố
từ một platform nguồn tới một platform đích khác. Sự phân bố này có thể xảy ra
trước, sau hoặc trong khi xảy ra các quá trình làm sạch, biến đổi và tích hợp dữ liệu.
Quá trình này có thể bao gồm các thao tác như vận chuyển, chuyển đổi và phân phát
dữ liệu.
1.3. XỬ LÝ VÀ KHAI THÁC DỮ LIỆU
1.3.1. Truy cập và khai thác dữ liệu
a. Truy cập và phân tích
Người sử dụng liên hệ với DW thông qua việc sử dụng công cụ đầu cuối. Có
năm loại công cụ chính: Các công cụ lập báo cáo và truy vấn dữ liệu; các công cụ

phát triển ứng dụng; các công cụ thực hiện hệ thống thông tin (EIS); các công cụ xử
lí phân tích trực tuyến (OLAP); các công cụ đào xới dữ liệu.

25


×