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

Xây dựng kho dữ liệu quản lý thông tin dịch vụ khách hàng của Vinaphone (Luận văn thạc sĩ)

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.1 MB, 80 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

HOÀNG NGUYỄN PHÚC

XÂY DỰNG KHO DỮ LIỆU QUẢN LÝ THÔNG TIN
DỊCH VỤ KHÁCH HÀNG CỦA VINAPHONE

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI - 2018


HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

HOÀNG NGUYỄN PHÚC

XÂY DỰNG KHO DỮ LIỆU QUẢN LÝ THÔNG TIN
DỊCH VỤ KHÁCH HÀNG CỦA VINAPHONE

CHUYÊN NGÀNH :

HỆ THỐNG THÔNG TIN

MÃ SỐ:

84.80.104

LUẬN VĂN THẠC SĨ KỸ THUẬT


NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS. LÊ HỮU LẬP

HÀ NỘI – 2018


i

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc
ai công bố trong bất kì tài liệu nào khác.

Tác giả

Hoàng Nguyễn Phúc


ii

LỜI CẢM ƠN

Để hoàn thành đƣợc luận văn này, ngoài sự nghiên cứu và những cố
gắng của bản thân, em xin gửi lời cảm ơn sâu sắc tới giảng viên hƣớng dẫn
Khoa học PGS.TS. Lê Hữu Lập đã tận tình chỉ bảo và định hƣớng cho em
trong suốt quá trình nghiên cứu và thực hiện luận văn.
Em xin gửi lời cảm ơn chân thành các thầy cô giảng viên trong Khoa
Quốc Tế và Sau Đại Học, Khoa Công Nghệ Thông Tin, Khoa Cơ Bản của
Học Viện Công Nghệ Bƣu Chính Viễn Thông đã tận tình giảng dạy, hƣớng
dẫn em trong suốt quá trình học tập và nghiên cứu ở Học Viện Bƣu chính

Viễn Thông.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè và những ngƣời
đã luôn ở bên em cổ vũ tinh thần, tạo điều kiện thuận lợi cho em để em có thể
học tập tốt và hoàn thiện luận văn.
Em xin chân thành cảm ơn!

Học viên

Hoàng Nguyễn Phúc


iii

MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ................................................v
DANH MỤC HÌNH VẼ ............................................................................................ vi
DANH MỤC CÁC BẢNG...................................................................................... viii
MỞ ĐẦU .....................................................................................................................1
CHƢƠNG 1. TỔNG QUAN VỀ KHO DỮ LIỆU ....................................................3
1.1

Định nghĩa về kho dữ liệu .............................................................................3

1.2

Đặc tính của kho dữ liệu ................................................................................5

1.2.1 Hƣớng chủ đề (Subject-oriented) ...............................................................5

1.2.2 Tích hợp (Integrated) ..................................................................................5
1.2.3 Tính thời gian cụ thể (Time-variant) ..........................................................5
1.2.4 ít thay đổi (nonvalatile) ..............................................................................6
1.2.5 Dữ liệu chi tiết và dữ liệu tổng hợp ............................................................6
1.3

Lợi ích của kho dữ liệu ..................................................................................6

1.4

Một số thuật ngữ trong kho dữ liệu ...............................................................7

1.4.1 OLTP và OLAP ..........................................................................................7
1.4.2 Tiến trình ETL (Extract, Transform & Load) ............................................8
1.4.3 Kho dữ liệu chủ đề (Data Mart) .................................................................9
1.4.4 Siêu dữ liệu (Metadata) ............................................................................11
1.5

Kiến trúc kho dữ liệu ...................................................................................12

1.6

Mô hình dữ liệu đa chiều .............................................................................14

1.6.1 Các khái niệm chính của mô hình dữ liệu đa chiều .................................15
1.6.2 Đặc điểm của mô hình dữ liệu đa chiều ...................................................15
1.6.3 Lƣợc đồ lƣu trữ dữ liệu đa chiều ..............................................................17
1.6.4 Kỹ thuật OLAP .........................................................................................19
1.7


Kết luận chƣơng ..........................................................................................21

CHƢƠNG 2. PHƢƠNG PHÁP THIẾT KẾ KHO DỮ LIỆU .................................22
2.1

Xác định yêu cầu nghiệp vụ ........................................................................22


iv

2.1.1 Xác định mục đích xây dựng kho dữ liệu ................................................22
2.1.2 Phạm vi xây dựng kho dữ liệu..................................................................24
2.2

Xác định mô hình kiến trúc kho dữ liệu ......................................................25

2.3

Xác định bảng chiều, bảng sự kiện ..............................................................25

2.3.1 Xác định bảng chiều .................................................................................25
2.3.2 Xác định bảng sự kiện ..............................................................................27
2.4

Xây dựng lƣợc đồ lƣu trữ dữ liệu ................................................................31

2.5

Tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu .....................................32


2.5.1 Trích xuất dữ liệu .....................................................................................32
2.5.2 Biến đổi dữ liệu ........................................................................................33
2.5.3 Nạp dữ liệu ...............................................................................................35
2.6

Khai thác và phân tích kho dữ liệu ..............................................................35

2.7

Kết luận chƣơng ..........................................................................................36

CHƢƠNG 3.

XÂY DỰNG KHO DỮ LIỆU THỬ NGHIỆM QUẢN LÝ

THÔNG TIN DỊCH VỤ KHÁCH HÀNG CỦA DOANH NGHIỆP VIỄN
THÔNG(VINAPHONE) ...........................................................................................37
3.1

Bài toán xây dựng kho dữ liệu của Vinaphone ...........................................37

3.2

Xây dựng kho dữ liệu thử nghiệm ...............................................................38

3.2.1 Mô hình kiến trúc của kho dữ liệu ...........................................................39
3.2.2 Xác định nguồn dữ liệu ............................................................................39
3.2.3 Xác định các bảng chiều, bảng sự kiện, xây dựng lƣợc đồ hình sao........46
3.2.4 Cài đặt kho dữ liệu quản lý dịch vụ khách hàng trên SQL Server ...........52
3.2.5 Tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu ..................................54

3.2.6 Phân tích dữ liệu hỗ trợ ra quyết định trong quản lý ................................63
3.3

Kết luận chƣơng ..........................................................................................66

KẾT LUẬN ...............................................................................................................68
DANH MỤC CÁC TÀI LIỆU THAM KHẢO .........................................................70


v

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Viết tắt

Tiếng Anh

Tiếng Việt

CSDL

Database

Cơ sở dữ liệu

DM

Data Mart

Kho dữ liệu chủ đề


ETL

Extract, Transform &

Tiến trình trích xuât, biến

Load

đổi, nạp dữ liệu

Online Analytical

Hệ thống xử lý phân tích

Processing

trực tuyến

Online Transaction

Hệ thống xử lý giao dịch

Processing

thời gian thực

OLAP

OLTP


SSAS

SQL Server Analysis
Services

SSIS

SQL Server Integration
Services


vi

DANH MỤC HÌNH VẼ
Hình 1.1. Kiến trúc tổng thể của một hệ thống Data Warehouse [2] ..................................... 3
Hình 1.2. Tiến trình ETL [11] ................................................................................................. 8
Hình 1.3. Kho dữ liệu chủ đề (Data Mart) ............................................................................ 9
Hình 1.4. Datamart phụ thuộc ............................................................................................. 10
Hình 1.5. Datamart độc lập ................................................................................................. 10
Hình 1.6. Kiến trúc ba tầng của kho dữ liệu ....................................................................... 12
Hình 1.7. Lƣợc đồ hình sao quản lý bán hàng .................................................................... 17
Hình 1.8. Lƣợc đồ hình bông tuyết quản lý bán hàng ........................................................ 18
Hình 1.9. Đặc tính Roll-up của OLAP................................................................................ 20
Hình 1.10. Đặc tính Drill- down của OLAP ....................................................................... 21
Hình 2.1. Quy trình thiết kế một kho dữ liệu ...................................................................... 22
Hình 2.2. Cấu trúc cơ bản một bảng chiều [12] .................................................................... 26
Hình 2.3. Cấu trúc bảng chiều thời gian ............................................................................. 27
Hình 2.4. Cấu trúc cơ bản của một bảng sự kiện ................................................................ 28
Hình 3.1. Kiến trúc kho dữ liệu dịch vụ khách hàng .......................................................... 39
Hình 3.2. Mô hình thực thể quan hệ cơ sở dữ liệu nguồn................................................... 40

Hình 3.3. Tạo dữ liệu bảng VungMien ................................................................................ 43
Hinh 3.4. Tạo dữ liệu bảng NhomKH.................................................................................. 43
Hinh 3.5. Tạo dữ liệu bảng TinhThanh................................................................................ 43
Hinh 3.6. Tạo dữ liệu bảng ChiNhanh ................................................................................. 44
Hinh 3.7. Tạo dữ liệu bảng NhomDichVu........................................................................... 44
Hinh 3.8. Tạo dữ liệu bảng DichVu..................................................................................... 45
Hinh 3.9. Tạo dữ liệu bảng GiaoDich .................................................................................. 45
Hình 3.10. Bảng chiều thời gian _DimDate ....................................................................... 46
Hình 3.11. Nạp dữ liệu cho bảng chiều thời gian ............................................................... 47
Hình 3.12. Bảng chiều dịch vụ_DimService ...................................................................... 48
Hình 3.13. Bảng chiều chi nhánh_DimBranch ................................................................... 49
Hình 3.14. Bảng chiều nhóm khách hàng_DimCusGroup ................................................. 50
Hình 3.15. Bảng sự kiện dịch vụ khách hàng_FactServiceCustomer ................................. 51
Hình 3.16. Lƣợc đồ hình sao Kho dữ liệu dịch vụ khách hàng Vinaphone ........................ 52


vii

Hình 3.17. Tiến trình ETL—Extract, Transform, Load ...................................................... 54
Hình 3.18. Khởi động SQL Server Data Tools for Visual Studio 2012 ............................. 55
Hình 3.19. Tạo một Integration Services Project có tên LuanvanThs_SSIS_V2 ............... 55
Hình 3.20. Tạo Data Flow cho một package trong SSIS project ........................................ 56
Hình 3.21. Các SSIS toolbox thƣờng đƣợc sử dụng khi xử lý ETL ................................... 56
Hình 3.22. ETL cho bảng chiều dịch vụ ............................................................................. 58
Hình 3.23. ETL cho bảng chiều chi nhánh ......................................................................... 59
Hình 3.24. ETL cho bảng chiều nhóm khách hàng ............................................................. 59
Hình 3.25. ETL cho bảng sự kiện dịch vụ khách hàng ........................................................ 60
Hình 3.26. Tạo một Analysis Services Project có tên LuanvanThs_SSAS_V2 .................. 63
Hình 3.27. Cube cho kho dữ liệu gồm 4 dimensions và một measure. .............................. 64
Hình 3.28. Thống kê lƣợng thuê bao ĐKSD dịch vụ trên toán quốc năm 2017 ................. 64

Hình 3.29. Thống kê lƣợng thuê bao ĐKSD dịch vụ năm 2017 theo NhomKH ................ 65
Hình 3.30. Báo cáo lƣợng thuê bao ĐKSD dịch vụ trong tháng 1 năm 2017 theo
TinhThanh ............................................................................................................................ 66
Hình 3.31. Biểu đồ thống kê lƣợng thuêbao ĐKSD dịch vụ trong năm 2017 của
Vinaphone Hà Nội ............................................................................................................... 66


viii

DANH MỤC CÁC BẢNG
Bảng 1.1. So sánh OLTP và OLAP ...................................................................................... 7
Bảng 1.2. So sánh lƣợc đồ hình sao và lƣợc đồ bông tuyết ................................................ 19
Bảng 3.1. Bảng dữ liệu VungMien ..................................................................................... 40
Bảng 3.2. Bảng dữ liệu TinhThanh ..................................................................................... 41
Bảng 3.3. Bảng dữ liệu ChiNhanh ...................................................................................... 41
Bảng 3.4. Bảng dữ liệu NhomDichVu ................................................................................ 41
Bảng 3.5. Bảng dữ liệu DichVu .......................................................................................... 41
Bảng 3.6. Bảng dữ liệu NhomKH....................................................................................... 41
Bảng 3.7. Bảng dữ liệu Khachhang .................................................................................... 42
Bảng 3.8. Bảng dữ liệu Giaodich ........................................................................................ 42
Bảng 3.9. Đặc tả bảng chiều thời gian ................................................................................ 47
Bảng 3.10. Đặc tả bảng chiều dịch vụ_DimService ........................................................... 48
Bảng 3.11. Đặc tả bảng chiều ChiNhanh_DimBranch ....................................................... 49
Bảng 3.12. Đặc tả bảng chiều nhóm khách hàng_DimCusGroup ...................................... 50
Bảng 3.13. Đặc tả bảng sự kiện_FactServiceCustomer ...................................................... 51
Bảng 3.14. Bảng DimDate .................................................................................................. 53
Bảng 3.15. Bảng DimService ............................................................................................. 53
Bảng 3.16. Bảng DimBranch .............................................................................................. 53
Bảng 3.17. Bảng DimCusGroup ......................................................................................... 53
Bảng 3.18. Bảng FactServiceCustomer .............................................................................. 54

Bảng 3.19. Một số SSIS toolbox thƣờng sử dụng .............................................................. 57
Bảng 3.20. Dữ liệu của bảng chiều DimCusGroup ............................................................. 61
Bảng 3.21. Dữ liệu của bảng DimService............................................................................ 61
Bảng 3.22. Dữ liệu của bảng DimBranch ........................................................................... 62
Bảng 3.23. Dữ liệu của bảng FactServiceCustomer ........................................................... 62


1

MỞ ĐẦU
Trong những năm qua cùng với sự phát triển CNTT, các hệ thống thông tin
đã đƣợc phát triển mạnh cả vể số lƣợng lẫn chất lƣợng, đặc biệt trong nhiều doanh
nghiệp tồn tại nhiều hệ thống thông tin đa dạng và phong phú. Các lãnh đạo doanh
nghiệp thì luôn thiếu thông tin phục vụ điều hành, chƣa kể đến có những thông tin
sai lệch thậm chí mâu thuẫn về cùng một sự việc.... trong khi doanh nghiệp đang sở
hữu một khối lƣợng dữ liệu khổng lồ.
Đến thời điểm hiện nay, phƣơng pháp xây dựng kho dữ liệu (Data
Warehousing) đã phát triển cả vềlý thuyết cũng nhƣ thực tế. Lý thuyết xây dựng
kho dữ liệu đã đƣợc hình thành khá rõ nét, bên cạnh đó các nhà cung cấp phần mềm
cũng đã đƣa ra các công cụ để xây dựng, duy trì và phát triển kho dữ liệu. Một kho
dữ liệu sẽ giúp doanh nghiệp có khả năng quản lý dữ liệu, khai thác thông tin phục
vụ việc điều hành kinh đoanh phù hợp hơn.
Cũng nhƣ các doanh nghiệp khác, Vinaphone có một mạng lƣới các ứng
dụng nghiệp vụ cục bộ tại từng đơn vị thành viên. Việc tập hợp và quản trị dữ liệu
trên phạm vi toàn ngành để cung cấp thông tin cho "quá trình phân tích, hoạch định
chiến lƣợc, hỗ trợ ra quyết định" trong môi trƣờng cạnh tranh và hội nhập là một
thách thức lớn mà Vinaphone đang tìm hƣớng giải quyết.
Xuất phát từ thực tế này, học viên chọn đề tài ―Xây dựng Kho dữ liệu quản
lý thông tin dịch vụ khách hàng của Vinaphone‖. Đề tài đƣợc thực hiện với
những tiêu chuẩn cơ bản về các dịch vụ thông tin di động và khách hàng trong mỗi

doanh nghiệp viễn thông, chẳng hạn nhƣ Vinaphone. Đề tài này nghiên cứu lý
thuyết, nắm chắc phƣơng pháp luận và một công cụ xây dựng kho dữ liệu cụ thể,
tạo nền tảng triển khai xây dựng một kho dữ liệu thực tế-hƣớng giải quyết yêu cầu
củađề tài nói trên.
Ngoài phần mở đầu và kết luận, nội dung chính của luận văn đƣợc trình bày
trong 3 chƣơng:


2

Chƣơng 1. Tổng quan về kho dữ liệu
Trình bày cơ sở lý thuyết của kho dữ liệu với các nội dung nhƣ : định nghĩa
về kho dữ liệu, các đặc tính của kho dữ liệu, lợi ích của kho dữ liệu, một số thuật
ngữ dùng trong kho dữ liệu, kiến trúc của kho dữ liệu và mô hình dữ liệu đa chiều.
Chƣơng 2. Phƣơng pháp thiết kế kho dữ liệu
Trình bày quy trình thiết kế một kho dữ liệu gồm 6 pha cơ bản đó là: xác
định yêu cầu nghiệp vụ, xác định mô hình kiến trúc, xác định các bảng chiều, bảng
sự kiện, xây dựng lƣợc đồ, tích hợp dữ liệu từ nguồn dữ liệu vào kho dữ liệu và khai
thác, phân tích kho dữ liệu.
Chƣơng 3. Xây dựng kho dữ liệu thử nghiệm quản lý thông tin dịch vụ
khách hàng của doanh nghiệp viễn thông(Vinaphone)
Giới thiệu bài toán xây dựng kho dữ liệu quản lý thông tin dịch vụ khách
hàng của doanh nghiệp viễn thông cụ thể là Vinaphone đồng thời tiến hành xây
dựng một kho dữ liệu thử nghiệm giải quyết bài toán này.
Mặc dù đã có nhiều cố gắng nhƣng do thời gian và trình độ còn hạn chế, luận
văn không tránh khỏi những thiếu sót. Kính mong các thầy cô và đồng nghiệp thông
cảm.

Tác giả



3

CHƢƠNG 1.

TỔNG QUAN VỀ KHO DỮ LIỆU

Chương này giới thiệu cơ sở lý thuyết của kho dữ liệu bao gồm các nội dung
như: định nghĩa về kho dữ liệu, đặc tính của kho dữ liệu, lợi ích của kho dữ liệu,
kiến trúc kho dữ liệu, mô hình dữ liệu đa chiều và một số thuật ngữ trong kho dữ
liệu.

1.1

Định nghĩa về kho dữ liệu

Hình 1.1. Kiến trúc tổng thể của một hệ thống Data Warehouse[2]

Kho dữ liệu là hệ thống cơ sở dữ liệu máy tính đƣợc thiết kế, sắp xếp có mục
đích và định hƣớng rõ ràng của một tổ chức nhằm mục đích quản lý, cung cấp thông
tin một cách kịp thời, chính xác, đồng thời là nền tảng cho việc xây dựng các ứng
phân tích dữ liệu, hỗ trợ quyết định (xem hình 1.1).
Có ý kiến cho rằng các cơ sở dữ liệu nghiệp vụ thông thƣờng vẫn có thể hỗ
trợ việc lên các báo cáo thống kê, hỗ trợ quyết định vì vậy chúng ta không cần thiết
phải xây dựng kho dữ liệu. Trong thực tế, đối với các cơ sở dữ liệu có kích thƣớc
nhỏ, số lƣợng bản ghi ít thì việc xây dựng kho dữ liệu là không cần thiết. Tuy nhiên


4


với cơ sở dữ liệu có hàng chục triệu đến trăm triệu bản ghi thì việc phân tích, khai
thác dữ liệu thông qua các báo cáo thống kê sẽ phát sinh hàng loạt vấn đề:
-

Ngƣời xây dựng báo cáo không hiểu mối quan hệ phức tạp giữa các bảng dữ
liệu trong một loạt cơ sở dữ liệu của các ứng dụng nghiệp vụ khác nhau.

-

Cơ sở dữ liệu của các ứng dụng nghiệp vụ có thể để rải rác trên nhiều server,
rất khó cho việc tìm kiếm các bảng dữ liệu để xây dựng câu truy vấn.

-

Việc phân quyền nghiêm ngặt không cho phép ngƣời dùng có thể lấy dữ liệu
chi tiết.

-

Ngƣời quản trị cơ sở dữ liệu hạn chế việc chạy các câu truy vấn lớn nhằm
ngăn chặn nguy cơ làm tê liệt hệ thống.
Qua đó để thấy rằng các hệ thống nghiệp vụ hiện nay với cơ sở dữ liệu sẵn

có không đủ linh hoạt cho mục đích lên báo cáo, phân tích dữ liệu hỗ trợ ra quyết
định trong kinh doanh. Điều này dẫn đến sự ra đời của kho dữ liệu.
Kho dữ liệu ra đời với mục tiêu lƣu trữ, quản lý dữ liệu tập trung đồng thời
tạo một nền tảng thuận lợi để ngƣời dùng có thể khai thác, phân tích số liệu trong
kho dữ liệu thông qua những kỹ thuật hỗ trợ trực tuyến OLAP.
Kho dữ liệu cung cấp những lợi ích sau tới ngƣời dùng phân tích số liệu:
-


Dữ liệu đƣợc tổ chức để tạo thuận lợi cho các truy vấn phân tích chứ không
phải cho việc xử lý các nghiệp vụ thƣờng ngày nhƣ thêm, sửa , xóa.

-

Sự khác biệt về cấu trúc dữ liệu đƣợc lƣu trữ trên nhiều nguồn dữ liệu không
đồng nhất sẽ đƣợc giải quyết.

-

Những quy tắc thống nhất sẽ đƣợc áp dụng khi hợp nhất dữ liệu từ các hệ
thống không đồng nhất sang kho dữ liệu.

-

Tính bảo mật và hiệu suất có thể đƣợc cải thiện mà không cần phải thực hiện
bất kỳ sửa đổi nào trên hệ thống dữ liệu gốc.
Có nhiều định nghĩa khác nhau về kho dữ liệu nhƣng định nghĩa về kho dữ

liệu của Bill Inmon[6]là phổ biến nhất : ―Kho dữ liệu là tập hợp dữ liệu hướng chủ
đề, mang tính tích hợp, ít thay đổi, và mỗi đơn vị dữ liệu đều gắn với một khoảng
thời gian cụ thể. Kho dữ liệu được thiết kế để hỗ trợ quản trị hệ hỗ trợ quyết định‖.


5

Đặc tính của kho dữ liệu

1.2


Theo định nghĩa của Bill Inmon kho dữ liệu có 4 đặc tính cơ bản gồm[6]:
Hướng chủ đề (Subject Oriented), Tích hợp (Integrated), Tính thời gian cụ thể
(Time Variant) và ít thay đổi (Nonvalatile). Một số định nghĩa khác về kho dữ liệu
có bổ sung thêm tính chất kho dữ liệu bao gồm cả dữ liệu chi tiết và dữ liệu tổng
hợp.

1.2.1 Hƣớng chủ đề (Subject-oriented)
Dữ liệu đƣợc tập hợp, phân lớp, lƣu trữ và xử lý theo từng chủ đề.Các dữ
liệu của mỗì chủ đề chính trong tổ chức đƣợc liên kết bởi các khoá đại diện và đƣa
vào cùng một vị trí. Ví dụ dữ liệu liên quan đến: khách hàng, sản phẩm, tài chính,
bán hàng.

1.2.2 Tích hợp (Integrated)
Trong một tổ chức có rất nhiều dữ liệu từ nhiều hệ thống khác nhau. Việc
hợp nhất các dữ liêu này trờ thành một tập hợp dữ liệu có nghĩa cho việc phân tích
là rất khó khăn. Một trong các tính chất chính của kho dữ liệu là hoàn thành quá
trình tích hợp này.
Cấu trúc dữ liệu theo một cách thức chung đƣợc chấp nhận mặc dù xuất phát
từ rất nhiều cấu trúc dữ liệu nguồn khác nhau. Dữ liệu tích hợp phải đảm bảo tính
nhất quán, đôi khi chấp nhận tính dƣ thừa để tăng tính hiệu quả của các truy vấn.

1.2.3 Tính thời gian cụ thể (Time-variant)
Một kho dữ liệu bao hàm một khối lƣợng lớn dữ liệu lịch sử. Dữ liệu đƣợc
lƣu trữ thành một loạt các bản sao (snapshort), mỗi bản sao phản ánh những giá trị
của dữ liệu tại một thời điểm nhất định, thể hiện một khung nhìn của một vùng chủ
đề trong một giai đoạn.
Do vậy cho phép khôi phục lai dữ liệu lịch sử và so sánh một cách chính xác
các giai đoạn khác nhau. Yếu tố thời gian đóng vai trò nhƣ một phần của khóa để
đảm bảo tính đơn nhất của mỗi hàng và cung cấp đặc trƣng về thời gian cho dữ liệu.



6

1.2.4 ít thay đổi (nonvalatile)
Dữ liệu trong kho dữ liệu là dữ liệu chỉ đọc. Dữ liệu đƣợc tải vào kho dữ liệu
ở lần đầu tiên dƣới dạng bản sao tại một thời điểm và sau đó thƣờng xuyên đƣợc
làm tƣơi (Refresh). Chu kỳ làm tƣơi đƣợc xác định tùy theo yêu cầu nghiệp vụ, có
những kho dữ liệu đòi hỏi đƣợc làm tƣơi hàng ngày trong khi có những kho dữ liệu
chỉ cần đƣơc làm tƣơi hàng tháng.
Thông tin trong kho dữ liệu đƣợc tải vào sau khi dữ liệu trong hệ thống điều
hành tác nghiệp đƣợc xác định. Tính ít biến đổi 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ũ
trong kho vẫn không bị xóa, đ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.

1.2.5 Dữ liệu chi tiết và dữ liệu tổng hợp
Dữ liệu chi tiết là thông tin mức thấp nhất đƣợc lƣu trữ trong kho dữ liệu. Dữ
liệu tác nghiệp là thông tin mức thấp nhất cho toàn xí nghiệp. Dữ liệu tác nghiệp
thuần túy không đƣợc lƣu trữ trong kho dữ liệu. Dữ liệu tổng hợp là dữ liệu đƣợc
kết hợp từ dữ liệu chi tiết và lƣu qua nhiều giai đoạn khác nhau.

1.3

Lợi ích của kho dữ liệu
Mục tiêu chung cho tất cả các doanh nghiệp là đƣa ra quyết định kinh doanh

tốt hơn so với đối thủ cạnh tranh. Khi một kho dữ liệu đƣợc triển khai vào kế hoạch
kinh doanh, các công ty có thể hƣởng lợi từ nó bằng nhiều cách[9]:

-

Ra quyết định tốt hơn: Các nhà hoạch định chính sách của công ty sẽ không
còn phải đƣa ra các quyết định kinh doanh quan trọng dựa trên dữ liệu có hạn
và linh cảm. Kho dữ liệu lƣu trữ dữ liệu và số liệu thống kê đáng tin cậy và
ngƣời ra quyết định sẽ có thể lấy thông tin từ kho dữ liệu dựa trên nhu cầu cá
nhân của họ.

-

Truy cập dữ liệu nhanh và dễ dàng: Tốc độ là một yếu tố quan trọng giúp
doanh nghiệp vƣợt trên đối thủ cạnh tranh. Ngƣời dùng doanh nghiệp có thể
nhanh chóng truy cập dữ liệu từ nhiều nguồn từ kho dữ liệu, có nghĩa là thời


7

gian sẽ không bị lãng phí khi thực hiện việc lấy dữ liệu từ nhiều nguồn. Điều
này cho phép đƣa các quyết định nhanh chóng và chính xác, với sự hỗ trợ ít
hoặc không có từ bộ phận công nghệ thông tin của công ty.
-

Chất lƣợng dữ liệu và tính nhất quán: Do các kho dữ liệu thu thập thông tin
từ các nguồn khác nhau và chuyển đổi nó thành một định dạng duy nhất và
đƣợc sử dụng rộng rãi, các phòng ban sẽ tạo ra các kết quả phù hợp và nhất
quán với nhau. Khi dữ liệu đƣợc chuẩn hóa với sự chính xác cao sẽ hỗ trợ
các quyết định kinh doanh trở nên thuyết phục hơn.
Kho dữ liệu là cần thiết cho bất kỳ doanh nghiệp nào muốn có lợi từ những

quyết định kinh doanh đúng đắn.


1.4

Một số thuật ngữ trong kho dữ liệu
1.4.1 OLTP và OLAP
Bảng 1.1. So sánh OLTP và OLAP


8

OLTP – Hệ thống xử lý giao dịch thời gian thực là hệ quản trị CSDL nghiệp
vụ. Các nghiệp vụ hàng ngày của các doanh nghiệp nhƣ bán hàng, mua hàng, thanh
lý hàng tồn kho,.. đều đƣợc mô hình hóa trong OLTP để xử lý hàng ngày. Trong
OLTP dữ liệu chỉ đại diện cho hiện tại, nó không có ý nghĩa lịch sử, đồng thời dữ
liệu trong OLTP đƣợc chuẩn hóa rất cao vên tốc độ xử lý truy vấn phức tạp tƣơng
đối kém.
OLAP – Hệ thống xử lý phân tích trực tuyến là hệ quản trị CSDL chuyên
dùng cho tạo báo cáo và phân tích dữ liệu. Dữ liệu là vô nghĩa nếu chúng chỉ là các
bản ghi trong CSDL, chỉ khi nào chúng đƣợc sử dụng để làm số liệu phân tích, tổng
hợp thì lúc đó dữ liệu mới trở thành thông tin. OLAP là công cụ đƣợc dùng để khai
thác dữ liệu kho dữ liệu với nhiệm vụ hỗ trợ truy vấn phức tạp , đồng thời tạo ra các
báo cáo đầy đủ, chính xác nhất.
Những tính chất đặc trƣng của OLTP và OLAP đƣợc mô tả chi tiết trong
bảng so sánh OLTP và OLAP ( bảng 1.1)[4] .

1.4.2 Tiến trình ETL (Extract, Transform & Load)

Hình 1.2. Tiến trình ETL[11]

Tiến trình ETL (hình 1.2) là tiến trình tích hợp dữ liệu từ nguồn dữ liệu vào

Kho dữ liệu chiếm khoảng 70% khối lƣợng công việc khi xây dựng kho dữ liệu, bao
gồm 3 quá trình: Trích xuất (Extract), Biến đổi (Transform) và Nạp (Load).
Trích xuất dữ liệu là quá trình chọn lọc những dữ liệu nghiệp vụ cần thiết
cho việc xây dựng kho dữ liệu.Ví dụ một doanh nghiệp muốn xây dựng kho dữ liệu


9

cho nghiệp vụ bán hàng, nhƣ vậy pha trích xuất dữ liệu sẽ chọn lựa từ dữ liệu
nghiệp vụ của doanh nghiệp nguồn dữ liệu liên quan đến hoạt động bán hàng nhƣ :
sản phẩm, khách hàng, nhân viên bán hàng,..Ngƣợc lại những dữ liệu về kho bãi,
tiền lƣơng,.. sẽ không tham gia vào quá trình xây dựng kho dữ liệu.
Nói cách khác, trích xuất dữ liệu là quá trình xác định dữ liệu nguồn.
Biến đổi dữ liệu là quá trình biến đổi dữ liệu nguồn sang dạng thích hợp để
nạp vào kho dữ liệu. Ví dụ trong bài toán xây dựng kho dữ liệu cho nghiệp vụ bán
hàng, dữ liệu nguồn đƣợc xác định là những dữ liệu trong cơ sở dữ liệu nghiệp vụ.
Dữ liệu nghiệp vụ thƣờng gặp một số vấn đề nhƣ: dữ liệu trùng nhau, dữ liệu không
chính xác, dữ liệu sai định dạng,..Và nhiệm vụ của pha biến đổi dữ liệu là làm sạch
dữ liệu, tập hợp những dữ liệu có cùng ý nghĩa, và tổng hợp dữ liệu lại với nhau.
Nạp dữ liệu là quá trình ghi dữ liệu lấy đƣợc từ pha biến đổi dữ liệu vào kho
dữ liệu đồng thời cập nhật những thay đổi từ dữ liệu nghiệp vụ vào kho dữ liệu.

1.4.3 Kho dữ liệu chủ đề (Data Mart)
Kho dữ liệu chủ đề (Datamart) là CSDL có những đặc điểm giống với kho
dữ liệu nhƣng với quy mô nhỏ hơn và lƣu trữ dữ liệu về một lĩnh vực, một chuyên
ngành. Hình 1.3 mô tả ba kho dữ liệu chủ đề là kho dữ liệu chủ đề bán hàng, kho dữ
liệu chủ đề tiếp thị và kho dữ liệu chủ đề hàng tồn kho.

Hình 1.3. Kho dữ liệu chủ đề (Data Mart)



10

Các datamart có thể đƣợc hình thành từ một tập con dữ liệu của kho dữ liệu
hoặc cũng có thể đƣợc xây dựng độc lập và sau khi xây dựng xong, các datamart có
thể đƣợc kết nối tích hợp lại với nhau tạo thành kho dữ liệu. Vì vậy có thể xây dựng
kho dữ liệu bắt đầu bằng việc xây dựng các datamart hay ngƣợc lại xây dựng kho
dữ liệu trƣớc sau đó tạo ra các datamart. Có thể chia datamart ra làm hai loại
làdatamart độc lập và datamart phụ thuộc.
-

Datamart phụ thuộc : chứa những dữ liệu đƣợc lấy từ kho dữ liệu và những
dữ liệu này sẽ đƣợc trích lọc và làm sạch, tích hợp lại ờ mức cao hơn để phục
vụ một chủ đề nhất định của datamart. Hình 1.4 mô tả một datamart phụ
thuộc.

Hình 1.4. Datamart phụ thuộc

-

Datamart độc lập : không giống nhƣ datamart phụ thuộc, datamart loại này
đƣợc xây dựng trƣớc kho dữ liệu và dữ liệu đƣợc trực tiếp lấy từ các nguồn.
Phƣơng pháp này đơn giản hơn và chi phí thấp hơn nhƣng đổi lại có những
điểm yếu. Mỗi kho dữ liệu độc lập có cách tích hợp riêng, do đó đữ liệu từ
nhiều datamart khó đồng nhất với nhau. Hình 1.5 mô tả một datamart độc
lập.

Hình 1.5. Datamart độc lập



11

1.4.4 Siêu dữ liệu (Metadata)
Siêu dữ liệulà dữ liệu về dữ liệu, đƣợc sử dụng trong kho dữ liệu để mô tả
cũng nhƣ sử dụng dữ liệu đảm bảo sử dụng triệt để và nhất quán dữ liệu nghiệp
vụ[5].Nó đƣợc tạo ra, duy trì và truy cập trong suốt quá trình xừ lý nghiệp vụ (đƣợc
thực hiện thông qua các ứng dụng).
Dựa vào hai tịêu chuẩn cơ bản là : vị trí của siêu dữ liệu trong ứng dụng và
chúng đƣợc sừ dụng theo cách thức chủ động hay bị động. Ngƣời ta chia siêu dữ
liệu ra thành ba loại: siêu dữ liệu trong giai đoạn xây dựng, siêu dữ liệu kiểm soát
và siêu dữ liệu vận dụng.
Siêu dữ liệu trong giai đoạn xây dựng: là siêu dữ liệu đƣợc tạo ra trong quá
trình thiết kế, xây dựng ứng dụng và cơ sở dữ liệu. Thông thƣờng, chúng đƣợc tạo
ra và lƣu trữ trong các mô hình dữ liệu và công cụ thiết kế ứng dụng.
Siêu dữ liệu kiểm soát: là siêu dữ liệu đƣợc sử dụng chủ động trong hoạt
động của kho dữ liệu, trong đó siêu dữ liệu hiện hành và siêu dữ liệu sử dụng đóng
vai trò quan trọng trong việc quản lý và xây dựng kho dữ liệu.
Siêu dữ liệu hiện hành: mô tả thông tin chính xác về tính hiện thời hay vị trí
của dữ liệu nghiệp vụ theo thời gian.
Siêu dữ liệu sử dụng : gắn chặt với vấn đề an ninh và các chức năng xác định
thẩm quyển, kiểm soát việc truy cập tới kho dữ liệu. Hơn nữa chúng cung cấp các
phƣơng tiện nhằm giám sát dữ liệu và các chức năng này đƣợc sử dụng trong kho
dữ liệu nhƣ thế nào, và do đó xác định đƣợc giá trị của dữ liệu đối với ngƣời sử
dụng cuối.
Siêu dữ liệu vận dụng: là siêu dữ liệu quan trọng nhất đối với ngƣời sử dụng
dữ liệu nghiệp vụ, đặc biệt trong môi trƣờng thông tin. Với chúng ngƣời dùng có
thể đạt đƣợc những lợi ích trong nghiệp vụ và nâng cao hiệu quả công việc.
Siêu dữ liệu vận dụng có nguồn gốc và nội dung tƣơng tự siêu dữ liệu trong
giai đoạn xây dựng. Sự khác biệt ờ chỗ siêu dữ liệu này đƣợc cấu trúc nhằm đảm
bảo hiệu năng tìm kiếm của ngƣời sử dụng.



12

1.5

Kiến trúc kho dữ liệu
Một trong các bƣớc đầu tiên khi thiết kế kho dữ liệu là xây dựng kiến trúc

tổng thể và làm kiến trúc đó đƣợc chấp nhận một cách rộng rãi.
Dựa vào thực tế xây dựng kho dữ liệu ngƣời ta đƣa ra ba mô hình kiến trúc
dữ liệu[7]với sự khác nhau về thành phần tham gia vào hệ thống kho dữ liệu, bao
gồm:
Kiến trúc 1 tầng - Data Warehouse Architecture: Basic
Kiến trúc 2 tầng - Data Warehouse Architecture: with a Staging Area
Kiến trúc 3 tầng - Data Warehouse Architecture: with a Staging Area and Data
Marts
Trong đó, mô hình kiến trúc ba tầng đã bao hàm các thành phần của mô hình
kiến trúc hai tầng và một tầng. Do vậy, chúng ta sẽ xem xét mô hình kiến trúc dữ
liệu ba tầng, sau đó chỉ ra những thành phần khác biệt so với kiến trúc hai tầng và
một tầng.

Hình 1.6. Kiến trúc ba tầng của kho dữ liệu

Với mô hình kiến trúc dữ liệu ba tầng (hình 1.6), một hệ thống kho dữ liệu
gồm ba thành phần chính sau:


13


-

Một công cụ để thu thập dữ liệu từ hệ thống nghiệp vụ, chuẩn hóa
chúng về định dạng dữ liệu đa chiều, nạp vào kho dữ liệu (ExtractTransform-Load).

-

Một cơ sở dữ liệu dùng làm kho dữ liệu để lƣu trữ dữ liệu.

-

Kho dữ liệu phân ra thành các kho dữ liệu chủ đề, hỗ trợ ra quyết định
theo từng nhóm ngƣời sử dụng.

Tầng xử lý dữ liệu –Vùng xử lý
Tầng xử lý dữ liệu là tầng thấp nhất ẩn đi với ngƣời dùng cuối, bao gồm ba
bƣớc:
-

Bƣớc trích xuất (extract) : chọn lựa dữ liệu nguồn cho kho dữ liệu từ
nhiều cơ sở dữ liệu nghiệp vụ khác nhau.

-

Bƣớc chuyển đổi (transform) : biến đổi dữ liệu từ định dạng nguồn
sang định dạng của kho dữ liệu bao gồm ba bƣớc nhỏ là dọn dẹp, tập
hợp và tổng hợp.

-


Bƣớc nạp dữ liệu (load) : ghi dữ liệu đã đƣợc chuyển đổi vào kho dữ
liệu.

Tầng kho dữ liệu
Tầng kho dữ liệu đứng ở trung tâm một hệ thống kho dữ liệu làm nhiệm vụ
lƣu trữ dữ liệu bao quanh tất cả các hoạt động nghiệp vụ của doanh nghiệp.
Có các kiểu dữ liệu khác nhau tạo khả năng thực hiện kho dữ liệu dễ dàng
bao gồm:
-

Dữ liệu thô (Raw data) là dữ liệu mức thấp nhất đƣợc tải trong quá
trình trích xuất, chuyển đổi và nạp.

-

Dữ liệu ở mức tổng hợp (Aggregate data) kết hợp từ các dữ liệu thô
giúp thực hiện chức năng phân tích của kho dữ liệu.

-

Siêu dữ liệu (Meta data) thực hiện công việc ánh xạ dữ liệu từ nguồn
tới môi trƣờng của kho dữ liệu, chứa các thông tin chi tiết về dữ liệu.


14

Tầng kho dữ liệu chủ đề
Một kho dữ liệu thƣờng bao gồm một hoặc nhiều kho dữ liệu chủ đề nhƣ kho
dữ liệu chủ đề bán hàng, kho dữ liệu chủ đề mua hàng,..
Tầng kho dữ liệu chủ đề chứa các Datamart đƣợc phân ra từ kho dữ liệu hỗ

trợ ngƣời dùng cuối khai thác, sử dụng theo mục đích riêng thông qua các công cụ
nhƣ hệ thống OLAP, báo cáo thống kê, hệ thống khai phá dữ liệu.
Mô hình kiến trúc ba tầng của kho dữ liệu khi không có tầng kho dữ liệu chủ
đề cho ta hình ảnh về kiến trúc dữ liệu hai tầng. Kiến trúc hai tầng thƣờng xuất hiện
trong các tổ chức nhỏ hoặc trong giai đoạn đầu của quá trình xây dựng một kho dữ
liệu quy mô doanh nghiệp.
Mô hình kiến trúc dữ liệu hai tầng khi không có tầng xử lý dữ liệu cho ta mô
hình kiến trúc dữ liệu một tầng. Kiến trúc một tầng hiếm khi xuất hiện vì nó tạo ra
xung đột khi nhiều ngƣời dùng cùng truy cập tới một dữ liệu.

1.6

Mô hình dữ liệu đa chiều
Khác với dữ liệu trong các cơ sở dữ liệu nghiệp vụ thông thƣờng đƣợc tối ƣu

hóa cho các thao tác thêm mới, chỉnh sửa hoặc xóa, dữ liệu trong kho dữ liệu đƣợc
tối ƣu hóa cho việc phân tích và báo cáo. Và cơ sở dữ liệu đa chiều đã phát triển và
đi vào công nghệ cơ sở dữ liệu nhƣ là một sự lựa chọn cho những ứng dụng phân
tích dữ liệu.
Theo Oracle: ― Cơ sở dữ liệu đa chiều là một dạng của cơ sở dữ liệu được tối
ưu hoá nhằm cho kho dữ liệu và những ứng dụng xử lý phân tích trực tuyến. Cơ sở
dữ liệu đa chiều thường xuyên được tạo ra bằng cách sử dụng dữ liệu đầu vào từ
những cơ sở dữ liệu quan hệ đã tồn tại ‖[8]
Mô hình dữ liệu đa chiều đƣợc đề xuất và thiết kế cho mục đích phân tích dữ
liệu, và nó là một ứng dụng của cơ sở dữ liệu đa chiều. Các thao tác với dữ liệu của
Kho dữ liệu dựa trên cơ sở là mô hình dữ liệu đa chiều.


15


1.6.1 Các khái niệm chính của mô hình dữ liệu đa chiều
Mô hình dữ liệu đa chiều là một mô hình quản lý dữ liệu theo đó các cơ sở
dữ liệu đƣợc phát triển theo nhu cầu của ngƣời dùng, để đƣợc sử dụng cho các loại
truy vấn cụ thể.
Mô hình này xem dữ liệu ở dạng khối dữ liệu (data cube). Một khối dữ liệu
cho phép dữ liệu đƣợc mô hình hóa và xem xét theo nhiều chiều, đồng thời một
khối dữ liệu đƣợc xác định bởi các chiều (dimensions) và sự kiện (facts).
Sự kiện là những thƣớc đo quan trọng đƣợc sử dụng để đo lƣờng kết quả
kinh doanh[7]. Ví dụ nhƣ sự kiện bán hàng, sự kiện sản xuất, sự kiên hàng tồn kho.
Một chiều là một cấu trúc phân loại dữ liệu để cho phép ngƣời dùng trả lời
các câu hỏi kinh doanh[7]. Trong kho dữ liệu, một chiều là một tập hợp các thông tin
tham chiếu đến một sự kiện có thể đo đếm đƣợc. Một số chiều thƣờng gặp nhƣ
khách hàng, sản phẩm, thời gian. Ví dụ chiều sản phẩm trong sự kiện bán hàng trả
lời cho câu hỏi số lƣợng bán ra từng sản phẩm trong một khoảng thời gian cụ thể.
Một khối dữ liệu có thể có nhiều chiều, về mặt lý thuyết thì số chiều là
không hạn chế. Nếu khối dữ liệu có nhiều hơn ba chiều thì đƣợc gọi là siêu khối
(hypercube). Trong một khối bao gồm nhiều ô dữ liệu, mỗi ô dữ liệu là một liên kết
giữa các giá trị của các chiều đồng thời một ô có thể là rỗng. Một khối dữ liệu đƣợc
coi là thƣa nếu có nhiều ô rỗng, ngƣợc lại với ít ô rỗng ngƣời ta gọi là khối đặc.

1.6.2 Đặc điểm của mô hình dữ liệu đa chiều
Mô hình dữ liệu đa chiều lƣu trữ dữ liệu trong các bảng chiều, bảng sự kiện
trong cơ sở dữ liệu.

a. Bảng chiều
Bảng chiều đƣợc sử dụng để mô tả các chiều, chứa tất cả các thuộc tính đặc
trƣng của chiều đó. Ví dụ, bảng chiều sản phẩm sẽ bao gồm các thuộc tính nhƣ tên
sản phẩm, mô tả sản phẩm, đơn giá, màu sắc, trọng lƣợng,..
Bảng chiều thƣờng có kích thƣớc nhỏ, từ vài đến vài nghìn hàng. Thỉnh
thoảng kích thƣớc bảng chiều có thể phát triển khá lớn nhƣ ngân hàng có thể có

bảng chiều khách hàng với kích thƣớc hàng triệu hàng.


×