ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN VĂN THÀNH
NGHIÊN CỨU GIẢI PHÁP KHO DỮ LIỆU TRONG
SQL SERVER 2008 VÀ ÁP DỤNG TRONG THƯƠNG MẠI
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN VĂN THÀNH
NGHIÊN CỨU GIẢI PHÁP KHO DỮ LIỆU TRONG
SQL SERVER 2008 VÀ ÁP DỤNG TRONG THƯƠNG MẠI
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. Đỗ Trung Tuấn
Hà Nội – 2011
Mục lục
BẢNG DANH SÁCH CÁC TỪ VIẾT TẮT ........................................................ 3
DANH SÁCH HÌNH VẼ ..................................................................................... 4
DANH SÁCH BẢNG BIỂU ............................................................................... 5
LỜI MỞ ĐẦU ..................................................................................................... 6
Chương 1. TỔNG QUAN VỀ KHO DỮ LIỆU.................................................... 8
1.1. Các khái niệm ........................................................................................... 8
1.1.1. Kho dữ liệu......................................................................................... 8
1.1.2. Mục đích của kho dữ liệu ................................................................... 8
1.1.3. Đặc tính của kho dữ liệu ..................................................................... 8
1.1.4. Phân biệt kho dữ liệu với cơ sở dữ liệu tác nghiệp ............................ 10
1.2. Kiến trúc kho dữ liệu .............................................................................. 11
1.2.1. Nguồn dữ liệu ................................................................................... 11
1.2.2. Kho dữ liệu....................................................................................... 11
1.2.3. Kho dữ liệu chuyên biệt.................................................................... 12
1.2.4. Kho siêu dữ liệu ............................................................................... 12
1.2.5. Vùng chứa tạm ................................................................................. 12
1.2.6. Người dùng ...................................................................................... 13
1.3. Qui trình xây dựng kho dữ liệu ............................................................... 13
1.3.1. Qui trình xây dựng kho dữ liệu ......................................................... 13
1.3.2. Chi tiết các bước xây dựng kho dữ liệu ............................................. 14
1.4. Tổng kết chương ..................................................................................... 20
Chương 2. CÔNG NGHỆ KHO DỮ LIỆU TRONG SQL SERVER.................. 21
2.1. Lý do sử dụng công nghệ kho dữ liệu của Microsoft ............................... 21
2.2. Giải pháp tổng thể kho dữ liệu của Microsoft .......................................... 22
2.3. Cải tiến cho kho dữ liệu trong SQL Server 2008 ..................................... 23
2.4. Các công cụ cho kho dữ liệu trong SQL Server 2008 .............................. 24
2.4.1. Dịch vụ tích hợp dữ liệu ................................................................... 25
2.4.2. Dịch vụ Báo cáo ............................................................................... 29
2.4.3. Dịch vụ phân tích ............................................................................. 31
2.4.4. Bộ công cụ phát triển trí tuệ doanh nghiệp ........................................ 33
2.4.5. Công cụ quản lý SQL Server ............................................................ 34
2.4.6. Dịch vụ tác nhân SQL Server ........................................................... 35
2.5. Qui trình xây dựng kho dữ liệu của Microsoft ......................................... 36
2.6. Tổng kết chương ..................................................................................... 37
Chương 3. XÂY DỰNG KHO DỮ LIỆU SIÊU THỊ ......................................... 38
3.1. Giới thiệu về siêu thị ............................................................................... 38
3.2. Yêu cầu xây dựng kho dữ liệu ................................................................. 39
2
3.3. Phạm vi thực hiện trong luận văn ............................................................ 41
3.4. Dữ liệu nguồn cho kho dữ liệu ................................................................ 41
3.5. Xây dựng kho dữ liệu siêu thị ................................................................. 44
3.5.1. Kiến trúc tổng thể kho dữ liệu .......................................................... 44
3.5.2. Thiết kế cấu trúc dữ liệu ................................................................... 46
3.5.3. Thiết kế vật lý .................................................................................. 50
3.5.4. Thiết kế các gói tích hợp dữ liệu ....................................................... 52
3.5.5. Thiết kế khối dữ liệu......................................................................... 59
3.5.6. Khai thác khối dữ liệu ...................................................................... 62
3.5.7. Tạo các mẫu báo cáo phân tích ......................................................... 66
3.5.8. Tạo lịch thực hiện công việc tự động ................................................ 66
3.6. Tổng kết chương ..................................................................................... 67
Chương 4. KẾT QUẢ CÀI ĐẶT THỬ NGHIỆM ............................................. 68
4.1. Môi trường cài đặt................................................................................... 68
4.2. Dữ liệu thử nghiệm ................................................................................. 68
4.3. Kết quả chạy thử nghiệm ........................................................................ 70
4.3.1. Thời gian chạy tích hợp dữ liệu ........................................................ 70
4.3.2. Thời gian cập nhật khối dữ liệu ........................................................ 70
4.3.3. Thời gian phân tích số liệu ............................................................... 71
4.4. Một số mẫu phân tích và báo cáo ............................................................ 71
4.4.1. Các mẫu báo cáo .............................................................................. 71
4.4.2. Các mẫu phân tích ............................................................................ 72
4.5. Tổng kết chương ..................................................................................... 73
KẾT LUẬN ....................................................................................................... 74
TÀI LIỆU THAM KHẢO ................................................................................. 76
Tiếng Việt ...................................................................................................... 76
Tiếng Anh ...................................................................................................... 76
3
BẢNG DANH SÁCH CÁC TỪ VIẾT TẮT
Từ
Tiếng Anh
Tiếng Việt
CNTT
Công nghệ thông tin
CSDL
Cơ sở dữ liệu
BI
Business Intelligent
Trí tuệ doanh nghiệp
BIDS
Business Intelligent Development Studio
Trình phát triển trí tuệ doanh
nghiệp
DM
Data Mart
Kho dữ liệu chuyên biệt
DW
Data Warehouse
Kho dữ liệu
XML
Extensible Markup Language
Ngôn ngữ đánh dấu mở rộng
ETL
Extract - Transform - Load
Trích rút – Biến đổi – Nạp
HOLAP
Hybrid OLAP
OLAP ghép
MOLAP
Multidimensional OLAP
OLAP đa chiều
OLAP
Online Analytical Processsing
Xử lý phân tích trực tuyến
OLTP
Online Transaction Processing
Xử lý giao dịch trực tuyến
ODS
Operational Database Store
Kho dữ liệu tác nghiệp
POS
Point Of Sale
Điểm bán hàng
RDBMS
Relational DataBase Management
Hệ quản trị CSDL quan hệ
System
ROLAP
Relational OLAP
OLAP quan hệ
SCD
Slowly Changing Dimension
Chiều thay đổi chậm
SSAS
SQL Server Analysis Services
Dịch vụ phân tích của SQL
Server
SSIS
SQL Server Integration Service
Dịch vụ tích hợp của SQL Server
SSMS
SQL Server Management Studio
Trình quản lý của SQL Server
SSRS
SQL Server Reporting Services
Dịch vụ báo cáo của SQL Server
UDM
Unified Dimensional Model
Mô hình chiều thống nhất
4
DANH SÁCH HÌNH VẼ
Hình 1.1. Đặc tính của kho dữ liệu ...................................................................... 8
Hình 1.2. Kiến trúc kho dữ liệu ......................................................................... 11
Hình 1.3. Ví dụ về lược đồ hình sao .................................................................. 12
Hình 1.4. Ví dụ phân tích dữ liệu bởi người dùng .............................................. 13
Hình 1.5. Qui trình xây dựng kho dữ liệu .......................................................... 14
Hình 1.6. Các bước xây dựng mô hình kho dữ liệu ............................................ 16
Hình 1.7. Ví dụ về các bảng tổng hợp ................................................................ 17
Hình 1.8. Mô hình SMP .................................................................................... 18
Hình 1.9. Mô hình Cluster ................................................................................. 19
Hình 2.1. Giải pháp DW/BI của Microsoft ........................................................ 22
Hình 2.2. Kiến trúc dịch vụ tích hợp SSIS ......................................................... 25
Hình 2.3. Ví dụ về một luồng dữ liệu ................................................................ 27
Hình 2.4. Kiến trúc dịch vụ báo cáo SSRS ........................................................ 30
Hình 2.5. Kiến trúc dịch vụ phân tích SSAS ...................................................... 32
Hình 2.6. Màn hình khởi tạo mẫu dự án DW/BI trong BIDS ............................. 34
Hình 2.7. Màn hình quản lý của SQL Server ..................................................... 35
Hình 2.8. Màn hình tạo công việc ...................................................................... 35
Hình 2.9. Qui trình xây dựng kho dữ liệu của Microsoft .................................... 36
Hình 3.1. Mô hình hoạt động của phềm mềm quản lý siêu thị............................ 38
Hình 3.2. Các chiều phân tích theo các chủ đề ................................................... 40
Hình 3.3. Sơ đồ quan hệ các bảng dữ liệu nguồn ............................................... 43
Hình 3.4. Kiến trúc tổng thể kho dữ liệu siêu thị................................................ 44
Hình 3.5. Sơ đồ cấu trúc các bảng dữ liệu của SieuThi_DW .............................. 47
Hình 3.6. Sơ đồ cấu trúc các bảng dữ liệu của SieuThi_DM .............................. 49
Hình 3.7. Sơ đồ tổ chức lưu trữ cho SieuThi_DM ............................................. 52
Hình 3.8. Gói tích hợp PKG_STG_Controller ................................................... 53
Hình 3.9. Gói tích hợp PKG_DW_Controller .................................................... 55
Hình 3.10. Gói tích hợp PKG_DM_Controller .................................................. 58
Hình 3.11. Màn hình kết nối đến SieuThi_DM .................................................. 59
Hình 3.12. Màn hình dữ liệu nguồn cho khối ..................................................... 60
Hình 3.13. Màn hình cấu trúc khối Cube_POSRetail ......................................... 60
Hình 3.14. Cấu hình khối dữ liệu Cube_POSRetail ........................................... 61
Hình 3.15. Màn hình cập nhật cho khối dữ liệu ................................................. 62
Hình 3.16. Màn hình kết nối đến khối dữ liệu từ Excel ...................................... 63
Hình 3.17. Màn hình hiện danh sách các trường của PivotTable ........................ 64
Hình 3.18. Mẫu phân tích trong Excel sử dụng PivotTable ................................ 65
Hình 3.19. Màn hình SieuThi_Job của tác nhân SQL Server ............................. 67
Hình 4.1. Màn hình lịch sử chạy Job_SieuThi_01 ............................................. 70
Hình 4.2. Danh sách các báo cáo ....................................................................... 71
Hình 4.3. Báo cáo “BC01 - Doanh thu bán hàng theo các năm”......................... 71
Hình 4.4. Báo cáo “BC11 - Top 10 mặt hàng doanh số cao trong tháng” ........... 72
Hình 4.5. Mẫu phân tích số lượng bán theo hàng hóa và thời gian .................... 72
Hình 4.6. Mẫu phân tích doanh thu theo tháng giữa các năm ............................. 73
5
DANH SÁCH BẢNG BIỂU
Bảng 3.1. Danh sách các bảng trong kho dữ liệu SieuThi_SRC ......................... 42
Bảng 3.2. Danh sách các bảng trong kho dữ liệu SieuThi_DW .......................... 48
Bảng 3.3. Danh sách các bảng trong kho dữ liệu SieuThi_DM .......................... 49
Bảng 3.4. Danh sách các gói tích hợp cho SieuThi_STG ................................... 53
Bảng 3.5. Danh sách các gói tích hợp cho SieuThi_DW .................................... 56
Bảng 3.6. Danh sách các gói tích hợp cho SieuThi_DM .................................... 58
Bảng 4.1. Số bản ghi của các bảng trong SieuThi_SRC ..................................... 68
Bảng 4.2. Số bản ghi của các bảng trong SieuThi_DW ...................................... 69
Bảng 4.3. Số bản ghi của các bảng trong SieuThi_DM ...................................... 69
6
LỜI MỞ ĐẦU
Việc xây dựng kho dữ liệu phục vụ cho phân tích và báo cáo của các doanh
nghiệp sẽ là xu thế tất yếu trong những năm tới ở Việt nam. Thực ra, kho dữ liệu đã
được áp dụng khá phổ biến tại các nước phát triển như Mỹ, Úc, Đức, Nhật... Tại Việt
nam thì cho đến nay kho dữ liệu cũng đã được bắt đầu áp dụng cho một số ngành đi
tiên phong trong lĩnh vực CNTT như Ngân hàng, Tài chính và Bưu chính Viễn thông.
Nhưng nhìn chung số lượng doanh nghiệp có kho dữ liệu là chưa nhiều, vì các doanh
nghiệp vẫn đang phải ưu tiên phần mềm phục vụ tác nghiệp như kế toán, nhân sự, tiền
lương, bán hàng, đặt hàng, hoạch định doanh nghiệp, phần mềm lõi, phần mềm quản
lý quan hệ khách hàng... Nhưng trong vài năm tới, khi các phần mềm tác nghiệp đã
được áp dụng phổ biến và chạy ổn định thì việc làm thế nào để khai thác được khối dữ
liệu tác nghiệp đã có một cách hiệu quả nhất là điều mà các doanh nghiệp sẽ rất quan
tâm.
Nhận thấy được xu thế này, nên tên đề tài đã được đăng ký là “Nghiên cứu giải
pháp kho dữ liệu trong SQL Server 2008 và áp dụng trong Thương mại” cho luận văn
tốt nghiệp. Hy vọng đây là cơ hội tốt để nghiên cứu và tìm hiểu tổng quan về kho dữ
liệu và qui trình xây dựng nó, để nghiên cứu các giải pháp công nghệ cho kho dữ liệu
của Microsoft nói chung và của SQL Server 2008 nói riêng, và cuối cùng là việc áp
dụng những gì nghiên cứu được để xây dựng thử nghiệm kho dữ liệu cho bài toán thực
tế trong lĩnh vực thương mại.
Nhờ sự giúp đỡ của bạn bè mà một phần dữ liệu để thử nghiệm và một số yêu
cầu về kho dữ liệu của siêu thị bán lẻ T-Mart đã được thu thập. Vì vậy, bài toán áp
dụng thử nghiệm là xây dựng kho dữ liệu cho siêu thị T-Mart.
Ngoài phần mở đầu, phần kết luận, nội dung luận văn được chia thành 4 chương
như sau:
Chương 1. Tổng quan về kho dữ liệu, chương này trình bày một cách tổng thể về
các khái niệm kho dữ liệu, cấu trúc kho dữ liệu, qui trình xây dựng kho dữ liệu, và
cách thức khai thác kho dữ liệu.
Chương 2. Tìm hiểu công nghệ kho dữ liệu trong SQL Server, chương này trình
bày giải pháp công nghệ kho dữ liệu của Microsoft, mà đặc biệt là của SQL Server
2008. Ngoài ra cũng trình bày một số công cụ được sử dụng trong việc xây dựng kho
dữ liệu như: SSIS dùng cho tích hợp, SSRS dùng cho báo cáo, SSAS dùng cho phân
tích dữ liệu và SSMS dùng cho việc theo dõi và quản lý.
Chương 3. Xây dựng kho dữ liệu siêu thị, chương này chủ yếu tập trung trình bày
những gì liên quan đến việc xây dựng kho dữ liệu siêu thị. Nội dung bao gồm phạm vi
và yêu cầu bài toán, cấu trúc dữ liệu nguồn và đích, chi tiết các gói tích hợp dữ liệu cài
7
đặt bởi SSIS, chi tiết khối dữ liệu cài đặt bởi SSAS và cuối cùng các mẫu các báo cáo
và phân tích nhằm khai thác kho dữ liệu.
Chương 4. Kết quả cài đặt thử nghiệm. Chương này tóm tắt các phần đã được cài
đặt và chạy thử nghiệm như: dữ liệu nguồn và đích, thời gian chạy các gói tích hợp,
thời gian cập nhật khối dữ liệu, thời gian đáp ứng khi phân tích, và các mẫu phân tích
và báo cáo.
Phần kết luận trình bày tổng hợp các kết quả thực hiện luận văn cũng như các
phần cần mở rộng khi áp dụng cho thực tế.
8
Chương 1. TỔNG QUAN VỀ KHO DỮ LIỆU
1.1. Các khái niệm
1.1.1. Kho dữ liệu
Định nghĩa: kho dữ liệu (Data Warehouse - DW) là tuyển tập các CSDL tích hợp,
hướng chủ đề, được thiết kế để hỗ trợ cho chức năng trợ giúp 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ể. [1]
Thực ra, cũng có nhiều định nghĩa về kho dữ liệu khác nhau, nhưng tất cả đều
hướng đến mục đích là hỗ trợ cho chức năng trợ giúp quyết định.
Ngoài việc chứa đựng một CSDL quan hệ, kho dữ liệu còn bao gồm các bước
tích hợp dữ liệu, công nghệ OLAP, các công cụ phân tích, và các ứng dụng cho việc
thu thập và cung cấp dữ liệu tới người sử dụng
1.1.2. Mục đích của kho dữ liệu
Mục tiêu chính của kho dữ liệu là nhằm đáp ứng các vấn đề cơ bản sau:
Tích hợp dữ liệu từ nhiều nguồn khác nhau;
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;
Sử dụng cho 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.
1.1.3. Đặc tính của kho dữ liệu
Kho dữ liệu có các đặc tính như Hình 1.1, gồm bốn đặc tính sau:
Hình 1.1. Đặc tính của kho dữ liệu
9
Hướng chủ đề;
Tính tích hợp;
Tính ổn định;
Tính lịch sử hay có biến thời gian.
1.1.3.1. Hướng chủ đề
Kho dữ liệu được tổ chức xung quanh các chủ đề chính như khách hàng, tài
chính, bán hàng, mua hàng... tập trung vào việc mô hình hóa và phân tích dữ liệu cho
những người đưa ra quyết định, mà không tập trung vào các hoạt động xử lý tác
nghiệp hàng ngày.
Nội dung dữ liệu được lưu trữ trong kho dữ liệu và CSDL tác nghiệp cũng khác
nhau:
Kho dữ liệu không lưu trữ dữ liệu chi tiết, chỉ cần lưu trữ những dữ liệu có
tính tổng hợp phục vụ chủ yếu cho quá trình phân tích nhằm trợ giúp ra
quyết định.
CSDL tác nghiệp lại cần những dữ liệu chi tiết, phục vụ trực tiếp cho
những yêu cầu xử lý theo các chức năng của lĩnh vực ứng dụng hiện thời.
Do vậy mối quan hệ của dữ liệu trong những hệ thống này cũng khác, đòi
hỏi phải có tính chính xác và có tính thời sự.
1.1.3.2. Tính tích hợp
Tính tích hợp được thể hiện bằng việc tích hợp dữ liệu từ các nguồn dữ liệu hỗn
tạp khác nhau. Các kỹ thuật làm sạch và tích hợp dữ liệu được áp dụng để đảm bảo sự
đồng nhất trong các quy ước tên, cấu trúc mã hóa, các đơn vị đo thuộc tính giữa các
nguồn khác nhau. Kho dữ liệu phải đưa các dữ liệu từ các nguồn khác nhau về định
dạng phù hợp. Ngoài ra cũng cần phải giải quyết những vấn đề như xung đột tên và
mâu thuẫn giữa các đơn vị đo.
1.1.3.3. Tính ổn định
Tính ổn định thể hiện ở chỗ dữ liệu trong kho dữ liệu chỉ đọc và khai thác, không
được sửa đổi bởi người sử dụng đầu cuối. Nó chỉ cho phép thực hiện hai thao tác cơ
bản:
Nạp dữ liệu vào kho dữ liệu
Truy cập dữ liệu từ kho dữ liệu
Thông tin trong kho dữ liệu được nạp vào sau khi dữ liệu trong hệ thống tác
nghiệp đã xong giao dịch. Tính không biến động thể hiện ở chỗ dữ liệu được lưu trữ
lâu dài trong kho dữ liệu. Mặc dù có thêm dữ liệu mới nhập vào nhưng dữ liệu cũ
10
trong kho vẫn không bị xoá và sửa đổi, điều đó cho phép cung cấp thông tin về một
khoảng thời gian dài, cung cấp đủ số liệu cần thiết cho các mô hình nghiệp vụ phân
tích, dự báo.
Tuy nhiên, trong thực tế nếu các bảng dữ liệu có kích thước quá lớn thì cũng phải
có kế hoạch để lưu trữ bớt các dữ liệu trong quá khứ, thời gian có thể sau 5-10 năm tuỳ
theo yêu cầu nghiệp vụ báo cáo liên quan. Sau khi lưu trữ dữ liệu cũ thì có thể xoá đi
hoặc lưu trữ sang chỗ khác để giảm bớt dung lượng cần cho việc lưu trữ và tăng tốc độ
truy cập.
1.1.3.4. Tính lịch sử
Tính lịch sử thể hiện rằng yếu tố thời gian luôn được lưu trữ trong kho dữ liệu.
Kho dữ liệu thường chứa một khối lượng lớn dữ liệu trong quá khứ, dữ liệu được lưu
trữ thành hàng loạt các bản chụp ảnh, mỗi bản ghi phản ánh giá trị của dữ liệu tại một
thời điểm nhất định. Điều này cho phép người sử dụng có thể lấy lại dữ liệu lịch sử và
so sánh dữ liệu cho các giai đoạn khác nhau. Yếu tố thời gian đóng vai trò như một
phần của khoá để đảm bảo tính duy nhất của một hàng và cung cấp đặc trưng về thời
gian cho dữ liệu.
1.1.4. Phân biệt kho dữ liệu với cơ sở dữ liệu tác nghiệp
Trên cơ sở các đặc trưng của kho dữ liệu thì có thể phân biệt kho dữ liệu với
những CSDL tác nghiệp như sau:
Kho dữ liệu được xây dựng theo hướng chủ đề, nó được thực hiện theo ý
đồ của người sử dụng đầu cuối.
Kho dữ liệu thường quản lý một khối lượng lớn thông tin hơn so với
CSDL tác nghiệp.
Kho dữ liệu có thể lưu trữ các thông tin tổng hợp theo một chủ đề nghiệp
vụ nào đó sao cho tạo ra các thông tin phục vụ hiệu quả cho việc phân tích
của người sử dụng.
Kho dữ liệu thông thường chứa các dữ liệu lịch sử kết nối nhiều năm của
các thông tin tác nghiệp, khác với dữ liệu trong CSDL tác nghiệp thường
là mới, có tính thời sự trong khoảng thời gian ngắn.
Kho dữ liệu chỉ chứa các dữ liệu của CSDL tác nghiệp mà đã được chắt
lọc và tổng hợp, chỉ chứa những dữ liệu cần thiết cho công tác quản lý hay
trợ giúp quyết định.
11
1.2. Kiến trúc kho dữ liệu
Kiến trúc đầy đủ của kho dữ liệu bao gồm năm tầng như Hình 1.2 bên dưới.
Nhưng thực tế không phải lúc nào cũng cần có đầy đủ cả năm tầng này. Tầng Staging
Area và Data Mart có thể bỏ đi tùy theo yêu cầu cụ thể của từng dự án.
Hình 1.2. Kiến trúc kho dữ liệu
1.2.1. Nguồn dữ liệu
Nguồn dữ liệu cho kho dữ liệu có thể một trong các dạng sau:
CSDL của các phần mềm ứng dụng hoặc của các hệ thống tác nghiệp
được lưu trữ bởi một hệ quản trị CSDL như Oracle, SQL Server, Access,
DB2…
Các tập tin phẳng, các tập tin nhật ký, bảng tính Excel…
1.2.2. Kho dữ liệu
Kho dữ liệu hay còn gọi là kho dữ liệu mức doanh nghiệp là thành phần chứa dữ
liệu lịch sử của nhiều chủ đề khác nhau, nó bao gồm cả dữ liệu thô và dữ liệu đã được
tổng hợp ở một mức thấp. Cụ thể như sau:
Dữ liệu thô: đây là phần chứa toàn bộ dữ liệu ở mức chi tiết nhất được lấy
từ dữ liệu nguồn sau khi đã loại bỏ những dữ liệu không cần thiết và biến
đổi chúng, trong phần này dữ liệu thường vẫn được tổ chức tuân theo
chuẩn 3NF (Third Normal Form).
Dữ liệu tổng hợp: đây là phần chứa dữ liệu ở mức tổng hợp hơn, được
nhóm theo một số chiều nhất định, tùy theo mục đích cụ thể của từng tổ
chức mà tạo ra các bảng tổng hợp khác nhau. Các bảng dữ liệu tổng hợp
12
này thường tổ chức phi chuẩn và được dùng cho mục đích phân tích báo
cáo cũng như đầu vào dữ liệu cho việc xây dựng các kho dữ liệu chuyên
biệt.
1.2.3. Kho dữ liệu chuyên biệt
Kho dữ liệu chuyên biệt là thành phần chứa dữ liệu tổng hợp theo một chủ đề nào
đó như bán hàng, tồn kho, đặt hàng, thu nợ... nhằm phục vụ cho việc truy vấn, báo cáo
và phân tích dữ liệu một cách dễ dàng và nhanh chóng có kết quả. Trong thành phần
này mô hình dữ liệu thường được tổ chức dưới dạng lược đồ hình sao, bao gồm bảng
dữ liệu thống kê nằm ở trung tâm gọi là bảng sự kiện và các chiều thống kê gọi là bảng
chiều nằm ở xung quanh.
Ví dụ: lược đồ hình sao về bán hàng như Hình 1.3 ở dưới.
Hình 1.3. Ví dụ về lược đồ hình sao
1.2.4. Kho siêu dữ liệu
Kho siêu dữ liệu là thành phần chứa dữ liệu định nghĩa về cấu trúc kho dữ liệu,
định nghĩa về các công việc (Job) cho quá trình tích hợp, chứa các dữ liệu về người sử
dụng và quyền hạn... Nó có thể được lưu trữ trong một cơ sở dữ liệu quan hệ hoặc
dưới dạng hệ thống tập tin có cấu trúc.
1.2.5. Vùng chứa tạm
Vùng chứa tạm là thành phần chứa dữ liệu trung gian phục vụ cho quá trình tích
hợp dữ liệu được hiệu quả hơn, nó không có ý nghĩa với người dùng đầu cuối. Vùng
13
dữ liệu tạm có thể được lưu trữ trong một cơ sở dữ liệu quan hệ hoặc dưới dạng hệ
thống tập tin phẳng.
1.2.6. Người dùng
Người dùng sẽ sử dụng các công cụ để khai thác kho dữ liệu, các công cụ này có
thể chạy trên nền web hoặc desktop. Các công việc khai thác kho dữ liệu bao gồm:
truy vấn, phân tích, báo cáo và khai phá dữ liệu. Việc thực hiện phân tích số liệu có thể
thực hiện như ví dụ ở Hình 1.4 bên dưới.
Hình 1.4. Ví dụ phân tích dữ liệu bởi người dùng
1.3. Qui trình xây dựng kho dữ liệu
1.3.1. Qui trình xây dựng kho dữ liệu
Việc xây dựng và phát triển kho dữ liệu là một việc không đơn giản, nó đòi hỏi
phải có một phương pháp tiếp cận thích hợp. Hiện nay có nhiều cách tiếp cận khác
nhau nhưng đều dựa trên ba kiểu cơ bản sau:
Tiếp cận theo hướng tăng dần
Tiếp cận theo hướng từ trên xuống
Tiếp cận theo hướng từ dưới lên
Mỗi cách tiếp cận đều có các ưu và nhược điểm riêng, cách tiếp cận như Hình 1.5
sau đây là một phương pháp tiếp cận phổ biến hiện nay.
14
Hình 1.5. Qui trình xây dựng kho dữ liệu
Như vậy, để xây dựng và phát triển kho dữ liệu cần phải thực hiện các công việc
cơ bản sau:
Lập kế hoạch xây dựng kho dữ liệu: kết quả là phải đưa ra được tập các
yêu cầu cho việc xây dựng kho dữ liệu và kế hoạch thực hiện.
Phân tích yêu cầu người sử dụng: để tập hợp được tất cả các yêu cầu của
người sử dụng.
Xây dựng mô hình kho dữ liệu: định nghĩa mô hình nghiệp vụ, tạo mô
hình logic và tạo mô hình dữ liệu vật lý.
Lập kế hoạch cài đặt vật lý: bao gồm việc lựa chọn kiến trúc tính toán cho
hệ thống máy chủ phục vụ cho kho dữ liệu và lập kế hoạch lưu trữ dữ liệu.
Xây dựng qui trình tích hợp cho kho dữ liệu: xây dựng ra các công việc để
thực hiện việc tích hợp dữ liệu từ nguồn vào kho dữ liệu.
Quản trị kho dữ liệu: cài đặt đưa vào sử dụng kho dữ liệu, quản lý khai
thác và cập nhật dữ liệu liên tục cho kho dữ liệu.
1.3.2. Chi tiết các bước xây dựng kho dữ liệu
1.3.2.1. Lập kế hoạch xây dựng kho dữ liệu
Việc lập kế hoạch xây dựng kho dữ liệu bao gồm các nội dung cơ bản sau:
Lập kế hoạch tài chính: phải ước lượng được tổng chi phí cần đầu tư cho
việc xây dựng và phát triển kho dữ liệu cũng như ai là người cung cấp và
quản lý chi phí.
15
Lập kế hoạch về nghiệp vụ: phải định nghĩa được các mục đích nghiệp vụ
mà kho dữ liệu sẽ mang lại, định nghĩa các chủ đề mà kho dữ liệu sẽ
hướng đến.
Lập kế hoạch về kỹ thuật: phải xác định được yêu cầu kỹ thuật để đáp ứng
cho kho dữ liệu. Bao gồm bản thiết kế kiến trúc tổng thể của kho dữ liệu,
mô tả các chức năng của từng thành phần cấu thành nên kho dữ liệu, yêu
cầu cụ thể về phần mềm, phần cứng và các tài nguyên mạng, sự ước lượng
về hiệu năng và kích cỡ của chúng.
1.3.2.2. Xác định các yêu cầu khai thác thông tin từ kho dữ liệu
Mục đích chính của việc xây dựng và phát triển kho dữ liệu là phục vụ cho vai
trò khai thác thông tin của người dùng, vì vậy việc xác định được yêu cầu khai khác
thông tin của người sử dụng là rất quan trọng và nó là căn cứ để đánh giá mức độ
thành công của kho dữ liệu. Công việc này bao gồm các nội dung cơ bản sau:
Xác định các dạng người sử dụng của kho dữ liệu: thông thường có bốn
dạng người sử dụng kho dữ liệu là lãnh đạo, quản lý phòng ban, chuyên
viên phân tích và cán bộ tin học.
Xác định tập hợp các yêu cầu của người sử dụng: xác định các nghiệp vụ,
các thuộc tính các phân cấp mà nguời dùng cần khai thác
Xác định yêu cầu khai thác thông tin của người sử dụng: xác định các mức
độ yêu cầu phân tích là tổng hợp, chi tiết, bất thường… cũng như cách
thức khai thác.
Xác định các công việc quản lý việc khai thác của người sử dụng: yêu cầu
cho việc truy cập và khai thác thông tin của người sử dụng phải được quản
lý sao cho vừa đảm bảo được tính dễ dàng cho người dùng nhưng vẫn vừa
đảm bảo được tính an toàn và bảo mật của hệ thống.
1.3.2.3. Xây dựng mô hình kho dữ liệu
Việc xây dựng mô hình kho dữ liệu sẽ được thực hiện qua bốn bước cơ bản sau:
Xác định mô hình nghiệp vụ;
Tạo mô hình logic;
Tạo mô hình mức tổng hợp;
Tạo mô hình vật lý.
Tuần tự các bước được thể hiện trong Hình 1.6 bên dưới.
16
Hình 1.6. Các bước xây dựng mô hình kho dữ liệu
Việc xác định mô hình nghiệp vụ dựa trên các bước sau:
Xác định các yêu cầu nghiệp vụ.
Xác định các đại lượng tính toán như số lượng, thành tiền, khuyến mãi...
Xác định các chiều dữ liệu như hàng hoá, khách hàng, kênh bán hàng,
vùng miền, thời gian...
Xác định các định nghĩa nghiệp vụ và các qui tắc nghiệp vụ.
Xác định nguồn dữ liệu chính: nguồn dữ liệu có liên quan đến các nghiệp
vụ cần thiết cho kho dữ liệu.
Xác định nguồn dữ liệu khác: nguồn dữ liệu từ bên ngoài, dữ liệu không
phải dạng CSDL quan hệ.
Tạo mô hình logic: thực hiện sau khi xác định được các chủ đề cho kho dữ liệu
thì cần xác định mô hình logic của kho dữ liệu. Có ba loại kiểu mô hình thường dùng
cho kho dữ liệu là: mô hình chuẩn hoá, mô hình phi chuẩn hoá và mô hình hình sao.
Chi tiết cho từng mô hình như sau:
Mô hình chuẩn hoá: tức là dữ liệu được tổ chức theo chuẩn, thường là theo
chuẩn 3NF giống như khi tổ chức dữ liệu trong OLTP.
Mô hình phi chuẩn: dữ liệu được lưu trữ đầy trong các bảng. Mục đích là
phi chuẩn hoá các bảng để thêm hầu hết các cột được truy nhập vào một
17
bảng chung để tránh việc kết hợp các bảng lại với nhau nhằm tăng tốc độ
truy vấn và dễ dàng thực hiện truy vấn.
Mô hình hình sao: dữ liệu được tổ chức thành các sơ đồ hình sao gồm có
một bảng sự kiện nằm ở trung tâm và các bảng chiều nằm ở xung quanh.
Bảng sự kiện chứa các đại lượng tính toán và các trường tham chiếu tới
các bảng chiều.
Tạo mô hình mức tổng hợp: mô hình này chứa các loại bảng dữ liệu sau:
Bảng tổng hợp: chứa dữ liệu tổng hợp ở mức cao thường là tổng hợp dữ
liệu từ bảng sự kiện theo một hoặc vài chiều.
Bảng tính trước: chứa dữ liệu đã được tính toán sẵn nhằm phục vụ cho
mục đích khai thác nào đó, thường dữ liệu cho các bảng bày không cho
phép lên mức cao hơn nữa và để có được dữ liệu này phải thực hiện việc
tính toán phức tạp.
Bảng kiểu chụp ảnh: các bảng dữ liệu này chứa dữ liệu gắn chặt với yếu tố
thời gian, giống như việc chụp ảnh, tại các thời điểm khác nhau thì tập dữ
liệu cũng khác nhau. Các bảng này thường chứa các tập dữ liệu được lặp
lại theo các chu kỳ khác nhau như ngày, tuần, tháng năm… Ví dụ: bảng
chứa số dư của từng loại tiền theo ngày, bảng chứa số lượng khách hàng
đang ở trạng thái hoạt động theo từng vùng và theo từng ngày, các bảng
này được sinh ra tuỳ theo yêu cầu khai thác dữ liệu. Hình 1.7 bên dưới là
ví dụ về mô hình mức tổng hợp.
Hình 1.7. Ví dụ về các bảng tổng hợp
Tạo mô hình vật lý: đây chính là bước chuyển đổi từ mô hình logic sang mô hình
vật lý, tức là thực hiện cài đặt các bảng dữ liệu lên một cơ sở dữ liệu cụ thể. Các công
việc phải làm trong bước này bao gồm:
18
Định nghĩa qui ước đặt tên và các chuẩn qui định chung cho kho dữ liệu.
Ví dụ: tên bảng chiều thì bắt đầu bằng tiền tố DIM_, tên bảng sự kiện thì
bắt đầu bằng FACT_, tên index thì bắt đầu bằng IDX_.
Thiết lập các chỉ mục: cho mục đích thực hiện truy vấn được nhanh hơn.
Thiết lập các phân vùng: cho mục đích truy vấn được nhanh và dễ bảo trì
kho dữ liệu sau này.
Cấu hình tối ưu cho kho dữ liệu: bằng cách thiết lập các tham số cho
CSDL để tăng hiệu năng thực hiện truy vấn và đảm bảo an toàn cho kho
dữ liệu.
Cấu hình cho kho dữ liệu chạy ở chế độ song song.
1.3.2.4. Lập kế hoạch cài đặt vật lý
Việc cài đặt vật lý cho kho dữ liệu cũng cần được xem xét một cách kỹ lưỡng khi
tiến hành xây dựng kho dữ liệu, nó bao gồm nhiều công việc khác nhau như chuẩn bị
cơ sở hạ tầng mạng máy tính, máy chủ, thiết bị lưu trữ, thiết bị sao lưu, thiết bị bảo
mật... Nhưng chủ yếu sẽ tập trung vào hai yếu tố quan trọng khi cài đặt vật lý là: chọn
lựa mô hình vật lý và lập giải pháp lưu trữ cho kho dữ liệu.
Chọn lựa mô hình vật lý: việc xác định mô hình vật lý thường theo một trong các
mô hình phổ biến sau:
Mô hình SMP (Symmetric Multi-Processing): tức là kiến trúc mà nhiều
CPU trên cùng một máy chủ cùng chia sẻ một bộ nhớ và hệ thống đĩa, chi
tiết như Hình 1.8 bên dưới.
Hình 1.8. Mô hình SMP
Mô hình Cluster: là mô hình mà gồm có nhiều máy chủ được nối với nhau
thành một khối thống nhất và cùng chia sẻ chung hệ thống đĩa ngoài, như
Hình 1.9, cùng tham gia vào xử lý các công việc với nhau. Ở góc độ người
dùng có thể xem các máy chủ này tương đương như một máy chủ. Các
máy chủ này thường được nối với nhau thông qua một thiết bị hỗ trợ băng
thông rộng.
- Xem thêm -