11 Gi Giớ ớ i thi i thiệệu s u sơ ơ l lượ ượ c: c: Ngày nay, cách mạạng thông tin và sựự bùng nổổ thông tin trên toàn cầầuu đđã dẫẫnn đếnncác thựực tr ạạng nhưư sau: • Dữữ liệệu: Đượ
Trang 1TR ƯỜ ƯỜ NG NG ĐẠ ĐẠI H I HỌ ỌC S C SƯ Ư PH PHẠ ẠM TP.CM
KHOA TOÁN – TIN H
B
BỘ Ộ MÔN TIN H MÔN TIN HỌ ỌC C
Tr Trầần V n V ĩ ĩ nh Ti nh Tiếến n Đứ Đứ c – Nguy c – Nguyễễn Phú Th n Phú Thịịnh nh
TP.HCM, Tháng 4-2010
Trang 211
TR
TR ƯỜ ƯỜ NG NG ĐẠ ĐẠI H I HỌ ỌC S C SƯ Ư PH PHẠ ẠM TP.CM
KHOA TOÁN – TIN H
TP.HCM, Tháng 4-2010
Trang 322
Đầu tiên, chúng em xin gửửi lờ i cảảm ơ n sâu sắắcc đến Cô Nguyễễn Thịị Trà Linh
và Thầầy y Tr Tr ầần n NgNgọọc c BBảảo là nhữững ngườ ii đđã ã tr tr ựực c titiếế p p hhướ ng ng ddẫẫnn để ngày hôm naychú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ắắtt
và
và ttậận tình giúp đỡ ccủủa Cô và Thầầy thì chúng em sẽẽ ggặặ p p r r ấất nhiềều khó khăăn trongquá 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 ng ccảảm ơ n công lao to lớ n n ccủủ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ômnay Chắắc c chchắắn n r r ằằng sau này dù có làm gì, dù có đđii đđâu, chúng em cũũng ng ssẽẽ khônglàm phụụ lòng Ba Mẹẹ
Cuốối cùng, xin gửửi i llờ i i ccảảm ơ n chân thành đến n tr tr ườ ng Đại i hhọọc c SSưư PhPhạạmThành Phốố HHồồ Chí Minh, nơ ii đđã dành sựự quan tâm r ấất t llớ nn đối i vvớ i sinh viên côngnghệệ thông thông tin ctin chúng ehúng em m trong trong susuốốt quá trình họọc c ttậậ p p ttạạii đđây Đặc c bibiệệtt , 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ườ ii đđãã
ddạạ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
Trang 433
Mục lục
Lờ i cảảmơ n n 22
Mụục lụục c 33
Bảảng các kí hiệệu, chữữ viếết tắắt t 66
Bảảng danh mụục các bảảng biểểu u 77
Bảảng danh mụục các hình vẽẽ 88
Tóm tắắt nộội dung luậận văăn n 10 10 Mở đầu u 11 11 Cơ sở lý thuyếết t 15 15 Chươ ng 1 Công nghệệ OLAP OLAP 15 15
1.1 Giớ i thiệệu vềề Data Data Warehouse Warehouse 15 15
1.1.1 Định ngh ĩ a a 15 15 1.1.2 Ý ngh ĩ a củủa a Data Data Warehouse Warehouse 16 16
1.1.3 Đặcc đđiiểểm củủa a Data Data Warehouse Warehouse 16 16
1.1.4 Cấấu trúc củủa a Data Data Warehouse Warehouse 19 19
1.2 Tổổng quan vềề OLAP OLAP 19 19
1.2.1 Giớ i thiệệu u 19 19 1.2.2 Đặcc đđiiểểm củủa a OLAP: OLAP: 21 21
1.3 1.3 Các mô Các mô hình OLAP hình OLAP 21 21 1.3.1 1.3.1 MOLAP ( MOLAP (Multidimensional OLAP) Multidimensional OLAP) 21 21 1.3.2 1.3.2 ROLAP ROLAP (Relational (Relational OLAP) OLAP) 22 22 1.3.3 1.3.3 HOLAP HOLAP (Hybrid (Hybrid OLAP) OLAP) 25 25 1.3.4 1.3.4 So sánh So sánh các mô các mô hình hình 26 26 Chươ ng 2 OLAP trong OLAP trong MS SQL MS SQL Server Analysis Server Analysis Service (SSAS) Service (SSAS) 27 27 2.1 Kiếến trúc các thành phầần n OLAP OLAP trong trong SSAS SSAS 27 27 2.1.1 2.1.1 Cube Cube 27 27
2.1.2 2.1.2 Dimension Dimension 29 29
2.1.3 2.1.3 Measure Measure 31 31
2.1.4 2.1.4 Fact Fact table ( table (Fact) Fact) 31 31 2.1.5 2.1.5 Slice Slice 32 32 2.1.6 2.1.6 Partition Partition 33 33
Trang 544
2.1.7 2.1.7 Role Role 33 33
2.1.8 Schedule (Lậậ p lịịch) ch) 34 34
2.2
2.2 Quy Quy trình trình thi thiếết k ếế các đối tượ ng ng trong trong SSAS SSAS 35 35
2.2.1 Sơ l lượ c vềề quy trình xây dựựng ng Data Data Warehouse Warehouse 35 35
2.2.1.1 2.2.1.1 Quy Quy trình trình chung chung 35 35
2.2.1.2 Công cụụ thựực hiệện: n: 37 37
2.2.2 2.2.2 Quy Quy trình trình ttạạo o Cube: Cube: 3 377
Chươ ng 3 Component Component Pivot Table Pivot Table trong Excel trong Excel 43 43
3.3.2 3.3.2 Data Data Dynamics Analysis Dynamics Analysis 48 48
3.3.3
3.3.3 ComponentOne OLAP for WinForm ComponentOne OLAP for WinForm 49 49
3.3.4 3.3.4 Devexpress Devexpress ASPxPivotGrid ASPxPivotGrid 49 49
3.4 3.4 So sánh So sánh Pivot Table Pivot Table vvớ i các công cụụ khác: khác: 50 50
5.1.1.1 5.1.1.1 Quy Quy trình trình xxửử lý nghiệệ p vụụ: : 58 58
5.1.1.2 Yêu cầầu chứức năăng: ng: 60 60
5.1.1.3 Mô hình quan niệệm dữữ liệệu: u: 66 66
Trang 766
Ti Tiếếng Anh: ng Anh:
• AMO AMO : : Analysis Analysis Management Management ObjectsObjects
• BI: Business Business IntelligenceIntelligence
• DTS: Data Data Transformation Transformation ServicesServices
• ETL: Extract Extract – – Transform Transform - - LoadLoad
• HOLAP HOLAP : : Hybrid Hybrid OLAP OLAP
• MDX: Multi-dimensional Multi-dimensional ExpressionsExpressions
• MOLAP MOLAP : : Multidimensional Multidimensional OLAP OLAP
• OLAP: Online Online Analytical Analytical ProcessingProcessing
• ROLAP ROLAP : : Relational Relational OLAP OLAP
• SMO: SQL SQL Server Server Management Management ObjectsObjects
• SSAS: SQL SQL Server Server Analysis Analysis ServicesServices
Ti Tiếếng Vi ng Việệt: t:
• CSDL: CSDL: CCơ sở dữữ liệệuu
Trang 988
Bảng danh mục các hình vẽ
Hình 1: Các dạạng cơ sở dữữ liệệu u 1111Hình 2: Ví dụụ vềề mộột mẫẫu báo cáo cốố định nh 12 12Hình 3: Minh họọa vịị trí củủaa ứứng dụụng ng 1313Hình
Hình 4: 4: Data Data Warehouse Warehouse 1515Hình 5: Đặcc đđiiểểm củủa a Data Data Warehouse Warehouse 1717Hình 6: Cấấu trúc củủa a Data Data Warehouse Warehouse 1919Hình 7: Vịị trí củủa a OLAP OLAP 19 19Hình 8: Mô hình dữữ liệệu u MOLAP MOLAP 22 22Hình 9: Mô hình dữữ liệệu u ROLAP ROLAP 23 23Hình 10: Lượ cc đồ hình hình sao sao 24 24Hình 11: Lượ cc đồ hình bông tuyếết t 2424Hình 12: Mô hình dữữ liệệu u HOLAP HOLAP 2525Hình 13: Ví dụụ vềề Khốối i (Cube) (Cube) 28 28Hình 14: Ví dụụ vềề ô r ỗỗng trong khốối i 2929Hình 15: Ví dụụ vềề các Dimension (Chiềều) u) khác khác nhau nhau 3030Hình
Hình 16: 16: Fact Fact Table Table 3131Hình
Hình 17: 17: Slice Slice 32 32Hình 18: Các đối tượ ng ng trong trong SSAS SSAS 3535Hình
Hình 19: 19: Pivot Pivot Table Table 4343Hình
Hình 20: 20: PivotChart PivotChart 4646Hình
Hình 21: 21: RadarCube RadarCube OLAP OLAP 4747Hình
Hình 22: 22: Data Data Dynamics Dynamics Analysis Analysis 4848Hình
Hình 23: 23: ComponentOne ComponentOne OLAP OLAP for for WinForm WinForm 4949Hình
Hình 24: 24: Devexpress Devexpress ASPxPivotGrid ASPxPivotGrid 5050Hình 25: Mô hình xửử lý nghiệệ p vụụ quảản n lý lý template template 5959Hình 26: Sơ đồ Use-Case mô tảả hệệ thốống chứức năăng củủa a Administrator Administrator 6060Hình 27: Sơ đồ Use-Case mô tảả hệệ thốống chứức năăng củủa a Designer Designer 6161Hình 28: Sơ đồ User-Case mô tảả hệệ thốống chứức năăng củủa a Custom Custom User User 6161Hình 29: Sơ đồ Use-Case mô tảả chứức năăng quảản n lý lý Template Template 6262Hình 30: Sơ đồ Use-Case mô tảả chứức năăng phân quyềền n Template Template 6262Hình 31: Sơ đồ Use-Case mô tảả chứức năăng quảản n lý lý Cube Cube 6363Hình 32: Sơ đồ Use-Case mô tảả chứức năăng phân quyềền n Cube Cube 6363Hình 33: Sơ đồ Use-Case mô tảả chứức năăng quảản n lý lý User User 6464Hình 34: Sơ đồ Use-Case mô tảả chứức năăng quảản n lý lý Group Group 6565Hình 35: Sơ đồ Use-Case mô tảả chứức năăng quảản n lý lý Profile Profile 6565Hình 36: Sơ đồ Use-Case mô tảả chứức năăng cấấu hình hệệ thốống ng 66 66Hình 37: Mô hình quan niệệm dữữ liệệu hệệ thốống ng OLAP OLAP 67 67Hình 38: Mô hình vậật t lý lý 73 73Hình 39: Màn hình chính phân hệệ administrator administrator 8080Hình 40: Màn hình chứức năăng ng Copy Copy Rights Rights 8181
Trang 1099
Hình 41: Màn hình chứức năăng ng Active Active cube cube 8181Hình 42: Màn hình chứức năăng ng Assign Assign cube cube to to group group 8181Hình 43: Màn hình chứức năăng ng Assign Assign user user to to cube cube 8282Hình 44: Màn hình chứức năăng ng List List user user 8282Hình 45: Màn hình chứức năăng ng Assign Assign Groups Groups 8383Hình 46: Màn hình chứức năăng ng Assign Assign Users Users 8383Hình 47: Màn hình chứức năăng ng Import Import cube cube 8383Hình 48: Màn hình chứức năăng ng Assign Assign rights rights to to profile profile 8484Hình 49: Màn hình chứức năăng ng Schedule Schedule 84 84Hình 50: Màn hình chứức năăng ng Setting Setting Connection Connection 8585Hình 51: Màn hình chính phân hệệ designer designer 8585Hình 52: Màn hình chứức năăng ng Design Design template template 8686Hình 53: Màn hình chứức năăng ng Export Export template template 8686Hình 54: Màn hình chứức năăng ng Assign Assign template template to to user user 8787Hình 55: Màn hình chính phân hệệ custom custom user user 8787
Trang 1110
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
Trang 1211
Gi Giớ ớ i thi i thiệệu s u sơ ơ l lượ ượ c: c:
Ngày nay, cách mạạng thông tin và sựự bùng nổổ thông tin trên toàn cầầuu đđã dẫẫnn đếnncá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
• 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 n mmềềm và hệệ ththốống báo cáo thườ ng chỉỉ cung cấấ p
mộột sốố mẫẫu báo cáo ccố đị nh
VD: Báo Báo cáo cáo vvềề đđiiểểm cuốối kì củủa sinh viên
Trang 1312
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:
Xem thêm thông tin vềề 1 thành phầần nào đđó trong CSDL ngoài nhữữngthành phầầnn đđã có trên report
Xem report theo nhiềều hình thứức khác nhau, ngoài dạạng table đđã quáquen thuộộcc
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 Ý tưở ưở ng, lí do ch ng, lí do chọọn n đề đề tài: tài:
Từừ ththựực c tr tr ạạng trên, có thểể ththấấy y r r ằằng nhu cầầu phân tích số li li ệệu để hhỗỗ tr tr ợ raracác quyếếttđịnh chiếến lượ c mộột cách k ịị p thờ ii đđã tr ở nên ngày càng cấấ p thiếết.t
Trang 1413
Trong môi tr ườ ng kinh doanh hiệệnn đại, các lãnh đạo doanh nghiệệ p p ccầầ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ácnhau nhằằm thựực hiệện việệc ra quyếếtt định kinh doanh hiệệu quảả
Vì thếế, , ý ý ttưở ng ng ccủủaa đề tài là sửử ddụụng ng hhệệ ththốống OLAP k ếết t hhợ p p vvớ i Datawarehouse để ttạạo ra 1 công cụụ giúp ngườ i dùng - đặc c bibiệệt là nhà quảản lý, nhữững
ngườ i ra quyếếtt định - dễễ dàng khai thác, truy xuấấtt đượ c các mẫẫu dữữ liệệu mà họọ quantâm
M Mụ ụcc đđích ích đề đề tài 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ốố
Trang 1514
• Có Có hhệệ ththốống phân quyềền n chchặặt t chchẽẽ vvềề chchứức c nnăăng và dữữ liliệệu trên ngườ iidù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ó Có hhệệ ththốố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ệệuu
• Có chứức c nnăăng Import, Export template, dữữ liliệệu, phụục c vvụụ cho nhu cầầuuchuyểểnn đổ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 hệệ thốống cơ sở dữữ liệệu củủa ngườ i dùng
Đố Đối t i tượ ượ ng và ph ng và phạạm vi nghiên c m vi nghiên cứ ứ uu
•
Công nghệệ Data Warehouse và OLAP
• Các mô hình OLAP: MOLAP, ROLAP, HOLAP
• Tìm hiểểu OLAP trong MS SQL Server Analysis Service (SSAS)
• Quy trình thiếết t k k ếế các đối i ttượ ng trong SSAS: Data Source, Data SourceView, Cube, Dimension,
• Component Pivot Table và PivotChart trong Excel
• Các thưư viviệện n llậậ p p trình trình liên liên quanquan đến n SSAS: SSAS: MDX, MDX, AMO, AMO, SMO,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
Trang 1615
1.1 Giớ i thiệu về Data Warehouse
1.1.1 Định ngh ĩ a
Hình 4: Data Warehouse
Kho dữữ liliệệu (data warehouse), gọọi i mmộột cách chính xác hơ n là kho thông tin(information warehouse), là mộột cơ sở dữữ liệệu hướ ngđối tượ ng đượ c thiếết k ếế vớ ii
việệc tiếế p cậận các ý kiếến trong mọọi l ĩ nh vựực kinh doanh Nó cung cấấ p các công cụụ
để đđáp ứứng thông tin cầần thiếết cho các nhà quảản tr ịị kinh doanh tạại mọọi cấấ p độ t tổổ
chứức - không nhữững chỉỉ là nhữững yêu cầầu dữữ liệệu phứức hợ p, mà còn là đđiiềều kiệệnnthuậận tiệện nhấấtt để đạtt đượ c việệc lấấy thông tin nhanh, chính xác
Trang 1716
Là mộột sựự pha tr ộộn củủa nhiềều công nghệệ, bao gồồm các cơ sở dữữ liệệuu đđa chiềều và
mốối quan hệệ giữữa chúng, kiếến trúc chủủ khách, giao diệện ngườ i dùng đồ họọa,
Kho dữữ liệệu u ththườ ng r ấất t llớ n n ttớ i hàng tr ăăm GB hay thậậm chí hàng Terabyte Kho
ddữữ liệệuu đượ c xây dựựng để tiệện lợ i cho việệc truy cậậ p theo nhiềều nguồồn, nhiềều kiểểuu
ddữữ liệệu khác nhau sao cho có thểể k ếết hợ đượ c cảả nhữững ứứng dụụng củủa các côngnghệệ hiệệnn đại và k ếế thừừaa đượ c từừ nhữững hệệ thốống đđã có sẵẵn từừ tr ướ c
Trang 18ng tin chí
tên nh
o lườ ng ubject-ori
c xung q roduct), b
h xác, ch
nted): Ch
anh các c
n hàng (s hình hó
và phân t vào các h
Trang 19tile ): dữ
ớ c)
llưu tr ữ tro
liệệu có th iúm nhà ty.
iiảản và sú
liệệu đượ cc cho việệcc
dữ liệệu là
ệệ p: dữ liệệu u: cung c
Trang 2019
1.1.4 Cấu trúc của Data Warehouse
Hình 6: Cấu trúc của Data Warehouse
Mộột Data warehouse đượ c c ccấấu u ttạạo o ttừừ mmộột hay nhiềều cube (khái niệệm này sẽẽ đề
ccậậ p ở phầần sau)
Enterprise Data warehouse: tậậ p hợ p toàn bộộ thông tin vềề các đối tượ ng củủa toàn
ttổổ chứức/công ty Ví dụụ: sảản phẩẩm, khách hàng, doanh thu …
Data mart (kho dữữ liệệu chủủ đề): là mộột tậậ p con củủa Data warehouse, chỉỉ t tậậ p trungvào nhữững đối tượ ngđượ c chọọn.
1.2 Tổng quan về OLAP
1.2.1 Gi ớ i thi ệ u
Hình 7: Vị trí của OLAP
Trang 2120
Nếếu u hhệệ ththốống ng xxửử lý chuyểển giao dữữ l liiệệu OLTP tậậ p p trung trung vào vào viviệệc thu thậậ p, p, llưưuu
tr ữữ và biếếnn đổi dữữ liệệu mộột cách chuẩẩn xác, thì OLAP tậậ p trung vào việệc sửử dụụngcác dữữ liệệuu đđãã đượ c biếếnn đổi vào việệc ra quyếếtt định sảản xuấất kinh doanh OLAP
là mộột mụục trong các phầần mềềm cơ sở dữữ liệệu cung cấấ p giao p giao didiệện qua đđó ngườ ii
ssửử ddụụng có thểể bibiếếnn đổi i hohoặặc c gigiớ i i hhạạn các dữữ liliệệu u ssơ khai tuỳỳ theo các hàm đđãã
định ngh ĩ a a hohoặặc do chính ngườ i i ssửử ddụụng định ngh ĩ a, sau đđó nhanh chóng kiểểmtra các k ếết quảả trong các chiềều khác nhau củủa dữữ liệệuu
Hệệ ththốống OLAP là mộột t hhệệ ththốống quảản lý dữữ liliệệu giàu năăng ng llựực Nó cho phép
ngườ i i ssửử ddụụng phân tích dữữ liliệệu qua việệc c ccắắt lát (slice) dữữ liliệệu theo nhiềều khía
ccạạnh khác nhau, khoan xuốống (drill down) mứức chi tiếết t hhơ n hay cuộộn lên (rollup) mứức c ttổổng ng hhợ p p hhơ n n ccủủa a ddữữ liliệệu u BBảản n chchấất t ccốốt lõi củủa OLAP là dữữ liliệệuu đượ cc
llấấy ra từừ Data warehouse hoặặc c ttừừ Datamart sau đđóó đượ c chuyểển thành mô hình
đđa chiềều và đượ c lưưu tr ữữ trong mộột kho dữữ liệệuu đđa chiềều
Cụụ ththểể, OLAP là mộột t k k ỹỹ thuthuậật t ssửử ddụụng các thểể hihiệện n ddữữ liliệệuu đđa chiềều u ggọọi là các
khố ii (cube) nhằằm cung cấấ p p khkhảả nnăăng truy xuấất nhanh đến n ddữữ liliệệu u ccủủa kho dữữ
liệệu u TTạạo o khkhốối cho dữữ liliệệu trong các bảảng chiềều (dimension table) và bảảng ng ssựự
kiệện (fact table) trong kho dữữ liệệuu để cung cấấ p p khkhảả năăng thựực hiệện các truy vấấnntinh vi và phân tích cho các ứứng dụụng client
OLAP cung cấấ p nhiềều lợ i ích cho ngườ i phân tích, cho ví dụụ nhưư::
• Cung cấấ p mô hình p mô hình ddữữ liệệuu đđa chiềều tr ựực quan cho phép dễễ dàng lựựa chọọn,
Trang 2221
• Cung cấấ p các công cụụ mạạnh giúp ngườ i dùng tạạo các khung nhìn mớ i củủaa
ddữữ liệệu dựựa trên mộột tậậ p các hàm tính toán đặc biệệt.t
• Hỗỗ tr tr ợ ttạạo mô hình chứức c nnăăng để ddựự báo, phân tích xu thếế phát triểển và phân tích thốống kê
•
Tìm kiếếm và hiểển thịị dữữ liệệu dướ i dạạng biểểuu đồ, không gian 2D, 3D, …
OLAP đượ cc đặt ra để xửử lý các truy vấấn liên quan đến lượ ng dữữ liệệu r ấất lớ n mà
nnếếu cho thựực thi các truy vấấn này trong hệệ thốống OLTP sẽẽ không thểể cho k ếết quảả
hoặặc sẽẽ mấất r ấất nhiềều thờ i gian
1.2.2 Đặ c đ i ể m c ủ a OLAP:
Đượ c biếếtt đến nhưư là mộột phầần củủa kho dữữ liệệuu
Cung cấấ p các báo cáo, phân tích tiềền tính toán, các đồ thịị, biểểuu đồ
Cho phép phân tích tr ựực tuyếến dữữ liệệuu
Thăăm dò sựự t tươ ng tác dữữ liệệuu
Cung cấấ p các giao diệệnn đđa dạạng cho ngườ i dùng
Cung cấấ p khảả năăng phân tích dữữ liệệu phứức tạạ p bằằng phươ ng thứứcc đơ n giảảnn
1.3.1 MOLAP (Multidimen sional OLAP)
Mô hình MOLAP lưưu tr ữữ dữữ liệệu cơ sở (là dữữ liệệu từừ các bảảng ng ccủủa kho dữữ liệệu)
và thông tin tổổng hợ p (là các độ đđoo đượ c tính toán từừ các bảảng) trong các khốốii
Trang 23Ví d ụụ: tổổ
.3.2 R
Mô hìn trong cá
ượ c tìm t
rong MO
hững dữ l thích hợ
ổổng hợ p nhánh tro
)
tr ữ d dữ li li
LAP
mộột thờ ii
Trang 25 ROLAP thích hROLAP thích hợ ợ p cho các truy vp cho các truy vấấn n ddữ ữ liliệệu theo thu theo thờ ờ i gian thi gian thự ự cc (x(xảảy ra
thườ ng xuyên và đđòi hỏỏii độ chính xác tứức thờ i)
Ví d ụụ: xem thông tin chứứng khoán
Trang 2625
1.3.3 HOLAP (Hybrid OLAP)
Là mô hình OLAP lai (HOLAP) là sựự k ếết hợ p giữữa MOLAP và ROLAP
HOLAP là mô hình lai giữữa MOLAP và HOLAP, k ếết t hhợ p p nhnhữững ưưuu đđiiểểm và
loạại bỏỏ nhữững khuyếếtt đđiiểểm củủa 2 mô hình trên nhằằm tạạo ra mộột mô hình tốốii ưưuu
Lợ i ích củủa việệc lưưu tr ữữ trong cấấu trúc HOLAP là:
• Lưưu dữữ liệệu tổổng hợ p trong Cube (theo p trong Cube (theo MOLAP)MOLAP) để t tăăng tốốcc độ xửử lý cáctruy vấấn phứức tạạ p
• Lưưu u tr tr ữữ ddữữ liliệệu u ccơ ssở trong các bảảng quan hệệ (theo ROLAP) nhằằm m titiếếtt
kiệệm không gian lưưu tr ữữ
Ví d ụụ: Trong mộột công ty chứứng khoán:
Dữữ liliệệu u vvềề thông tin nhân viên, doanh thu củủa 2 a 2 nnăăm tm tr r ở vềề tr tr ướ cc
=> lưưu trong cube
Dữữ liệệu vềề thông tin chứứng khoán, giá cổổ phiếếu hằằng ngày
=> lưưu trong bảảng quan hệệ
Tốốii ưưu hóa đượ c vấấnn đề l lưưu tr ữữ và xửử lý củủa hệệ thốống
Trang 27Lưưu tr ữữ dữữ liệệu cơ sở Khốốii Bảảng quan hệệ Bảảng quan hệệ
Lưưu tr ữữ thông tin tổổng hợ Khốốii Bảảng quan hệệ Khốốii
Hiệệu suấất thựực hiệện truy vấấnn Nhanh nhấấtt Chậậm nhấấtt Nhanh
Tiêu thụụ không gian lưưu tr ữữ Nhiềềuu Thấấ p Trung bình
Chi phí bảảo trì Cao Thấấ p Trung bình
Bảng 1: So sánh các mô hình OLAP
Chọọn mô hình nào cầần n d d ự a vào hiệệu u su suấ t, t, m mụụcc đ ích khai thác, và l ượ ng ng d d ữ
liệệu,… (ví d ụụ MOLAP: thích hợ p vớ i data marts <50 GB, ROLAP: l ượ ng d ữ liệệu
có thể l ớ n hơ n)
Trang 2827
Service (SSAS)
Giớ i thiệu sơ lượ c về SSAS
Từừ tr ướ cc đến nay, SQL Server đượ c biếếtt đến vớ i vai trò là mộột hệệ quảản tr ịị cơ sở
ddữữ liệệu có trách nhiệệm hỗỗ tr ợ quảản lí, lưưu tu tr r ữữ dữữ l liiệệu vớ i Database Engine Tuynhiên, từừ phiên bảản SQL Server 2005 đến SQL Server 2008 và mớ i nhấất là SQLServer 2008 R2, thì bộộ SQL Server đđãã đượ c tích hợ p p nhinhiềều gói dịịch ch vvụụ hhỗỗ tr tr ợ
việệc tích hợ p p và và khai khai thác thác khkhảả nnăăng tiềềm tàng củủa a mmộột t ccơ ssở ddữữ liliệệu u nhnhưư SQLServer Integrating Services, SQL Server Analysis Services và SQL ServerReporting Services
Analysis Services là mộột dịịch vụụ hỗỗ tr ợ mạạnh mẽẽ việệc phân tích, khai thác thôngtin tiềềm tàng bên trong củủa mộột hệệ cơ sở dữữ liệệu
Analysis Services là công cụụ dễễ sửử dụụng, tích hợ p và p và linhlinh động giúp định ngh ĩ aacác chiềều, xây dựựng các khốối dữữ liệệuu đđa chiềều và cung cấấ p các chươ ng trình ứứng
Cube dùng cácCube dùng các dimensionsdimensions,, fact tablefact table và cácvà các measuremeasure để mô mô ttảả ddữữ liliệệu trongcube
Ví d ụụ : mộột cube 3 chiềềuu
Trang 29k ếết giữa c
là r ỗỗng ( parsecube
c (densec ng:
be): có ít
c gọọi là ‘s hông hạạn 2
Trang 3029
Hình 14: Ví dụ về ô rỗng trong khối
Cube biễễu u didiễễn n ddữữ liliệệu u ddướ i i ddạạng ng ttổổng ng hhợ p p nhinhiềều u hhơ n là chi tiếết t nhnhưư khi dùng
bảảng thông thườ ng Do đđó, cube cho ngườ i dùng thấấyy đượ c cái nhìn tóm tắắt,t,
thểể đượ c mô tảả bở i các thuộộc tính nhưư Năăm, Quý, Tháng và Ngày
Trang 31p
k cc
Các chi
nhằằm x
phân tíc
Chiềều c Phân cấấ
ta đđã thự
hực hiệện quá nhiềề
ề các Dim
gộộ p dữ l
i có thểể t p.
p
p này c này cầần phân tích
ự tr ợ giúp
Trang 32
ỗỗi fact c
o đđó
act Table
Các đơ n phân phân tích tích
n phân tí
liệệu mộộtt
ác dimen các meas
vịị đđo lườ n
như định
h,
h, k k ếết t h h cách có hệệ
Trang 3332
2.1.5 Slice
Slice là mộột “lát cắắt”, tươ ng ứứng mộột giá tr ịị duy nhấất cho chiềều “đượ c chiếếu”
vvớ i các giá tr ịị thành viên củủa các chiềều khác
Hình 17: Slice
Trang 3433
2.1.6 Partition
Tấất cảả các khốốii đều có tốối thiểểu mộột phân hoạạch (Partition) để chứứa dữữ liệệu củủaa
nó Mộột partition đơ nn đượ c tựự động tạạo ra khi khốốii đượ cc định ngh ĩ a
Khi ta tạạo o mmộột partition mớ i cho mộột t khkhốối, partition mớ i này đượ c thêm vàotrong tậậ p hợ p các partition đđã tồồn tạạii đối vớ i khốối.i
Khốối phảản ánh dữữ liệệuu đđãã đượ c k ếết nốối có trong tấất cảả các partition củủa nó Mộộtt
bảảng partition củủa khốối là vô hình đối vớ i ngườ i dùng
Các partition tiêu biểểu cho mộột công cụụ mmạạnh, mềềm m ddẻẻo cho việệc c ququảản n tr tr ịị các
khốối OLAP, đặc biệệt các khốối lớ n
Ví
Ví d d ụụ: : MMộột t khkhốối i chchứứa thông tin thươ ng ng mmạại có thểể chchứứa trong mộột t hohoặặc nhiềềuu partition cho dữữ liệệu củủa nhữững năăm tr ướ c và các partition cho mỗỗi quý củủa năăm
hiệện n ttạại Cuốối i nnăăm các bảảng partition củủa a bbốốn quý có thểể đượ c c hhợ p p nhnhấất trong
mộột partition đơ n cho năăm đđó Các bảảng partition có thểể đượ c lưưu tr ữữ vớ i các sựự
llựựa chọọn k ếết hợ p kh p khác nhau ác nhau theo ptheo phhươ ng thứức lưưu tr ữữ,, định vịị dữữ liệệu nguồồn vàthiếết t k k ếế k ếết t hhợ p p Tính Tính mmềềm dẻẻo này cho phép ta thiếết t k k ếế các chiếến n llượ c c llưưu u tr tr ữữ
khốối thích hợ p vớ i các yêu cầầu củủa ta
2.1.7 Role
Bảảo o mmậật trong Analysis Services đượ c tích hợ p p ssẵẵn và dựựa trên bảảo o mmậật t ccủủaa
Microsoft Windows Để Analysis Services đượ c c bbảảo o mmậật, ta tạạo các role trongdatabase OLAP Mỗỗi role có thếế chchứứa a mmộột t hohoặặc nhiềều user (group) đượ c c ttạạootrong hệệ đđiiềều hành Mỗỗi role đượ c tạạo ra sẽẽ liên k ếết vớ i các cube trong databaseOLAP Nhờ vậậy, ta có thểể quảản lý sựự bảảo mậật củủa cube bằằng cách hạạn n chchếế truy
ccậậ p metadata (các member trong dimemsion) p metadata (các member trong dimemsion) ccũũng nhưư truy cậậ p data (các giá tr ịị
llưưu tr ữữ trong cube)
Analysis Services có mộột role cốố định đượ c tạạo sẵẵn, bao gồồm các thành viên củủaagroup Administrators trên máy chủủ server, đượ c gọọi là server role
Để có thểể thựực thi mọọi tác vụụ trong hệệ thốống Analysis Services, user đđang dùng
Trang 3534
phảải là thành viên củủa group Administrators Tấất t ccảả thành viên trong group này
đượ c toàn quyềền trên các cube và các database củủa server
Trong thựực c ttếế, , ngngườ i ta tạạo ra các role trên mỗỗi database, gọọi là database role,cho phép mộột user chỉỉ đượ c quyềền quảản tr ịị trên mộột database
Ngoài ra, ta Ngoài ra, ta còn có tcòn có thhểể t tạạo các role ở cấấ p độ cube (truy cậậ p toàn p toàn bbộộ mộột sốố cubequy định) hoặặcc ở ccấấ p độ dimension (truy cậậ p p datadata ở mmộột t ssốố dimension củủa a mmộộtt
ssốố cube nhấấtt định)
2.1.8 Schedule (Lập lịch)
Tạại mộột thờ ii đđiiểểm nào đđó, hệệ thốống OLAP server cầần phảải process lạạii để update
nhữững thay đổi i ttừừ phía Database Server, đảm m bbảảo cho Client có thểể truy xuấấtt
đượ c nhữững dữữ liệệu mớ i nhấất và đầyy đủ củủa hệệ thốống
Có 2 cách process: thủủ công và tựự động
• Thủủ công: có thểể tiếến hành process thủủ công khi cầần thiếết ( có sựự thay đổii
ddữữ liệệu hay cấấu trúc hệệ thốống)
• Tựự động: có thểể llậậ p p llịịch cho hệệ ththốống ng ttựự động process sau mộột khoảảng
thờ i gian quy định tr ướ c
Trang 3635
2.2 Quy trình thiết k ế các đối tượ ng trong SSAS
2.2.1 S ơ l ượ c v ề quy trình xây d ự ng Data Warehouse 2.2.1.1 Quy trình chung
Nhậận dạạng dữữ liệệu nguồồn (Identify the data source):
• Mộột trong nhữững ng bbướ cc đầu tiên để xây dựựng Data Warehouse là phảảii
nhậận n bibiếết các nguồồn n ddữữ liệệu Ta cầần pn phhảải tính toán và xem xét nhữững ng ddữữ
liệệu nào cầần thiếếtt để đưa vào Data Warehouse
• Trong mộột Data Warehouse, có hai loạại nguồồn dữữ liệệu cầần xem xét, đđó lànguồồn dữữ liệệu bên trong (internal data source) và bên ngoài (external datasource) Dữữ liệệu bên trong là nhữững dữữ liệệuu đđã có sẵẵn trong hệệ thốống hiệệnn
ttạại i DDữữ liliệệu bên ngoài là nhữững ng ddữữ liliệệu u ttừừ nhinhiềều nguồồn khác nhau ngoài
hhệệ thốống
Chọọn lọọc dữữ liệệu (Extracting Transactional Data):
Trang 3736
• Đây là bướ c chi phốối hầầu hếết thờ i gian củủa quy trình, vì chúng ta cầần phảảii
llấấy dữữ liệệu từừ nhiềều nguồồnn đđã nhậận dạạng ra để đưa vào kho lưưu tr ữữ trungtâm
• Do các nguồồn n ddữữ liliệệu u xuxuấất phát từừ nhinhiềều u hhệệ ththốống khác nhau nên các hệệ
quảản n tr tr ịị CSDL củủa chúng cũũng khác nhau, chẳẳng ng hhạạn n nhnhưư MS Access,
MS SQL Server, Oracle, Sybase, hoặặc c ccũũng có thểể là flat files,spreadsheets, mail systems và nhiềều dạạng lưưu tr ữữ dữữ liệệu khác Vì thếế, ta
ccầần quyếếtt định sẽẽ sửử dụụng hệệ CSDL nào cho việệc tổổ chứức kho dữữ liệệu
Chuyểểnn đổi dữữ liệệu (Transforming Transactional Data):
• Là quá trình chuyểểnn đổi nhằằm đảm bảảo tính nhấất quảản củủa dữữ liệệu sau khi
đđãã đượ c chọọn lọọc từừ nhiềều nguồồn khác nhau.
•
Để có thểể chuyểểnn đổi dữữ liệệu vào Data Warehouse mộột cách chính xác, ta
ccầần n phphảải xác định ánh xạạ ccủủa các tr ườ ng (field) từừ ngunguồồn n ddữữ liliệệu bênngoài đến các tr ườ ng củủa data warehouse
• Sựự chuyểểnn đổi này có thểể đượ c c ththựực c hihiệện trong quá trình chọọn n llọọcc(extracting) hoặặc trong khi dữữ liệệuu đượ cc đưa vào data warehouse.
Tảải dữữ liệệu (Loading the Data):
• Khi quá trình chọọn n llọọc, chuyểểnn đổi và làm sạạch đđã hoàn tấất, t, ddữữ liliệệu u ssẽẽ
đượ c tảải vào data warehouse
• Việệc c ttảải i ddữữ liliệệu có thểể phân thành hai loạại: i: ttảải toàn bộộ ddữữ liliệệuu đđang cótrong CSDL nguồồn và tảải i nhnhữững ng ddữữ liliệệu có sựự thay đổi trong CSDLnguồồn vào data warehouse
• Dữữ liệệu trong data warehouse phảải luôn đượ c làm tươ i, có ngh ĩ a phảải cậậ p
nhậật nhữững thay đổi củủa dữữ liệệu
• Trong khi cậậ p p nhnhậật data warehouse cầần n phphảảii đảm m bbảảo không có dữữ liliệệuunào bịị mmấất,t, đồng thờ i chi phí cho quá trình duyệệt các file đđã tồồn n ttạại i phphảảii
đạt mứức thấấ p nhấất.t
Trang 38 Lậậ p lịịch: SQL Server Agent dùng để l lậậ p lịịch cho việệc tựự động chuyểểnn đổi từừ CSDL nguồồn vào data warehouse.
2.2.2 Quy trình t ạ o Cube:
Công cụụ và database mẫẫu sửử dụụng:
• Business Intelligence Studio (đđi kèm vớ i MS SQL Sever)
• Adventure Work Cycle Sample Database (có thểể download tạạiihttp://msftdbprodsamples.codeplex.com/ )
Để ttạạo o mmộột Cube, tr ướ c tiên ta cầần n phphảải có nhữững thành phầần sau:DataSource, DataSource View, Dimension,
2.2.2.1 T 2.2.2.1 Tạạo DataSource o DataSource
Các bướ c nhưư sau:
1. Trong khung Solution Explorer, phảải chuộột Data Sources và chọọn New DataSource
2. Tạại màn hình Welcome to Data Source Wizard, nhấấn Next để chuyểển sang
ccửửa sổổ Select how to define the connection
3. Tạại i ccửửa a ssổổ Select how to define the connection page, ta có thểể định ngh ĩ aa
mộột data source bằằng cách tạạo o mmớ i connection hoặặc trên mộột connection đđãã
có sẵẵn Trong bài hướ ng dẫẫn này, ta sẽẽ định ngh ĩ a mộột data source bằằng cách
ttạạo mớ i mộột connection, kiểểm tra checkbox Create a data source based on
an existing or new connection đượ c chọọn và nhấấn New
Trang 3938
4. Trong dialog box Connection Manager, ta sẽẽ định ngh ĩ a giá tr ịị thuộộc tính choData Source Trong danh sách Provider, chọọnn Native OLE DB\SQL ServerNative Client 10.0
5. Trong Server Name, gõ vào localhost
6. Kiểểm tra giá tr ịị Use Windows AuthenticationUse Windows Authentication đượ đượ c chọọn, trong danh sách
Select or enter a database name, ví dụụ ở đđây ta chọọn database AdventureWorks DW2008
7. Nhấấn Test Connection để kiếếm tra k ếết nốốii đến vớ i SQL Server
8. Chọọn OK và nhấấn Next
9. Tạại cửửa sổổ Impersonation Information, ta sẽẽ thiếết lậậ p Security p Security Credential choCredential choSSAS để k ếết nốối tớ i Data Sources, ta chọọnn Use the Service account, và nhấấnn Next
10.
Tạại màn hình Completing the wizard, thiếết t llậậ p p tên tên ccủủa Data Source là
Adventure Work DW và chọọn Finish
2.2.2.2 T 2.2.2.2 Tạạo DataSource View o DataSource View
Các bướ c nhưư sau:
1. Trong khung Solution Explorer, phảải chuộột Data Sources Views, và chọọnn New Data Source Views
2. Cửửa sốố Welcome to Data Source View Wizard xuấất hiệện, nhấấn Next
3. Dialog Select data source xuấất t hihiệện, n, ttạại i mmụục Relational Data Sources, chọọnnAdventure Work DW mà ta đđã tạạo nhưư trên r ồồi chọọn Next
4. Tạại Dialog Select Tables and Views, ta sẽẽ chọọn các bảảng dữữ liệệu và views từừ danh sách đối tượ ng, ta sẽẽ chọọn các đối tượ ng sau:
DimCustomer (dbo)
DimDate (dbo)
DimGeography (dbo)
DimProduct (dbo)
Trang 407. Tạại thuộộc tính Name, ta thiếết t llậậ p p làlà Adventure Wordk DW và nhấấn Finish
để hoàn tấất t viviệệcc đĩ nh ngh ĩ a a mmộột data source view Data Source ViewAdventure Work DW sẽẽ hihiểển n ththịị ttạại Data Source View Designer trongBusiness Intelligence Development Studio và gồồm các thành phầần sau:
o Diagram Pane thểể hiệện mốối quan hệệ giữữa các bảảng dữữ liệệu tr ựực quan
o Tables Pane: các bảảng dữữ liệệu và schema đượ c thểể hiệện theo tree view
o Diagram Organizer Pane hỗỗ tr tr ợ ttạạo các subdiagram mà thông qua đđóó
ta có thểể có dc các subsets củủa data source view
Sau khi hoàn tấất bướ c này, ta sẽẽ có khung nhìn toàn diệện vềề các bảảng dữữ liệệuu
và mốối quan hệệ củủa chúng
2.2.2.3 T 2.2.2.3 Tạạo Dimension o Dimension
Các bướ c nhưư sau:
1. Trong pane Solution Explorer, phảải chuộột Dimentsions, chọọn NewDimensions
2. Tạại cửửa sổổ Welcome to Dimension Wizard, chọọn Next
3. Tạại cửửa sốố Select Creation Method, đảm bảảo tùy chọọn Use an Existing Table
đượ c chọọn, chọọn Next
4. Tạại i ccửửa a ssổổ Specify Source Information, đảm m bbảảo data source AdventureWorks DW đượ c chọọn
5. Trong danh sách Main Table, chọọnn Date
6. Tạại trang Select Dimension Attributes, chọọn các Attributes sau:
Date Key