ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN THỊ GIANG
XÂY DỰNG HỆ THỐNG DATA WAREHOUSE VÀ BUSINESS
INTELLIGENCE ỨNG DỤNG TRONG NGÀNH BƢU CHÍNH
CỦA TỔNG CÔNG TY BƢU ĐIỆN VIỆT NAM
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
TRẦN THỊ GIANG
XÂY DỰNG HỆ THỐNG DATA WAREHOUSE VÀ BUSINESS
INTELLIGENCE ỨNG DỤNG TRONG NGÀNH BƢU CHÍNH
CỦA TỔNG CÔNG TY BƢU ĐIỆN VIỆT NAM
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS NGUYÊN HẢI CHÂU
HÀ NỘI - 2015
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới PGS.TS Nguyễn Hải
Châu, người đã tận tình hướng dẫn và chỉ bảo tôi trong suốt quá trình thực hiện khóa luận
tốt nghiệp đại học và luận văn cao học.
Tôi chân thành cảm ơn các thầy, cô trong trường Đại học Công nghệ đã cho tôi một môi
trường rất tốt để học tập và nghiên cứu. Các thầy cô đã giảng dạy và cho tôi những kiến
thức quý báu, làm nền tảng để tôi hoàn thành luận văn cũng như công việc trong tương
lai.
Tôi cũng xin gửi lời tri ân tới các anh, chị, bạn học viên K19 đã luôn bên cạnh, ủng hộ và
giúp đỡ tôi trong suốt quá trình học tập tại trường.
Cuối cùng, tôi muốn gửi lời cảm ơn vô hạn tới gia đình và bạn bè – những người thân
yêu luôn ở bên, khuyến khích và động viên tôi trong cuộc sống cũng như trong học tập.
Tôi xin chân thành cảm ơn.
Hà nội, tháng 5 năm 2015
Học viên
Trần Thị Giang
LỜI CAM ĐOAN
Tôi xin cam đoan đề tài Xây dựng hệ thống Data Warehouse và Business Intelligence
ứng dụng trong ngành bưu chính của Tổng công ty Bưu điện Việt Nam được trình bày
trong luận văn này là do tôi thực hiện dưới sự hướng dẫn và chỉ bảo của PGS.TS Nguyễn
Hải Châu.
Tất cả các tài liệu tham khảo từ các nghiên cứu liên quan đều được nêu nguồn gốc một
cách rõ ràng trong danh mục Tài liệu tham khảo của luận văn. Trong luận văn, không có
việc sao chép tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu
tham khảo.
Hà nội, tháng 5 năm 2015
Học viên
Trần Thị Giang
i
MỤC LỤC
MỤC LỤC ........................................................................................................................... i
DANH SÁCH CÁC BẢNG .............................................................................................. iv
DANH SÁCH CÁC HÌNH VẼ ......................................................................................... v
DANH SÁCH CÁC TỪ VIẾT TẮT ............................................................................... vii
DANH SÁCH CÁC THUẬT NGỮ ............................................................................... viii
MỞ ĐẦU ............................................................................................................................. 1
CHƢƠNG 1: GIỚI THIỆU VỀ DATA WAREHOUSE VÀ BUSINESS
INTELLIGENCE .............................................................................................................. 3
1. Các khái niệm cơ bản .............................................................................................. 3
1.1.
Định nghĩa Data Warehouse ........................................................................... 3
1.2.
Định nghĩa Business Intelligence .................................................................... 4
2. Lợi ích của hệ thống Data Warehouse và Business Intelligence ......................... 5
3. Kiến trúc của hệ thống Data Warehouse và Business Intelligence ..................... 6
3.1.
Data Source - Dữ liệu nguồn ........................................................................... 7
3.2.
Data Warehouse - Kho dữ liệu tập trung ........................................................ 7
3.3.
Tầng Business Intelligence (BI) ...................................................................... 8
3.4.
Administration (Quản trị hệ thống) ................................................................. 8
4. Thiết kế logic hệ thống Data Warehouse và Business Intelligence ..................... 8
4.1.
Thiết kế thành phần Data Warehouse ............................................................. 8
4.1.1. Các mô hình CSDL trong Data Warehouse ................................................. 8
4.1.2. Một số thuật ngữ trong Data Warehouse ................................................... 10
4.1.3. Thiết kế CSDL chủ đề (Data Mart) ........................................................... 11
4.1.4. Thiết kế CSDL tích hợp (Enterprise Model - EM) .................................... 13
4.1.5. Thiết kế CSDL trung chuyển (Data Staging Area – DSA)........................ 15
4.1.6. Thiết kế tiến trình Thu thập, làm sạch và tích hợp dữ liệu (Extraction Transformation - Loading - ETL) ........................................................................ 17
4.2.
Thiết kế metadata .......................................................................................... 18
ii
4.3.
Thiết kế tầng khai thác và phân tích thông tin .............................................. 18
4.3.1. Thiết kế CSDL đa chiều với OLAP ........................................................... 18
4.3.2. Thiết kế tầng khai thác và phân tích thông tin ........................................... 19
CHƢƠNG 2: BÀI TOÁN XÂY DỰNG HỆ THỐNG DW VÀ BI TẠI VNPOST ..... 21
1. Hiện trạng ngành bƣu chính của Tổng công ty bƣu điện Việt Nam ................ 21
1.1.
Hiện trạng các hệ thống công nghệ thông tin................................................ 21
1.2.
Hiện trạng công tác lập báo cáo tổng hợp ..................................................... 22
1.3.
Vấn đề đặt ra ................................................................................................. 23
2. Mục tiêu bài toán ................................................................................................... 23
3. Phạm vi bài toán .................................................................................................... 24
CHƢƠNG 3: KHẢO SÁT, PHÂN TÍCH, THIẾT KẾ VÀ TRIỂN KHAI HỆ
THỐNG DW VÀ BI TẠI VNPOST ............................................................................... 25
1. Khảo sát .................................................................................................................. 25
1.1.
Khảo sát dữ liệu nguồn ................................................................................. 25
1.2.
Khảo sát báo cáo ........................................................................................... 26
2. Phân tích, thiết kế .................................................................................................. 29
2.1.
Thiết kê kiến trúc tổng thể ............................................................................ 29
2.2.
Thiết kế các CSDL chủ đề ............................................................................ 31
2.3.
Thiết kế CSDL EM ....................................................................................... 35
2.4.
Thiết kế CSDL DSA ..................................................................................... 36
2.5.
Thiết kế tiến trình ETL .................................................................................. 37
2.5.1. ETL các bảng danh mục ............................................................................ 37
2.5.2. ETL các bảng sự kiện ................................................................................ 42
2.5.3. Thiết kế tầng Business Intelligence ........................................................... 58
3. Triển khai ............................................................................................................... 59
3.1.
Cài đặt hệ thống ............................................................................................ 59
3.2.
Triển khai module ETL ................................................................................. 60
3.2.1. Module ETL tổng hợp ............................................................................... 60
iii
3.2.2. ETL bảng danh mục D_POST ................................................................... 61
3.2.3. ETL bảng danh mục D_PRODUCTION ................................................... 61
3.2.4. ETL bảng danh mục D_COST .................................................................. 62
3.2.5. ETL bảng sự kiện F_BCCP ....................................................................... 62
3.2.6. ETL bảng sự kiện F_TCBC ....................................................................... 63
3.2.7. ETL bảng sự kiện F_REVENUE ............................................................... 64
3.2.8. ETL bảng sự kiện F_COST ....................................................................... 65
4. Kết quả ................................................................................................................... 66
KẾT LUẬN ...................................................................................................................... 74
TÀI LIỆU THAM KHẢO............................................................................................... 76
iv
DANH SÁCH CÁC BẢNG
Bảng 1: Thực trạng công nghệ của các phần mềm tại VNPOST ...................................... 22
v
DANH SÁCH CÁC HÌNH VẼ
Hình 1: Đặc trưng của Data Warehouse .............................................................................. 3
Hình 2: Lợi ích của DW và BI trong hỗ trợ ra quyết định .................................................. 5
Hình 3: Mô hình kiến trúc tổng thể ..................................................................................... 6
Hình 4: CSDL hình sao ....................................................................................................... 9
Hình 5: CSDL hình bông tuyết ............................................................................................ 9
Hình 6: ERD của một Data Mart về Doanh số .................................................................. 13
Hình 7: ERD của một Enterprise Model ........................................................................... 15
Hình 8: Báo cáo mẫu về tổng hợp cân đối kế hoạch SXKD toàn Tổng công ty ............... 27
Hình 9: Báo cáo mẫu về Sơ kết công tác 6 tháng .............................................................. 28
Hình 10: Báo cáo mẫu Tình hình sản xuất kinh doanh khối HTPT .................................. 29
Hình 11: Kiến trúc tổng thể của hệ thống tại VNPOST .................................................... 29
Hình 12: Sơ đồ quan hệ của CSDL chủ đề Sản lượng dịch vụ BCCP .............................. 31
Hình 13: Sơ đồ quan hệ của CSDL chủ đề sản lượng dịch vụ TCBC............................... 32
Hình 14: Sơ đồ quan hệ của CSDL chủ đề doanh thu ....................................................... 33
Hình 15: Sơ đồ quan hệ của CSDL chủ đề chi phí ............................................................ 34
Hình 16: Sơ đồ quan hệ của CSDL EM ............................................................................ 35
Hình 17: Luồng dữ liệu của các bảng danh mục ............................................................... 37
Hình 18: Luồng dữ liệu của bảng sự kiện F_BCCP .......................................................... 42
Hình 19: Luồng dữ liệu của bảng sự kiện F_TCBC .......................................................... 45
Hình 20: Luồng dữ liệu của bảng sự kiện F_REVENUE ................................................. 48
Hình 21: Luồng dữ liệu của bảng F_COST....................................................................... 53
Hình 22: Kết quả cài đặt hệ quản trị CSDL và tầng Business Intelligence....................... 59
Hình 20: Module ETL tổng hợp ........................................................................................ 60
Hình 21: Module ETL bảng danh mục D_POST .............................................................. 61
Hình 22: Load dữ liệu từ file excel Danh sách tỉnh thành vào bảng DSA_D_POST ....... 61
Hình 23: Module ETL bảng danh mục D_PRODUCTION .............................................. 61
vi
Hình 24: Load dữ liệu từ file excel Danh sách dịch vụ vào bảng DSA_D_PRODUCTION
........................................................................................................................................... 61
Hình 25: Module ETL bảng danh mục D_COST.............................................................. 62
Hình 26: Load dữ liệu từ file excel Danh sách khoản chi phí vào bảng DSA_D_COST . 62
Hình 27: Module ETL bảng sự kiện F_BCCP .................................................................. 62
Hình 28: Load dữ liệu từ file excel Danh sách sản lượng dịch vụ BCCP vào bảng
DSA_F_BCCP ................................................................................................................... 63
Hình 29: Module ETL bảng sự kiện F_TCBC .................................................................. 63
Hình 30: Load dữ liệu từ file excel Danh sách sản lượng dịch vụ TCBC vào bảng
DSA_F_TCBC................................................................................................................... 63
Hình 31: Module ETL bảng sự kiện F_REVENUE .......................................................... 64
Hình 32: Load dữ liệu từ file excel Kế hoạch doanh thu vào bảng
TMP_REVENUE_PLAN .................................................................................................. 64
Hình 33: Load dữ liệu từ file excel Doanh thu vào bảng TMP_REVENUE_PLAN ........ 64
Hình 34: Module ETL bảng sự kiện F_COST .................................................................. 65
Hình 35: Load dữ liệu từ file excel Kế hoạch doanh thu vào bảng TMP_COST_PLAN . 65
Hình 36: Load dữ liệu từ file excel Chi phí vào bảng TMP_COST_PLAN ..................... 65
Hình 37: Báo cáo về doanh thu – dạng bảng biểu ............................................................. 66
Hình 38: Báo cáo về sản lượng BCCP trong năm 2012 – dạng bảng biểu ....................... 67
Hình 39: Báo cáo về sản lượng TCBC trong năm 2012 – dạng bảng biểu ....................... 69
Hình 40: Báo cáo doanh thu – dạng đồ thị ........................................................................ 70
Hình 41: Báo cáo Top các bưu điện tỉnh thành về thực hiện doanh thu ........................... 71
Hình 42: Báo cáo Bottom các bưu điện tỉnh thành về thực hiện doanh thu ...................... 71
Hình 43: Báo cáo tình hình thực hiện doanh thu – dạng dashboard ................................. 72
Hình 44: Báo cáo tình hình chi phí phát sinh – dạng dashboard ....................................... 73
vii
DANH SÁCH CÁC TỪ VIẾT TẮT
STT Từ viết tắt
1
VNPOST
2
3
4
5
6
7
8
9
BCCP
TCBC
DW
BI
CSDL
DM
EM
ETL
10
11
12
OLAP
DSA
ERD
Từ Tiếng Anh
Vietnam Post
Từ Tiếng Việt
Tổng công ty Bưu điện Việt
Nam
Bưu chính chuyển phát
Tài chính bưu chính
Data Warehouse
Kho dữ liệu
Business Intelligence
Thông minh doanh nghiệp
Cơ sở dữ liệu
Data Mart
Dữ liệu chủ đề
Enterprise Model
Dữ liệu tích hợp
Extraction - Transformation – Thu thập – làm sạch – tích hợp
Loading
Online Analytical Processing
Xử lý phân tích trực tuyến
Data Staging Arear
Dữ liệu trung chuyển
Entity Relationship Diagram
Sơ đồ thực thể liên kết
viii
DANH SÁCH CÁC THUẬT NGỮ
STT Thuật ngữ
1
roll-up
2
drill-down
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Measure
Dimension
Aggregate data
Derived data
Primary key
Foreign key
Surrogate Key
Dimension table
Fact table
Slave table
Hirachy
Partition
Index
Attribute
OLAP cube
Business_Date
Load
Ý nghĩa Tiếng Việt
Tổng hợp lên - xem dữ liệu ở mức cao hơn (dữ liệu
đang ở mức tháng khi roll-up sẽ xem dữ liệu tổng
hợp ở mức quý, hoặc mức năm)
Chi tiết xuống - xem dữ liệu ở mức chi tiết (dữ liệu
đang ở mức tháng khi drill-down sẽ xem dữ liệu chi
tiết ở mức ngày)
Thông tin đo lường được
Chiều thông tin
Dữ liệu tổng hợp
Dữ liệu dẫn xuất
Khóa chính
Khóa ngoài
Khóa giả
Bảng chiều thông tin / Bảng danh mục
Bảng sự kiện
Bảng chi tiết cho bảng sự kiện
Quan hệ phân cấp bên trong một chiều thông tin
Phân vùng
Chỉ mục
Thuộc tính
Khối dữ liệu đa chiều
Ngày dữ liệu nghiệp vụ (ngày giao dịch)
Tải
1
MỞ ĐẦU
Hiện nay, ngành bưu chính ở Việt Nam đã và đang phát triển mạnh mẽ, các dịch vụ bưu
chính được triển khai với quy mô toàn quốc, từ cấp xã, huyện, tỉnh/thành phố đến trung
ương. Do vậy, công tác quản lý là rất cần thiết. Trước tình hình này, ngành bưu chính
Việt Nam, mà cụ thể là Tổng công ty bưu điện Việt Nam đã triển khai nhiều phần mềm
ứng dụng để hỗ trợ trong công tác quản lý và doanh thác các dịch vụ. Tuy nhiên, các
phần mềm này sử dụng độc lập trong từng lĩnh vực, mỗi phần mềm có một cơ sở dữ liệu
riêng, theo đó, phần lớn số liệu tổng hợp phục vụ công tác quản lý, điều hành muốn có
được phải truy xuất vào từng hệ thống riêng thông qua các chức năng thống kê, báo cáo.
Các báo cáo tổng hợp, phân tích thông tin đang được xây dựng thủ công, những bước
thực hiện chính bao gồm: Tập hợp số liệu nguồn cho báo cáo từ các đơn vị thành viên
dưới dạng file excel được kết xuất từ các phần mềm và gửi qua email, công văn. Sau khi
nhận đủ số liệu nguồn, cán bộ phụ trách thực hiện lập báo cáo bằng tay trên Microsoft
Excel, tính toán thủ công các chỉ tiêu thống kê, báo cáo. Chính vì vậy, các báo cáo tổng
hợp chưa đáp ứng được nhu cầu thông tin quản lý điều hành của Lãnh đạo tổng công ty,
các đơn vị chuyên môn như các thông tin chưa được khai thác hiệu quả, chưa thể hiện
được tính phân tích, hỗ trợ ra quyết định. Ngoài ra, khi có nhu cầu phân tích về một đơn
vị hoặc một dịch vụ cụ thể, các lãnh đạo phải truy cập vào mục báo cáo thống kê trong
từng phần mềm ứng dụng riêng biệt để lấy thông tin. Bên cạnh đó, thời gian để xây dựng
các báo cáo tổng hợp với cách làm thủ công là rất lâu do phải chờ các đơn vị thành viên
gửi số liệu về, trong khi tính chính xác của báo cáo không được đảm bảo.
Để giải quyết được các vấn đề nêu trên, luận văn tập trung nghiên cứu, xây dựng một hệ
thống thông tin quản trị điều hành theo mô hình Data Warehouse và Business
Intelligence. Data Warehouse là một hệ thống tập trung dữ liệu từ nhiều nguồn khác nhau
nhằm mục đích khai thác, phân tích thông tin và hỗ trợ quyết định với các đặc trưng về
mặt dữ liệu: tích hợp, hướng chủ đề, tích lũy theo thời gian và bất biến. Business
Intelligence (BI) là tầng ứng dụng khai thác dữ liệu và phân tích thông tin từ Data
Warehouse với thiết kế cơ sở dữ liệu đa chiều (OLAP). Tầng ứng dụng BI bao gồm các
dữ liệu metadata, các chương trình ứng dụng, các công cụ phần mềm,… nhằm mục đích
đưa các kết quả báo cáo, phân tích nghiệp vụ đến trực tiếp người dùng cuối – những cán
bộ nghiệp vụ, các lãnh đạo – để ra quyết định.
Hệ thống Data Warehouse và Business Intelligence hướng đến cung cấp thông tin đầy đủ,
chính xác với các thông tin đa chiều nhằm đáp ứng tốt nhất các nhu cầu thông tin quản lý,
điều hành của Lãnh đạo Tổng công ty, các ban của Tổng công ty và lãnh đạo các đơn vị
thành viên của Tổng công ty Bưu điện Việt Nam.
2
Luận văn gồm 3 chương với các nội dung:
Chƣơng 1: Giới thiệu về Data Warehouse và Business Intelligence. Luận văn giới thiệu
về các khái niệm Data Warehouse (DW), Business Intelligence (BI); Lợi ích của hệ thống
DW và BI. Sau đó, luận văn giới thiệu về kiến trúc phổ biến của một hệ thống DW và BI.
Cuối chương, luận văn trình bày phương pháp thiết kế logic hệ thống DW và BI.
Chƣơng 2: Bài toán xây dựng hệ thống DW và BI tại VNPOST. Luận văn đề cập đến
hiện trạng ngành bưu chính, các hệ thống thông tin và công tác lập báo cáo tổng hợp của
Tổng công ty Bưu điện Việt Nam - VNPOST. Từ đó luận văn đưa ra các vấn đề cần giải
quyết để phát biểu bài toán xây dựng hệ thống DW và BI tại VNPOST. Sau đó, luận văn
đưa ra phạm vi thực hiện trong đề tài luận văn.
Chƣơng 3: Khảo sát, phân tích, thiết kế và triển khai hệ thống DW và BI tại VNPOST.
Trong chương này, luận văn thực hiện khảo sát dữ liệu nguồn, các báo cáo mẫu và nhu
cầu báo cáo phân tích của VNPOST. Sau đó, luận văn thực hiện phân tích, thiết kế và
triển khai hệ thống DW và BI. Cuối cùng, luận văn trình bày các kết quả đạt được.
Kết luận: Luận văn trình bày các kết quả đạt được, các hạn chế còn tồn tại của luận văn
và hướng nghiên cứu tiếp theo.
3
CHƢƠNG 1: GIỚI THIỆU VỀ DATA WAREHOUSE VÀ BUSINESS
INTELLIGENCE
1. Các khái niệm cơ bản
1.1.
Định nghĩa Data Warehouse
Data Warehouse (DW) – Kho dữ liệu – là thuật ngữ được William H. Inmon đưa ra trong
những năm 1970. DW là hệ thống tập trung dữ liệu từ các nguồn khác nhau nhằm mục
đích khai thác, phân tích thông tin và hỗ trợ quyết định, với các đặc trưng về mặt dữ liệu
là: tích hợp, hướng chủ đề, tích lũy theo thời gian và bất biến.
Hình 1: Đặc trưng của Data Warehouse
-
Tích hợp (Integrated): Dữ liệu của DW được tập hợp về từ các nguồn khác nhau
như các CSDL của các hệ thống tác nghiệp, các file tài liệu,… của một doanh
nghiệp.
Ví dụ: dữ liệu của một ngân hàng được tạo ra bởi các nguồn khác nhau như: hệ
thống giao dịch tại các chi nhánh – dữ liệu giao dịch vay và gửi tiền, hay tại các
phòng ban chức năng như chăm sóc khách hàng – dữ liệu về khách hàng, phòng
tài chính kế toán – dữ liệu về tài chính kế toán,.... Dữ liệu tại mỗi phòng ban, chi
nhánh là một khung nhìn. Hệ thống DW sẽ tập hợp tất cả dữ liệu tại các nguồn này
tạo nên một khung nhìn tổng thể về ngân hàng.
Tính tích hợp còn được thể hiện trong việc thống nhất các kiểu, định dạng của dữ
liệu, độ đo hay các thuật ngữ chung trong doanh nghiệp.
4
Ví dụ: dữ liệu số điện thoại trong ứng dụng tác nghiệp được lưu theo định dạng
+84 943...., nhưng trong tập tin được quản lý bởi một phòng ban nào đó lại được
lưu theo định dạng 0943.... Dữ liệu này trong DW sẽ được lưu theo một định dạng
thống nhất phù hợp với doanh nghiệp.
-
Hƣớng chủ đề (Subject-Oriented): Dữ liệu của DW được tổ chức và lưu trữ theo
các chủ đề nghiệp vụ mà người khai thác quan tâm.
Ví dụ: Dữ liệu của một doanh nghiệp trong DW có các chủ đề sau:
o Thực thể doanh nghiệp:
Khách hàng
Đối tác
Đại lý
o Hoạt động của doanh nghiệp:
Bán hàng
Phân phối
Chế tạo
-
Tích lũy theo thời gian (Time-Variant): Dữ liệu lưu trữ có tính chất lịch sử, theo
dòng thời gian tính từ một thời điểm trong quá khứ cho đến hiện tại và các dữ liệu
sẽ phát sinh trong tương lai.
-
Bất biến (Non-Volatile): Dữ liệu đã đưa vào trong DW nói chung ở dạng chỉ đọc
(read-only) và rất hiếm khi thay đổi (không update, không delete). DW chính là
những CSDL được thiết kế cho mục đích Khai thác và Phân tích thông tin (query truy vấn) chứ không phải mục đích cập nhật (update – cập nhật, delete - xóa) như
trong CSDL của các ứng dụng tác nghiệp.
1.2.
Định nghĩa Business Intelligence
Business Intelligence là tầng ứng dụng khai thác dữ liệu và phân tích thông tin từ các
nguồn dữ liệu khác nhau mà tiêu biểu trong đó chính là các DW với thiết kế CSDL đa
chiều (OLAP). Tầng ứng dụng BI bao gồm các siêu dữ liệu (metadata), các chương trình
ứng dụng, các công cụ phần mềm… nhằm mục đích đưa các kết quả báo cáo, phân tích
nghiệp vụ,… đến trực tiếp các người dùng cuối (những cán bộ nghiệp vụ, các lãnh
đạo,…).
5
2. Lợi ích của hệ thống Data Warehouse và Business Intelligence
Hình dưới minh họa lợi ích của DW và BI trong việc hỗ trợ ra quyết định.
Hình 2: Lợi ích của DW và BI trong hỗ trợ ra quyết định
Kinh doanh thông minh được nâng cao: các nhà quản lý và giám đốc điều hành sẽ được
giải phóng khỏi các quết định dựa trên dữ liệu hạn chế và mang tính cảm xúc của mình.
Các quyết định có ảnh hưởng đến chiến lược và hoạt động của tổ chức sẽ được dựa trên
những thực tế đang tin cậy với các bằng chứng và số liệu thực tế được tổ chức rõ ràng.
Ngoài ra, DW và BI có thể được áp dụng trực tiếp vào các quá trình kinh doanh bao gồm
phân khúc thị trường, quản lý hàng tồn kho, quản lý tài chính và bán hàng.
Tăng hiệu suất hệ thống và truy vấn: hệ thống DW được tách riêng biệt khỏi hệ thống
tác nghiệp (OLTP) nên các giao dịch trực tuyến không bị ảnh hưởng và gián đoạn bởi các
truy vấn báo cáo. Trong khi đó, hệ thống DW được thiết kế để lưu trữ một lượng lớn dữ
liệu với tốc độ truy vấn dữ liệu nhanh.
Kinh doanh thông minh từ nhiều nguồn dữ liệu khác nhau: nhiều doanh nghiệp, hệ
thống thông tin doanh nghiệp bao gồm nhiều hệ thống con, tách biệt nhau và được xây
dựng trên các nền tảng khác nhau. Trong khi để kinh doanh thông minh thì việc sát nhập
dữ liệu từ các hệ thống con này là một nhu cầu thiết yếu. Hệ thống DW giải quyết được
nhu cầu thiết yếu này bởi đặc trưng tích hợp dữ liệu từ các nguồn khác nhau. Với DW,
các nhà quản lý chỉ cần truy cập dữ liệu tại một nơi, giảm bớt gánh nặng thu thập, tổng
6
hợp thông tin và có “cái nhìn duy nhất của sự thật” chứ không phải là nhiều sự thật có thể
đến từ báo cáo của các hệ thống con.
Dữ liệu được cập nhật liên tục và kịp thời: trong DW, dữ liệu từ nhiều nguồn khác nhau
sẽ được lập lịch cập nhật định kỳ một cách tự động theo một chu kỳ thời gian (tiến trình
ETL) phù hợp với mục đích khai thác dữ liệu của doanh nghiệp. Khi đó người dùng
không phải mất thời gian chờ dữ liệu được tích hợp từ nhiều nguồn khác nhau. Ngoài ra,
dữ liệu được tổng hợp và truy cập thông qua giao diện của hệ thống BI, để có được dữ
liệu mới, người dùng chỉ cần thực hiện thao tác làm mới (refresh) dữ liệu mà không cần
phải chờ đợi các chuyên gia xây dựng các báo cáo. Thay vào đó, người dùng có thời gian
để phân tích dữ liệu và đưa ra quyết định đúng đắn.
Kinh doanh thông mình từ dữ liệu lịch sử: các hệ thống tác nghiệp chỉ lưu trữ dữ liệu
trong một khoảng thời gian nhất định và đáp ứng nhu cầu báo cáo, phân tích trong
khoảng thời gian đó. Với đặc trưng Tích lũy theo thời gian của DW, dữ liệu được lưu trữ
trong nhiều năm, cho phép những người quản lý doanh nghiệp có được sự phân tích về
xu hướng phát triển và dự đoán xu hướng trong tương lai.
Với các lợi ích kinh doanh thông minh và hỗ trợ ra quyết định, hệ thống DW và BI giúp
cho tăng doanh thu và giảm chi phí làm cho doanh nghiệp phát triển nhanh chóng.
3. Kiến trúc của hệ thống Data Warehouse và Business Intelligence
Kiến trúc phổ biến của hệ thống DW và BI được thể hiện trong hình sau:
Hình 3: Mô hình kiến trúc tổng thể
7
3.1.
Data Source - Dữ liệu nguồn
Dữ liệu nguồn là đầu vào của toàn bộ hệ thống DW, bao gồm một danh sách nguồn dữ
liệu được lựa chọn để đưa vào hệ thống.
Dữ liệu nguồn điển hình của DW là các CSDL tác nghiệp bên trong tổ chức, cung cấp số
liệu chi tiết về các giao dịch phát sinh hàng ngày; các CSDL này có thể được xây dựng
trên các công nghệ khác nhau (Oracle, Microsoft SQL Server, DB2,…).
Ngoài ra, dữ liệu nguồn cho DW cũng có thể ở dạng file – tập tin (text, xml, excel, …);
hoặc có thể là dữ liệu nguồn bên ngoài tổ chức (CSDL của các tổ chức liên kết, các cơ
quan nhà nước,…)
3.2.
Data Warehouse - Kho dữ liệu tập trung
Kho dữ liệu tập trung là thành phần trung tâm của hệ thống, là nơi lưu trữ dữ liệu tập
trung từ các nguồn về, DW bao gồm một tập hợp các CSDL quan hệ được thiết kế nhằm
đảm bảo lưu trữ khối lượng lớn dữ liệu đồng thời đáp ứng tốt nhất các nhu cầu tra cứu,
khai thác dữ liệu. Trong DW có các CSDL sau:
-
DSA (Data Staging Area): CSDL trung chuyển, chứa dữ liệu tạm thời của một
phiên chuyển dữ liệu, phục vụ công việc xử lý, làm sạch trước khi đưa vào CSDL
chính. DSA có hai loại:
o DSA nguồn: chứa dữ liệu tương ứng với một nguồn cụ thể, ở dạng 1:1 về
nội dung và cấu trúc với dữ liệu nguồn; phạm vi dữ liệu là một phiên.
o DSA đích: chứa dữ liệu tổng hợp từ các DSA nguồn, phạm vi dữ liệu là
một phiên, cấu trúc DSA ở dạng thuận tiện cho việc chuyển đổi dữ liệu vào
CSDL tích hợp.
-
EM (Enterprise Model): CSDL tích hợp, chứa dữ liệu của toàn bộ các nguồn, đó là
các dữ liệu đã được xử lý, làm sạch và tích hợp. EM cần đảm bảo cung cấp đủ dữ
liệu cho tất cả các DM.
-
DM (Data Mart): CSDL chủ đề, chứa dữ liệu về một chủ đề thông tin xác định,
phục vụ một lớp đối tượng người dùng cụ thể. Tất cả các DM đều có dữ liệu
nguồn là EM.
-
OLAP (Online Analytical Processing): CSDL chủ đề đã được tổng hợp sẵn, được
tổ chức ở dạng đa chiều nhằm mục đích đáp ứng nhanh nhất việc khai thác thông
tin. Nguồn dữ liệu cho OLAP là từ EM hoặc các DM.
8
-
3.3.
Bên trong DW có tiến trình ETL (Extraction - Transformation - Loading): tiến
trình thu thập, làm sạch, tích hợp dữ liệu; chuyển dữ liệu từ nguồn vào các CSDL
bên trong DW.
Tầng Business Intelligence (BI)
BI là một môi trường thuận tiện để người dùng nghiệp vụ làm việc với hệ thống, cho
phép người dùng chủ động khai thác, phân tích, tạo báo cáo, chia sẻ thông tin,… Thành
phần BI này bao gồm:
-
Lớp dữ liệu nghiệp vụ: các thuật ngữ/tên gọi dành cho người dùng nghiệp vụ, mỗi
thuật ngữ tương ứng với các trường dữ liệu trong các DM.
-
Nơi chứa các kết quả phân tích, báo cáo.
-
Các chương trình ứng dụng, các công cụ dùng để khai thác và phân tích.
-
Cổng giao tiếp với end-user (ví dụ: web portal, office, …)
3.4.
Administration (Quản trị hệ thống)
Administration là thành phần dành cho các chuyên gia kỹ thuật thực hiện việc quản trị,
vận hành hệ thống DW và BI, đảm bảo hệ thống hoạt động ổn định, an toàn và các dữ
liệu được làm mới định kỳ. Thành phần này bao gồm:
-
Metadata: lưu thông tin về các nguồn dữ liệu, thông tin của các CSDL thành phần
trong kho dữ liệu tập trung; thông tin quản lý các tiến trình ETL
-
Các công cụ quản trị, vận hành hệ thống (quản trị, vận hành các tiến trình, các job
tự động, các công việc sao lưu/khôi phục…)
4. Thiết kế logic hệ thống Data Warehouse và Business Intelligence
4.1.
Thiết kế thành phần Data Warehouse
4.1.1. Các mô hình CSDL trong Data Warehouse
Trong thiết kế logic DW, có hai loại mô hình CSDL thường được sử dụng, đó là: mô hình
sao và mô hình bông tuyết:
-
Star Schema (CSDL hình sao): là CSDL quan hệ được thiết kế logic dạng hình
sao bao gồm một bảng dữ liệu chi tiết ở vị trí trung tâm quan hệ với các bảng dữ
liệu danh mục xung quanh (kiểu N:1). Mỗi bảng danh mục đều là bảng duy nhất
của nhánh, không có quan hệ với bảng danh mục nào khác. Ví dụ, trong mô hình
sao sau đây, bảng dữ liệu trung tâm thể hiện sản lượng và doanh số, các bảng danh
mục xung quanh là: khách hàng, sản phẩm, kênh phân phối, thời gian.
9
Hình 4: CSDL hình sao
o Mục tiêu của mô hình sao là truy vấn dữ liệu được nhanh nhất; chấp nhận
dư thừa dữ liệu ở các bảng danh mục.
-
Snowflake Schema (CSDL hình bông tuyết): là CSDL hình sao nhưng được
chuẩn hóa theo một dạng chuẩn khác: mỗi bảng danh mục được tách thành các
bảng danh mục phân cấp (nếu có) để đảm bảo không dư thừa dữ liệu. Trong ví dụ
dưới đây, nhánh bảng Khách Hàng đã được tách thành các bảng phân cấp.
Hình 5: CSDL hình bông tuyết
o Mục tiêu của mô hình bông tuyết là kế thừa việc truy vấn nhanh của mô
hình sao; không để dưa thừa dữ liệu
10
4.1.2. Một số thuật ngữ trong Data Warehouse
-
Dimension Table (bảng danh mục): là bảng danh mục trong CSDL hình sao hoặc
bông tuyết, lưu trữ thông tin về các đối tượng như: khách hàng, sản phẩm, thời
gian, … Các trường của bảng danh mục bao gồm:
o Primary key: kiểu số (ví dụ: id sản phẩm)
o Các trường thông tin thuộc tính (ví dụ: mã sản phẩm, tên sản phẩm, mã
chủng loại, tên chủng loại,…)
o Trong mô hình sao, bảng danh mục còn có thêm các trường sau
Các trường thông tin tổng hợp (aggregate data): các giá trị tổng hợp và
tính sẵn (ví dụ: tổng số lượng, tổng tiền, số lượng lớn nhất, số lượng
nhỏ nhất, số lượng trung bình,…)
Các trường thông tin dẫn xuất (derived data): các giá trị được tính theo
công thức dựa trên các trường thông tin tổng hợp đã có.
-
Fact Table (bảng sự kiện hay còn gọi là Master Table): là bảng trung tâm trong
CSDL hình sao hoặc bông tuyết, lưu trữ dữ liệu chi tiết về các giao dịch phát sinh.
Trong bảng sự kiện, tất cả các trường đều có kiểu dữ liệu là kiểu số (hoặc kiểu
ngày). Các trường của bảng sự kiện bao gồm:
o Primary key: kiểu số, định danh duy nhất một dòng dữ liệu của bảng fact
(ví dụ: id giao dịch).
o Foreign key: tham chiếu tới Primary Key của các bảng danh mục (ví dụ: id
sản phẩm).
o Các trường thông tin phát sinh: kiểu số (ví dụ Số lượng, Doanh thu,...)
-
Slave Table: bảng dữ liệu chi tiết có quan hệ 1:1 với bảng sự kiện, dùng để lưu các
trường dữ liệu không phải kiểu số. Các trường của Slave Table bao gồm:
o Primary key: kiểu số (thường trùng tên trường và cùng kiểu dữ liệu với
Primary Key của bảng sự kiện), cũng đồng thời đóng vai trò Foreign Key
trong quan hệ 1:1 với bảng sự kiện.
o Các trường thông tin không phải kiểu số (Ví dụ: ghi chú, mô tả giao
dịch,…)
o Slave Table không dùng Foreign Key đến các bảng danh mục
-
Surrogate Key (khóa giả): là trường kiểu số, dùng để làm Primary Key cho các
bảng danh mục hoặc bảng sự kiện trong trường hợp Primary Key gốc của các bảng
này không phải là kiểu số hoặc là khóa tổ hợp của nhiều trường.
11
-
Measure (hay còn gọi là Fact): là những thông tin có thể đo lường được, mỗi
measure tương ứng với một trường thông tin phát sinh trong bảng sự kiện như: Số
lượng, Doanh số, ....
-
Dimension (hay còn gọi là Chiều): là những chiều tổng hợp, phân tích về các
measure, ví dụ: chiều sản phẩm, chiều thời gian,…; thông tin về dimension được
lưu ở bảng danh mục; trong dữ liệu chi tiết phát sinh, dimension chính là các
trường Foregn Key của bảng sự kiện. Dimension bao gồm một tập các thuộc tính
(attribute) đi kèm, ví dụ: dimension Khách hàng bao gồm các thuộc tính sau: mã
khách hàng, tên khách hàng, mã quận huyện, tên quận huyện, mã tỉnh thành, tên
tỉnh thành, mã loại hình, tên loại hình…
-
Hierarchy: là quan hệ phân cấp bên trong một dimension; trong một dimension có
thể có nhiều hieararchy. Hieararchy là căn cứ để thực hiện các thao tác trên dữ liệu
tổng hợp: tổng hợp lên (roll-up) hoặc chi tiết xuống (drill-down). Ví dụ: trong
dimension Khách Hàng, có 2 hierarchy sau:
o hieararchy Khách hàng - địa chỉ là: Khách hàng << Phường/xã <<
Quận/huyện << Tỉnh/thành
o hieararchy Khách hàng - loại hình là: Khách hàng << Loại hình
4.1.3. Thiết kế CSDL chủ đề (Data Mart)
CSDL chủ đề (Data Mart - DM) là CSDL được thiết kế theo mô hình sao (như đã nêu ở
mục 4.1.1), chứa dữ liệu về một chủ đề thông tin xác định, phục vụ một lớp đối tượng
người dùng cụ thể. Trong một DW, có thể có nhiều DM, mỗi DM tương ứng với một chủ
đề thông tin.
Dựa trên các kết quả đã có từ giai đoạn khảo sát và phân tích về nhu cầu thông tin, dựa
trên việc phân tích khả năng cung cấp những thông tin có thể lấy ra từ dữ liệu nguồn
(mặc dù người dùng chưa yêu cầu), các bước để thiết kế DM bao gồm:
-
Xác định danh sách các chủ đề thông tin mà hệ thống cần đáp ứng. Mỗi chủ đề
thông tin cần có các nội dung sau:
o Các measure: các giá trị số: những con số nghiệp vụ như: Số lượng bán,
Giá trị bán thể hiện chủ đề Tình Hình Bán Hàng
o Các dimension: các chiều phân tích thông tin. Ví dụ: sản phẩm, cửa hàng,
thời gian,…
-
Với mỗi chủ đề, thiết kế một DM:
o Vẽ sơ đồ thực thể quan hệ (ERD, mô hình sao)
12
o Thiết kế các bảng danh mục:
Primary key: kiểu số, dùng Surrogate Key nếu Primary Key hiện thời
chưa phải là kiểu số.
Các trường gốc, các trường thông tin tổng hợp, trường thông tin dẫn
xuất.
o Thiết kế bảng sự kiện (mỗi DM chỉ có một bảng sự kiện)
Primary key: kiểu số, dùng Surrogate Key (khóa giả) nếu Primary Key
hiện thời chưa phải là kiểu số.
Foreign Key: sang các bảng danh mục
Các trường measure
o Thiết kế Slave Table (nếu cần lưu thông tin bổ sung, không phải kiểu số,..
như đã mô tả ở trên)
o Thiết kế các hierarchy (cho từng dimension): như đã mô tả ở trên
o Thiết kế các partition
Với bảng sự kiện: thường chia partition theo chiều thời gian (tức là chia
theo trường Foreign Key sang bảng danh mục thời gian).
Với các bảng danh mục lớn, có sự tăng trưởng dữ liệu: chia partition
theo trường có nhu cầu tìm kiếm chủ yếu (nếu xác định được).
o Thiết kế các index
Với bảng sự kiện: index trên các trường Foreign Key (trừ Foreign Key
đã được chọn để chia partition)
Với các bảng danh mục: index trên các trường có nhu cầu tìm kiếm (trừ
trường đã được chọn để chia partition)
o Thiết kế giải pháp phi chuẩn:
Làm dư thừa dữ liệu để tăng tốc độ thực hiện các câu lệnh truy vấn, ví
dụ: mview trong Oracle.
Dưới đây là một ví dụ về ERD của một Data Mart, trong đó có bảng sự kiện
DOANH_SO với 2 measure là Số lượng, Doanh số và 4 bảng danh mục là Thời gian,
Cửa hàng, Khách hàng, Sản phẩm
13
Hình 6: ERD của một Data Mart về Doanh số
4.1.4. Thiết kế CSDL tích hợp (Enterprise Model - EM)
Enterprise Model là CSDL được thiết kế theo mô hình bông tuyết (như đã nêu ở mục
4.1.1), chứa dữ liệu tích hợp của tất cả các chủ đề thông tin mà hệ thống cần đáp ứng,
cung cấp dữ liệu cho tất cả các DM. Trong một DW, chỉ có một EM, nhưng bên trong
EM này có thể có một hoặc nhiều bảng sự kiện.
Dựa trên bản thiết kế logic các DM đã có, các bước để thiết kế EM bao gồm:
-
Phân tích bản thiết kế logic các DM đã có
-
Chuẩn hóa và tích hợp các bảng danh mục:
o Mỗi DM có một tập hợp các bảng danh mục, mỗi bảng này cần được chuẩn
hóa (tách bảng) thành các bảng quan hệ theo dạng chuẩn 3 để không bị dư
thừa dữ liệu.
o Sau khi chuẩn hóa, những bảng danh mục nào tương đương nhau (cùng ý
nghĩa nghiệp vụ, cùng primary key,…) thì tích hợp thành một bảng
(primary key là chung, các trường thuộc tính là hợp từ hai bảng); những
bảng danh mục còn lại được giữ nguyên cấu trúc và nếu có quan hệ thì tạo
Foreign Key với các bảng danh mục khác.
-
Tích hợp các bảng sự kiện
o Mỗi DM có một bảng sự kiện, mỗi bảng sự kiện bao gồm một số hoặc tất
cả các trường thông tin của một loại dữ liệu nghiệp vụ cụ thể (ví dụ: dữ liệu
hóa đơn bán hàng). Những bảng sự kiện nào lưu thông tin về cùng một loại