¾ Tìm hiểu tổng quan vềcông nghệOLAP
¾ Tìm hiểu OLAP trong MS SQL Server Analysis Service (SSAS)
¾ Tìm hiểu vềcomponent Pivot Table trong Excel
• Pivot Table
• PivotChart
¾ Tìm hiểu các thưviện lập trình liên quan đến SSAS: MDX, AMO, SMO,
ADOMD.NET, .
¾ Xây dựng công cụhỗtrợphân tích dữliệu cho các ứng dụng OLTP
94 trang |
Chia sẻ: tuandn | Lượt xem: 4698 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu công nghệ OLAP và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.CM
KHOA TOÁN – TIN HỌC
BỘ MÔN TIN HỌC
Trần Vĩnh Tiến Đức – Nguyễn Phú Thịnh
NGHIÊN CỨU CÔNG NGHỆ OLAP
VÀ ỨNG DỤNG
LUẬN VĂN CỬ NHÂN CÔNG NGHỆ THÔNG TIN
TP.HCM, Tháng 4-2010
1
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.CM
KHOA TOÁN – TIN HỌC
BỘ MÔN TIN HỌC
Trần Vĩnh Tiến Đức – Nguyễn Phú Thịnh
NGHIÊN CỨU CÔNG NGHỆ OLAP
VÀ ỨNG DỤNG
GIÁO VIÊN HƯỚNG DẪN: NGUYỄN THỊ TRÀ LINH
TP.HCM, Tháng 4-2010
2
Lời cảm ơn.
Đầu tiên, chúng em xin gửi lời cảm ơn sâu sắc đến Cô Nguyễn Thị Trà Linh
và Thầy Trần Ngọc Bảo là những người đã trực tiếp hướng dẫn để ngày hôm nay
chúng em có thể hoàn thành luận văn này. Chắc chắn rằng nếu không có sự dìu dắt
và tận tình giúp đỡ của Cô và Thầy thì chúng em sẽ gặp rất nhiều khó khăn trong
quá trình nghiên cứu thực hiện luận văn.
Kế đến, chúng em muốn trân trọng cảm ơn công lao to lớn của Ba Mẹ,
những đấng sinh thành đã nuôi nấng và dạy dỗ chúng em nên người như ngày hôm
nay. Chắc chắn rằng sau này dù có làm gì, dù có đi đâu, chúng em cũng sẽ không
làm phụ lòng Ba Mẹ.
Cuối cùng, xin gửi lời cảm ơn chân thành đến trường Đại học Sư Phạm
Thành Phố Hồ Chí Minh, nơi đã dành sự quan tâm rất lớn đối với sinh viên công
nghệ thông tin chúng em trong suốt quá trình học tập tại đây. Đặc biệt, xin trân
trọng cảm ơn tòan thể các Thầy Cô khoa Toán-Tin. Trên con đường góp nhặt những
kiến thức quý báu của ngày hôm nay, các thầy, các cô, và bạn bè là những người đã
dạy dỗ, cùng chúng em sát cánh và trải nghiệm trong suốt 4 năm đại học.
3
Mục lục
Lời cảm ơn. ............................................................................................................................ 2
Mục lục .................................................................................................................................. 3
Bảng các kí hiệu, chữ viết tắt ................................................................................................. 6
Bảng danh mục các bảng biểu ............................................................................................... 7
Bảng danh mục các hình vẽ ................................................................................................... 8
Tóm tắt nội dung luận văn ................................................................................................... 10
Mở đầu ................................................................................................................................. 11
Cơ sở lý thuyết ..................................................................................................................... 15
Chương 1 Công nghệ OLAP ....................................................................................... 15
1.1 Giới thiệu về Data Warehouse .............................................................................. 15
1.1.1 Định nghĩa...................................................................................................... 15
1.1.2 Ý nghĩa của Data Warehouse ......................................................................... 16
1.1.3 Đặc điểm của Data Warehouse ...................................................................... 16
1.1.4 Cấu trúc của Data Warehouse ........................................................................ 19
1.2 Tổng quan về OLAP ............................................................................................. 19
1.2.1 Giới thiệu ....................................................................................................... 19
1.2.2 Đặc điểm của OLAP: ..................................................................................... 21
1.3 Các mô hình OLAP............................................................................................... 21
1.3.1 MOLAP (Multidimensional OLAP) .............................................................. 21
1.3.2 ROLAP (Relational OLAP) ........................................................................... 22
1.3.3 HOLAP (Hybrid OLAP) ................................................................................ 25
1.3.4 So sánh các mô hình ...................................................................................... 26
Chương 2 OLAP trong MS SQL Server Analysis Service (SSAS) ............................ 27
2.1. Kiến trúc các thành phần OLAP trong SSAS ...................................................... 27
2.1.1 Cube ............................................................................................................... 27
2.1.2 Dimension ...................................................................................................... 29
2.1.3 Measure .......................................................................................................... 31
2.1.4 Fact table (Fact) ............................................................................................. 31
2.1.5 Slice ............................................................................................................... 32
2.1.6 Partition .......................................................................................................... 33
4
2.1.7 Role ................................................................................................................ 33
2.1.8 Schedule (Lập lịch) ........................................................................................ 34
2.2. Quy trình thiết kế các đối tượng trong SSAS ...................................................... 35
2.2.1 Sơ lược về quy trình xây dựng Data Warehouse ........................................... 35
2.2.1.1 Quy trình chung ........................................................................................... 35
2.2.1.2 Công cụ thực hiện: ....................................................................................... 37
2.2.2 Quy trình tạo Cube: ....................................................................................... 37
Chương 3 Component Pivot Table trong Excel ......................................................... 43
3.1. Pivot Table ........................................................................................................... 43
3.1.1 Giới thiệu ....................................................................................................... 43
3.1.2 Cách sử dụng ................................................................................................. 43
3.2. PivotChart ............................................................................................................ 46
3.3. Giới thiệu một số công cụ hỗ trợ OLAP tương tự như Pivot Table của Excel .... 47
3.3.1 RadarCube OLAP .......................................................................................... 47
3.3.2 Data Dynamics Analysis ................................................................................ 48
3.3.3 ComponentOne OLAP for WinForm ............................................................ 49
3.3.4 Devexpress ASPxPivotGrid ........................................................................... 49
3.4 So sánh Pivot Table với các công cụ khác:........................................................... 50
Ưu điểm: .................................................................................................................. 50
Nhược điểm: ............................................................................................................ 50
Kết luận: ................................................................................................................... 51
Chương 4 Các thư viện lập trình liên quan đến SSAS ................................................ 52
4.1. AMO .................................................................................................................... 52
4.2. ADOMD.NET...................................................................................................... 53
4.3. SMO ..................................................................................................................... 53
4.4. MDX .................................................................................................................... 55
4.4.1 Cấu trúc chung ............................................................................................... 55
4.4.2 Ví dụ mẫu....................................................................................................... 55
4.4.3 Lưu ý .............................................................................................................. 56
Chương 5 Xây dựng công cụ Web hỗ trợ phân tích dữ liệu cho các ứng dụng OLTP58
5.1. Phân tích, thiết kế................................................................................................. 58
5.1.1 Phân tích ........................................................................................................ 58
5.1.1.1 Quy trình xử lý nghiệp vụ: .......................................................................... 58
5.1.1.2 Yêu cầu chức năng: ...................................................................................... 60
5.1.1.3 Mô hình quan niệm dữ liệu: ......................................................................... 66
5
5.1.2 Thiết kế .......................................................................................................... 72
5.1.2.1 Dữ liệu: ........................................................................................................ 72
5.1.2.2 Kiến trúc module: ........................................................................................ 79
5.1.2.3 Hệ thống giao diện: ...................................................................................... 80
5.2. Cài đặt, lập trình................................................................................................... 88
Đánh giá, bàn luận về kết quả .............................................................................................. 89
Kết luận - Hướng phát triển ................................................................................................. 91
Các kết quả đã đạt được ................................................................................................... 91
1. Về lý thuyết .............................................................................................................. 91
2. Về thực nghiệm ........................................................................................................ 91
Danh mục tài liệu tham khảo ............................................................................................... 93
6
Bảng các kí hiệu, chữ viết tắt
Tiếng Anh:
• AMO : Analysis Management Objects
• BI: Business Intelligence
• DTS: Data Transformation Services
• ETL: Extract – Transform - Load
• HOLAP : Hybrid OLAP
• MDX: Multi-dimensional Expressions
• MOLAP : Multidimensional OLAP
• OLAP: Online Analytical Processing
• ROLAP : Relational OLAP
• SMO: SQL Server Management Objects
• SSAS: SQL Server Analysis Services
Tiếng Việt:
• CSDL: Cơ sở dữ liệu
7
Bảng danh mục các bảng biểu
Bảng 1: So sánh các mô hình OLAP ......................................................................... 26
8
Bảng danh mục các hình vẽ
Hình 1: Các dạng cơ sở dữ liệu ................................................................................. 11
Hình 2: Ví dụ về một mẫu báo cáo cố định .............................................................. 12
Hình 3: Minh họa vị trí của ứng dụng ....................................................................... 13
Hình 4: Data Warehouse ........................................................................................... 15
Hình 5: Đặc điểm của Data Warehouse .................................................................... 17
Hình 6: Cấu trúc của Data Warehouse ...................................................................... 19
Hình 7: Vị trí của OLAP ........................................................................................... 19
Hình 8: Mô hình dữ liệu MOLAP ............................................................................. 22
Hình 9: Mô hình dữ liệu ROLAP .............................................................................. 23
Hình 10: Lược đồ hình sao ....................................................................................... 24
Hình 11: Lược đồ hình bông tuyết ............................................................................ 24
Hình 12: Mô hình dữ liệu HOLAP ........................................................................... 25
Hình 13: Ví dụ về Khối (Cube) ................................................................................. 28
Hình 14: Ví dụ về ô rỗng trong khối ......................................................................... 29
Hình 15: Ví dụ về các Dimension (Chiều) khác nhau .............................................. 30
Hình 16: Fact Table ................................................................................................... 31
Hình 17: Slice ............................................................................................................ 32
Hình 18: Các đối tượng trong SSAS ......................................................................... 35
Hình 19: Pivot Table ................................................................................................. 43
Hình 20: PivotChart .................................................................................................. 46
Hình 21: RadarCube OLAP ...................................................................................... 47
Hình 22: Data Dynamics Analysis ............................................................................ 48
Hình 23: ComponentOne OLAP for WinForm ........................................................ 49
Hình 24: Devexpress ASPxPivotGrid ....................................................................... 50
Hình 25: Mô hình xử lý nghiệp vụ quản lý template ................................................ 59
Hình 26: Sơ đồ Use-Case mô tả hệ thống chức năng của Administrator ................. 60
Hình 27: Sơ đồ Use-Case mô tả hệ thống chức năng của Designer ......................... 61
Hình 28: Sơ đồ User-Case mô tả hệ thống chức năng của Custom User ................. 61
Hình 29: Sơ đồ Use-Case mô tả chức năng quản lý Template ................................. 62
Hình 30: Sơ đồ Use-Case mô tả chức năng phân quyền Template ........................... 62
Hình 31: Sơ đồ Use-Case mô tả chức năng quản lý Cube ........................................ 63
Hình 32: Sơ đồ Use-Case mô tả chức năng phân quyền Cube ................................. 63
Hình 33: Sơ đồ Use-Case mô tả chức năng quản lý User ......................................... 64
Hình 34: Sơ đồ Use-Case mô tả chức năng quản lý Group ...................................... 65
Hình 35: Sơ đồ Use-Case mô tả chức năng quản lý Profile...................................... 65
Hình 36: Sơ đồ Use-Case mô tả chức năng cấu hình hệ thống ................................. 66
Hình 37: Mô hình quan niệm dữ liệu hệ thống OLAP .............................................. 67
Hình 38: Mô hình vật lý ............................................................................................ 73
Hình 39: Màn hình chính phân hệ administrator ...................................................... 80
Hình 40: Màn hình chức năng Copy Rights ............................................................. 81
9
Hình 41: Màn hình chức năng Active cube .............................................................. 81
Hình 42: Màn hình chức năng Assign cube to group ............................................... 81
Hình 43: Màn hình chức năng Assign user to cube .................................................. 82
Hình 44: Màn hình chức năng List user .................................................................... 82
Hình 45: Màn hình chức năng Assign Groups .......................................................... 83
Hình 46: Màn hình chức năng Assign Users ............................................................ 83
Hình 47: Màn hình chức năng Import cube .............................................................. 83
Hình 48: Màn hình chức năng Assign rights to profile ............................................. 84
Hình 49: Màn hình chức năng Schedule ................................................................... 84
Hình 50: Màn hình chức năng Setting Connection ................................................... 85
Hình 51: Màn hình chính phân hệ designer .............................................................. 85
Hình 52: Màn hình chức năng Design template ....................................................... 86
Hình 53: Màn hình chức năng Export template ........................................................ 86
Hình 54: Màn hình chức năng Assign template to user ............................................ 87
Hình 55: Màn hình chính phân hệ custom user ........................................................ 87
10
Tóm tắt nội dung luận văn
¾ Tìm hiểu tổng quan về công nghệ OLAP
¾ Tìm hiểu OLAP trong MS SQL Server Analysis Service (SSAS)
¾ Tìm hiểu về component Pivot Table trong Excel
• Pivot Table
• PivotChart
¾ Tìm hiểu các thư viện lập trình liên quan đến SSAS: MDX, AMO, SMO,
ADOMD.NET, ...
¾ Xây dựng công cụ hỗ trợ phân tích dữ liệu cho các ứng dụng OLTP
11
Mở đầu
¾ Giới thiệu sơ lược:
Ngày nay, cách mạng thông tin và sự bùng nổ thông tin trên toàn cầu đã dẫn đến
các thực trạng như sau:
• Dữ liệu: Được lưu trữ ở nhiều dạng cơ sở dữ liệu khác nhau
Hình 1: Các dạng cơ sở dữ liệu
• Nhiều hệ thống thông tin được xây dựng gây ra hệ quả:
Những giao diện khác nhau
Những dạng biểu dữ liệu khác nhau
Thông tin trùng lặp và không nhất quán
• Trong khi đó, các phần mềm và hệ thống báo cáo thường chỉ cung cấp
một số mẫu báo cáo cố định.
VD: Báo cáo về điểm cuối kì của sinh viên
12
Hình 2: Ví dụ về một mẫu báo cáo cố định
Vậy tình huống đặt ra là ta sẽ xử lý như thế nào khi người dùng muốn:
9 Xem thêm thông tin về 1 thành phần nào đó trong CSDL ngoài những
thành phần đã có trên report
9 Xem report theo nhiều hình thức khác nhau, ngoài dạng table đã quá
quen thuộc
Î Không còn cách nào khác hơn là ta phải tạo thêm 1 report mới !!!
¾ Ý tưởng, lí do chọn đề tài:
Từ thực trạng trên, có thể thấy rằng nhu cầu phân tích số liệu để hỗ trợ ra
các quyết định chiến lược một cách kịp thời đã trở nên ngày càng cấp thiết.
13
Trong môi trường kinh doanh hiện đại, các lãnh đạo doanh nghiệp cần có
những thông tin mang tính quản trị chính xác, nhanh chóng và ở nhiều góc độ khác
nhau nhằm thực hiện việc ra quyết định kinh doanh hiệu quả.
Vì thế, ý tưởng của đề tài là sử dụng hệ thống OLAP kết hợp với Data
warehouse để tạo ra 1 công cụ giúp người dùng - đặc biệt là nhà quản lý, những
người ra quyết định - dễ dàng khai thác, truy xuất được các mẫu dữ liệu mà họ quan
tâm.
Hình 3: Minh họa vị trí của ứng dụng
¾ Mục đích đề tài
Xây dựng 1 công cụ phân tích dữ liệu trực tuyến trên nền web cho phép:
• Phân tích số liệu dựa trên nhiều chỉ tiêu, yếu tố.
14
• Có hệ thống phân quyền chặt chẽ về chức năng và dữ liệu trên người
dùng lẫn nhóm người dùng
• Có hệ thống report, chart,... trực quan, đa dạng, hỗ trợ kéo thả
• Có hệ thống template giúp người dùng dễ dàng hơn trong quá trình xem
và phân tích dữ liệu
• Có chức năng Import, Export template, dữ liệu,... phục vụ cho nhu cầu
chuyển đổi giữa các hệ thống khác nhau
• Tùy theo nhu cầu / lựa chọn của người sử dụng khi phân tích số liệu.
• Độc lập với