ÁP DỤNG KỸ THUẬT OLAP VÀ KHO DỮ LIỆU TRONG DỰ BÁO TÀI CHÍNH
Trang 12
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Ngọc Anh
ÁP DỤNG KỸ THUẬT OLAP VÀ KHO DỮ LIỆU
TRONG DỰ BÁO TÀI CHÍNH
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Các hệ thống thông tin
HÀ NỘI - 2010
Trang 23
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Vũ Ngọc Anh
ÁP DỤNG KỸ THUẬT OLAP VÀ KHO DỮ LIỆU
TRONG DỰ BÁO TÀI CHÍNH
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Các hệ thống thông tin
Cán bộ hướng dẫn: TS Nguyễn Hà Nam
Cán bộ đồng hướng dẫn: Ths Nguyễn Thu Trang
HÀ NỘI - 2010
Trang 34
Lời cảm ơn
Trước tiên tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc tới TS.Nguyễn Hà Nam và
Ths.Nguyễn Thu Trang đã tận tình chỉ bảo và hướng dẫn tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp
Tôi xin chân thành cảm ơn các thầy, các cô đã tạo cho tôi những điều kiện thuận lợi để học tập và nghiên cứu tại trường Đại Học Công Nghệ
Tôi xin cảm ơn các bạn trong nhóm làm “Data Warehouse và OLAP” đã cùng thảo luận
và trao đổi và giúp tôi rất nhiều trong quá trình thu thập tài liệu
Tôi xin gửi lời cảm ơn vô hạn tới gia đình, bạn bè, những người thân yêu đã luôn bên cạnh động viên tôi trong suốt quá trình thực hiện khóa luận
Tôi xin chân thành cảm ơn!
Sinh viên
Vũ Ngọc Anh
Trang 41
Mục lục
Mục lục 1
Danh sách các hình 3
Bảng từ viết tắt 5
Lời mở đầu 6
Chương 1 Giới thiệu kho dữ liệu và dữ liệu tài chính 7
1.1 Dữ liệu trong lĩnh vực tài chính 7
1.2 Kho dữ liệu (Data warehouse) 8
1.2.1 Kho dữ liệu 8
1.2.2 Mục đích của kho dữ liệu 9
1.2.3 Lợi ích của kho dữ liệu 9
1.2.4 Thành phần của kho dữ liệu 10
1.2.5 Cấu trúc của kho dữ liệu 11
1.2.6 Mô hình thực thể trong kho dữ liệu 12
1.2.7 Các lĩnh vực ứng dụng của kho dữ liệu 15
Chương 2 Kỹ thuật phân tích OLAP 16
2.1 Giới thiệu OLAP 16
2.2 Mô hình dữ liệu đa chiều 16
2.3 Kiến trúc khối (Cube) của OLAP 18
2.4 So sánh OLAP và OLTP 19
2.5 Các thành phần của OLAP 20
2.6 Chuyển đổi dữ liệu từ OLTP tới OLAP 21
2.7 Các mô hình lưu trữ hỗ trợ OLAP 22
2.7.1 Mô hình Multidimentional OLAP (MOLAP) 22
2.7.2 Mô hình Relational OLAP (ROLAP) 23
2.7.3 Mô hình Hybird OLAP (HOLAP) 24
2.7.4 So sánh các mô hình 25
Chương 3 Bộ công cụ Pentaho 26
3.1 Tổng quan 26
3.2 Các khả năng BI của pentaho 26
Trang 52
3.3 Những đặc tính và lợi ích 29
Chương 4 Giới thiệu bài toán triển khai trên Pentaho và kết quả đạt được 33
4.1 Giới thiệu bài toán 33
4.2 Thu thập,xử lý dữ liệu 33
4.3 Tạo data warehouse 36
4.4 Xử lý dữ liệu bằng kỹ thuật OLAP 42
4.4.1 Tạo cube 42
4.4.2 Analysis View 43
Kết luận 52
Tài liệu tham khảo 53
Trang 63
Danh sách các hình
Hình 1 Các thành phần của kho dữ liệu 11
Hình 2 Mô hình sao 13
Hình 3 Mô hình bông tuyết 14
Hình 4 Mô hình chòm sao 15
Hình 5 Mô phỏng các chiều trong kinh doanh 17
Hình 6 Mô hình dữ liệu MOLAP 22
Hình 7 Mô hình dữ liệu ROLAP 23
Hình 8 Mô hình dữ liệu HOLAP 24
Hình 9 Cấu trúc Pentaho 26
Hình 10 Dữ liệu tỷ giá 33
Hình 11 Dữ liệu giá vàng 34
Hình 12 Dữ liệu giá dầu 35
Hình 13 Dữ liệu chỉ số VnIndex 35
Hình 14 Dữ liệu tổng hợp 36
Hình 15 Mô hình kho dữ liệu 37
Hình 16 Spoon workspace 37
Hình 17 Spoon nhập dữ liệu 38
Hình 18 Combination Lookup/Update 38
Hình 19 Thay đổi thuộc tính 39
Hình 20 Kết nối cơ sở dữ liệu 39
Hình 21 Tạo bảng Dim_time 40
Hình 22 Tạo bảng dim_factor 40
Hình 23 Tạo Table Output 41
Trang 74
Hình 24 Tạo bảng fact_price 41
Hình 25 Nhập dữ liệu 42
Hình 26 Kết nối cơ sở dữ liệu 42
Hình 27 Kiến trúc Cube 43
Hình 28 Repository Login 43
Hình 29 Kết nối cơ sở dữ liệu 44
Hình 30 Khung làm việc Pentaho 45
Hình 31 Chọn schema và cube 45
Hình 32 Dữ liệu schema và cube 45
Hình 33 Nội dung phân tích 46
Hình 34 Chọn Measures 46
Hình 35 Chọn factor 46
Hình 36 Chọn năm phân tích 47
Hình 37 Chọn chi tiết ngày tháng 47
Hình 38 Chọn loại biểu đồ 48
Hình 39 Biểu đồ tỷ giá USD/VND 48
Hình 40 Biểu đồ giá vàng 49
Hình 41 Biểu đồ giá dầu 49
Hình 42 Biểu đồ chỉ số VnIndex 50
Hình 43 Biểu đồ giá vàng và giá dầu 50
Hình 44 Biểu đồ tỷ giá và giá vàng 51
Hình 45 Biểu đồ giá vàng và VNIndex 51
Trang 85
Bảng từ viết tắt
Trang 96
Lời mở đầu
Cùng với việc áp dụng rộng rãi công nghệ thông tin vào trong hầu hết các lĩnh vực trong đời sống, kinh tế, xã hội đó là việc dữ liệu thu nhận được qua thời gian ngày càng nhiều.Vì vậy, yêu cầu thiết yếu đặt ra đối với các doanh nghiệp đó là việc khai thác các dữ liệu này một các hiệu quả để phục vụ cho việc kinh doanh ngày càng tốt hơn
Khóa luận này với đề tài “Áp dụng kỹ thuật OLAP và kho dữ liệu trong báo cáo tài chính” giới thiệu về kho dữ liệu, phương pháp OLAP và ứng dụng trong phân tích biên
động giá dầu, giá vàng và chỉ số VNIndex bằng công cụ Pentaho
Khóa luận gồm bốn chương:
Chương 1 Giới thiệu kho dữ liệu và dữ liệu tài chính giới thiệu về đặc điểm của dữ
liệu tài chính, giới thiệu tổng quan về kho dữ liệu, cấu trúc kho dữ liệu, các thành
phần của kho dữ liêu, cách thiết kế kho dữ liệu và ứng dụng của kho dữ liệu
Chương 2 Giới thiệu tổng quan về OLAP giới thiệu tổng quan về kỹ thuật OLAP, các
mô hình lưu trữ hỗ trợ kỹ thuật OLAP, ưu điểm và nhược điểm của các mô hình Các bước để chuyển dữ liệu từ OLTP sang OLAP
Chương 3 Giới thiệu bộ công cụ Pentaho giới thiệu tổng quan bộ công cụ Pentaho,
kiến trúc, công nghệ, và các tiện ích của Pentaho
Chương 4 Giới thiệu bài toán triển khai trên Pentaho và kết quả đạt được triển khai
Pentaho trên một bài toán thực, áp dụng kỹ thuật kho dữ liệu và kỹ thuật OLAP để thực hiện
Phần kết luận tổng kết và tóm lược những kết quả, đóng góp chính của khóa luận
Trang 107
Chương 1 Giới thiệu kho dữ liệu và dữ liệu tài chính
Với đặc điểm tính toán chính xác, nhanh chóng, khách quan nên công nghệ thông tin được áp dụng khá rộng rãi trong lĩnh vực tài chính từ rất sớm
Dữ liệu trong lĩnh vực tài chính có đặc điểm sau:
- Luôn luôn biến đổi
Các ứng dụng xử lý giao dịch trực tuyến – OLTP (OnLine Transaction Processing)
là những ứng dụng giúp người dùng truy cập trực tiếp thông tin theo hình thức ứng
dụng Client/Server OLTP bao gồm một dãy lệnh: thu nhận (gathering) dữ liệu đầu vào, xử lý (processing) dữ liệu, và cập nhật (updating) dữ liệu cũ với dữ liệu mới được
nhập và xử lý
OLTP là phương thức hiệu quả khi người dùng muốn:
- Xử lý các dữ liệu đơn với số lượng và tần số không thể ước lượng
- Truy cập tức thì vào dữ liệu đã được cập nhật, phản ánh các giao dịch trước đó
- Thay đổi dữ liệu tức thì để phản ánh giao dịch vừa xử lý
Các chức năng cơ bản của OLTP[4]: cùng với khả năng truy cập và cập nhật các dữ
liệu chia sẻ, các hệ thống OLTP còn hỗ trợ các user khả năng truy cập trực tuyến
(online), khả năng truy cập tức thời (availability), khả năng phản hồi nhanh chóng (response), và tiết kiệm chi phí đối với từng transaction (low cost)
Để trả lời các câu hỏi đơn giản trong quá trình kinh doanh như doanh thu của tháng
Trang 118
này bao nhiêu? Tháng này bán được bao nhiêu sản phẩm… những sản phẩm về số liệu chi tiết được hệ thống OLTP trả lời 1 cách nhanh chóng.Nhưng đối với các nhà quả lý cấp cáo trong doanh nghiệp, họ không yêu cầu những dữ liệu quá chi tiết như vậy Họ yêu cầu muốn biết những thông tin mang tính hoạch định và lãnh đạo ví dụ như: mặt hàng này đang bán chạy ở khu vực này liệu có bán chạy ở khu vực khác không? Nếu trả lời các câu hỏi này ở hệ thống OLTP thì sẽ rất khó và hiệu quả thấp vì dữ liệu của OLTP quá chi tiết, lưu trữ phân tán…Để giải quyết vấn đề này, hệ thống data
warehouse (kho dữ liệu) ra đời cùng với các kỹ thuật OLAP, Data mining (khai phá dữ liệu) để có thể giúp được người quản trị cấp cao trả lời các câu hỏi mà họ yêu cầu
1.2.1 Kho dữ liệu
Data warehouse - kho dữ liệu là 1 tập hợp thông tin cơ bản trên máy vi tính mà chúng có tính quyết định đến việc thực hiện thành công bước đầu trong công việc kinh doanh[1]
Một kho dữ liệu, gọi mộ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ới 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ổ 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à điều kiện thuận tiện nhất để đạt được việc lấy thông tin nhanh, chính xác Một kho dữ liệu được thiết kế để người sử dụng có thể nhận ra thông tin mà họ muốn có và truy cập đến bằng những công cụ đơn giản[9]
Một kho dữ liệu là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đ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 và nhiều nữa Dữ liệu trong kho dữ liệu không giống dữ liệu của hệ điều hành là loại chỉ có thể đọc nhưng không chỉnh sửa được Hệ điều hành tạo ra, chỉnh sửa và xóa những dữ liệu sản xuất mà những dữ liệu này cung cấp cho kho dữ liệu Nguyên nhân chính cho sự phát triển một kho dữ liệu là hoạt động tích hợp dữ liệu từ nhiền nguồn khác nhau vào một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân tích và ra quyết định trong công việc kinh doanh
Đối với một số công việc kinh doanh thông tin là nguồn tài nguyên có giá trị rất lớn thì một kho dữ liệu tương đối giống như một nhà kho chứa hàng Hệ điều hành tạo
Trang 12Mục tiêu chính của kho dữ liệu là đạt những mục tiêu sau:
- Phải có khả năng đáp ứng mọi thông tin yêu cầu của người dùng
- Hỗ trợ nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của họ
- Giúp các tổ chức xác định, quản lý, điều hành các dự án, nghiệp vụ một cách hiệu quả và chính xác
- Tíc hợp dữ liệu và siêu dữ liệu từ nhiều nguồn khác nhau
Muốn đạt được các mục tiêu trên thì kho dữ liệu phải:
- Nâng cao chất lượng dữ liệu bằng cách làm sạch và hướng chủ đề nhất định
- Tổng hợp và kết nối dữ liệu
- Phân định và đồng nhất các hệ cơ sở dữ liệu tác nghiệp
- Quản lý siêu dữ liệu
- Cung cấp thông tin được tích hợp, tóm tắt hoặc được liên kết, tổ chức theo các chủ
đề
- Dùng trong các hệ thống hỗ trợ ra quyết định
1.2.3 Lợi ích của kho dữ liệu
Tạo ra những quyết định có ảnh hưởng lớn Một kho dữ liệu cho phép trích rút tài nguyên nhân lực và máy tính theo yêu cầu để cung cấp các câu truy vấn và các báo cáo dựa vào cơ sở dữ liệu hoạt động và sản xuất Điều này tạo ra sự tiết kiệm đáng kể
Trang 13Dịch vụ khách hàng được nâng cao Một doanh nghiệp có thể giữ gìn mối quan
hệ với khách hàng tốt hơn do có mối tương quan với dữ liệu của tất cả khách hàng qua một kho dữ liệu riêng
Tái sáng tạo những tiến trình kinh doanh Sự cho phép phân tích không ngừng thông tin kinh doanh thường cung cấp sự hiểu biết mọi mặt của phương thức kinh doanh do đó có thể làm nảy sinh ra những ý kiến cho sự sáng tạo ra những tiến trình này lại Chỉ khi xác định chính xác các nhu cầu từ kho dữ liệu thì mới giúp ta đánh giá được những hạn chế và mục tiêu kinh doanh một cách chính xác hơn
Tái sáng tạo hệ thống thông tin Một kho dữ liệu là nền tảng cho các yêu cầu dữ liệu trong mọi lĩnh vực kinh doanh, nó cung cấp một chi phí ảnh hưởng nghĩa là đưa ra thói quen cho cho cả hai sự chuẩn hóa dữ liệu và sự chuẩn hóa hoạt động của hệ điều hành theo chuẩn quốc tế
Chi tiết hiện hành
Trung tâm của kho dữ liệu là chi tiết hiện hành của nó Đó là nơi mà phần lớn
dữ liệu được lưu trữ Chi tiết hiện hành đến trực tiếp từ hệ điều hành và có thể được lưu trữ như là dữ liệu thô hoặc như sự tập hợp của dữ liệu thô
Trang 1411
Chi tiết hiện hành là phần lõi dữ liệu mức thấp nhất trong kho dữ liệu Mọi thực thể dữ liệu trong chi tiết hiện hành là một bức ảnh chụp nhanh, tại một thời điểm, là sự minh họa khi dữ liệu chính xác Chi tiết hiện hành là đặc trưng từ hai đến năm năm Sự chính xác của chi tiết hiện hành xảy ra thường xuyên như là điều kiện cần thiết để
cung cấp những yêu cầu trong kinh doanh
Hệ thống bản ghi
Một hệ thống bản ghi là nguồn dữ liệu tốt nhất hoặc phải nhất (rightest data)
dùng để nuôi dưỡng kho dữ liệu Dữ liệu phải nhất là dữ liệu hợp thời nhất, đầy đủ
nhất, chính xác nhất, và có sự thích nghi về cấu trúc nhất trong kho dữ liệu Dữ liệu
phải nhất thường đóng nhất đối với nguồn ghi nhận trong môi trường sản xuất Trong
những trường hợp khác, một hệ thống bản ghi có thể là một nơi dùng để chứa dữ liệu
tổng hợp
Một kho dữ liệu có thể có một vài phần của cấu trúc sau:
Relational Data Store
Data Marts and Cubes
Clients Source
Hình 1 Các thành phần của kho dữ liệu
Trang 1512
Kho dữ liệu mức vật lý
Cơ sở dữ liệu mức vật lý trong tất cả dữ liệu của kho dữ liệu được lưu trữ , theo cùng với metada và tiến trình xử lý logic cho việc lọc, tổ chức và đóng gói dữ liệu, xử
lý dữ liệu chi tiết
Kho dữ liệu mức logic
Cũng chứa đựng metadata bao gồm những luật kinh doanh và xử lý logic cho việc lọc, tổ chức, đóng gói và xử lý dữ liệu, nhưng không chứa đựng dữ liệu thật sự Thay vào đó nó chứa đựng những thông tin cần thiết để truy cập dữ liệu bất cứ nơi đâu
Kho dữ liệu thông minh hay dữ liệu theo chủ đề (Data mart)
Là tập con của một kho dữ liệu diện rộng Điển hình là nó cung cấp những thành phần lớn (phân khu, vùng, chức năng,…) Nói tóm lại, Data mart như là những phần chuyên biệt hóa của kho dữ liệu
Mô hình thực thể mối quan hệ được sử dụng phổ biến trong mô hình cơ sở dữ liệu OLTP Tuy nhiên, mô hình cơ sở dữ liệu ER này không thích hợp cho việc thiết
kế kho dữ liệu vì phải truy vấn tới quá nhiều bảng khác nhau Hầu hết các kho dữ liệu
sử dụng mô hình sao (star schema) Mô hình này chỉ gồm duy nhất một bảng sự kiện
và một bảng chiều (dimention) cho mỗi chiều Trong bảng sự kiện sẽ có các trường khóa ngoài liên kết với khóa chính của các bảng chiều Ví dụ về mô hình sao:
Trang 1613
Mô hình sao không hỗ trợ tốt cho các bảng chứa các thuộc tính phân cấp Mô
hình bông tuyết (SnowFlake Schema) đưa ra giải pháp cho mô hình sao khi bảng có
CityName State Country
ProdNo ProdName ProdDescr Category CategoryDescr UnitPrice QOH
Trang 1714
Điều này giúp cho vệc bảo trì các bảng chiều tốt hơn Tuy nhiên cấu trúc mặc định
trong sơ đồ sao của các bảng chiều có thể thích hợp hơn khi duyệt các chiều
Sơ đồ chòm sao (fact constellation) là một ví dụ cho cấu trúc phức tạp khi có
nhiều hơn 1 bảng sự kiện Mỗi sơ đồ sao có thể xây dựng thành sơ đồ chòm sao (ví dụ
bằng cách chia tách các lược đồ sao gốc thành các lược đồ sao mà mỗi chúng được mô
tả trên các cấp khác nhau của các chiều phân cấp) Các kiến trúc sơ đồ chòm sao bao
gồm nhiều bảng sự kiện và được chia sẻ cho nhiều bảng chiều
OrderNo
OrderDate
Month Year
OrderNo SalespersonID CustomerNo DateKey CityName ProdNo Quantity TotalPrice
DateKey Date Month SalespersonID
SalespersonName
City
Quota
ProdNo ProdName ProdDescr Category UnitPrice QOH CustomerNo
CustomerName
CustomerAddress
City
CategoryName CategoryDescr
CityName State
Trang 1815
Hình 4 Mô hình chòm sao
Các lĩnh vực hiện tại có ứng dụng data warehouse bao gồm:
- Thương mại điện tử
- Kế hoạch hóa nguồn lực doanh nghiệp
- Quản lý quan hệ khách hàng
- Chăm sóc sức khỏe
- Viễn thông
Trang 1916
Chương 2 Kỹ thuật phân tích OLAP
OLAP là một kỹ thuật sử dụng các thể hiện dữ liệu đa chiều gọi là các khối
(cube) nhằm cung cấp khả năng truy xuất nhanh đến dữ liệu của kho dữ liệu Tạo khối (cube) cho dữ liệu trong các bảng chiều (dimension table) và bảng sự kiện (fact table) trong kho dữ liệu và cung cấp khả năng thực hiện các truy vấn tinh vi và phân tích cho các ứng dụng client – theo Hari Mailvaganam [5]
Trong khi kho dữ liệu và data mart lưu trữ dữ liệu cho phân tích, thì OLAP là kỹ thuật cho phép các ứng dụng client truy xuất hiệu quả dữ liệu này 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 dữ liệu đa chiều trực quan cho phép dễ dàng lựa chọn, định hướng và khám phá dữ liệu
- Cung cấp một ngôn ngữ truy vấn phân tích, cung cấp sức mạnh để khám phá các mối quan hệ trong dữ liệu kinh doanh phức tạp
- Dữ liệu được tính toán trước đối với các truy vấn thường xuyên nhằm làm cho thời gian trả lời rất nhanh đối với các truy vấn đặc biệt
- 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ủa dữ liệu dựa trên một tập các hàm tính toán đặc biệt
OLAP được đặt ra để xử lý các truy vấn liên quan đến lượng dữ liệu rất lớn mà nế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
Các nhà quản lý kinh doanh có khuynh hướng suy nghĩ theo “nhiều chiều” (multidimensionally) Ví dụ như họ có khuynh hướng mô tả những gì mà công ty làm như sau:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”
Những người thiết kế kho dữ liệu thường lắng nghe cẩn thận những từ đó và họ thêm vào những nhấn mạnh đặc biệt của họ như:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”
Trang 2017
Suy nghĩ một cách trực giác, việc kinh doanh như một khối (cube) dữ liệu, với các
nhãn trên mỗi cạnh của khối (xem hình bên dưới) Các điểm bên trong khối là các giao
điểm của các cạnh Với mơ tả kinh doanh ở trên, các cạnh của khối là Sản phẩm, Thị trường, và Thời gian Hầu hết mọi người đều cĩ thể nhanh chĩng hiểu và tưởng tượng
rằng các điểm bên trong khối là các độ đo hiệu quả kinh doanh mà được kết hợp giữa
các giá trị Sản phẩm, Thị trường và Thời gian [5]
Thị trường
Thời gian
Sản phẩm
Hình 5 Mơ phỏng các chiều trong kinh doanh
Một khối dữ liệu (datacube) thì khơng nhất thiết phải cĩ cấu trúc 3 chiều (3-D),
nhưng về cơ bản là cĩ thể cĩ N chiều (N-D) Những cạnh của khối được gọi là các
chiều (dimensions), mà đĩ là các mặt hoặc các thực thể ứng với những khía cạnh mà
tổ chức muốn ghi nhận Mỗi chiều cĩ thể kết hợp với một bảng chiều (dimension
table) nhằm mơ tả cho chiều đĩ Ví dụ, một bảng chiều của Sản phẩm cĩ thể chứa
những thuộc tính như Ma_sanpham, Mo_ta, Ten_sanpham, Loai_SP,… mà cĩ thể được chỉ ra bởi nhà quản trị hoặc các nhà phân tích dữ liệu Với những chiều khơng
được phân loại, như là Thời gian, hệ thống kho dữ liệu sẽ cĩ thể tự động phát sinh
tương ứng với bảng chiều (dimension table) dựa trên loại dữ liệu Cần nĩi thêm rằng,
chiều Thời gian trên thực tế cĩ ý nghĩa đặc biệt đối với việc hỗ trợ quyết định cho các
khuynh hướng phân tích Thường thì nĩ được mong muốn cĩ một vài tri thức gắn liền với lịch và những mặt khác của chiều thời gian
Hơn nữa, một khối dữ liệu trong kho dữ liệu phần lớn được xây dựng để đo hiệu quả của cơng ty Do đĩ một mơ hình dữ liệu đa chiều đặc thù được tổ chức xung quanh
một chủ đề mà được thể hiện bởi một bảng sự kiện (fact table) của nhiều độ đo số học
(là các đối tượng của phân tích) Ví dụ, một bảng sự kiện cĩ thể chứa số mặt hàng bán, thu nhập, tồn kho, ngân sách,… Mỗi độ đo số học phụ thuộc vào một tập các chiều
cung cấp ngữ cảnh cho độ đo đĩ Vì thế, các chiều kết hợp với nhau được xem như xác
định duy nhất độ đo, là một giá trị trong khơng gian đa chiều Ví dụ như một kết hợp
Trang 21chiều có thể được tổ chức vào một lưới mà chỉ ra một phần trật tự của chiều Vì thế,
cũng với chiều Thời gian có thể được tổ chức thành Năm, Quý, Tháng, Tuần và Ngày Với sự sắp xếp này, chiều Thời gian không còn phân cấp vì có những tuần trong năm
có thể thuộc về nhiều tháng khác nhau
Vì vậy, nếu mỗi chiều chứa nhiều mức trừu tượng, dữ liệu có thể được xem từ nhiều khung nhìn linh động khác nhau Một số thao tác điển hình của khối dữ liệu như
roll-up (tăng mức độ trừu tượng), drill-down (giảm mức độ trừu tượng hoặc tăng mức
chi tiết), slice and dice (chọn và chiếu), và pivot (định hướng lại khung nhìn đa chiều
của dữ liệu), cho phép tương tác truy vấn và phân tích dữ liệu rất tiện lợi Những thao
tác đó được biết như Xử lý phân tích trực tuyến (OnLine Analytical Processing –
OLAP)
Những nhà ra quyết định thường có những câu hỏi có dạng như “tính toán và xếp
hạng tổng số lượng hàng hoá bán được theo mỗi quốc gia (hoặc theo mỗi năm)” Họ cũng muốn so sánh hai độ đo số học như số lượng hàng bán và ngân sách được tổng
hợp bởi cùng các chiều Như vậy, một đặc tính để phân biệt của mô hình dữ liệu đa chiều là nó nhấn mạnh sự tổng hợp của các độ đo bởi một hoặc nhiều chiều, mà đó là một trong những thao tác chính yếu để tăng tốc độ xử lý truy vấn
Đối tượng chính của OLAP là khối (cube), một thể hiện đa chiều của dữ liệu chi
tiết và tổng hợp Một khối bao gồm một nguồn dữ liệu (Data source), các chiều (Dimensions), các độ đo (Measures) và các phần dành riêng (Partitions) Các khối được thiết kế dựa trên yêu cầu phân tích của người dùng Một kho dữ liệu có thể hỗ trợ nhiều khối khác nhau như khối Bán hàng, khối Bảng kiểm kê…
Dữ liệu nguồn của một khối chỉ ra nơi chứa kho dữ liệu cung cấp dữ liệu cho khối Các chiều (dimension) được ánh xạ từ các thông tin của các bảng chiều (dimension
table) trong kho dữ liệu vào các mức phân cấp, ví dụ như chiều Địa lý thì gồm các mức như Lục địa, Quốc gia, Tỉnh-Thành phố Các chiều có thể được tạo một cách độc lập và có thể chia sẻ giữa các khối nhằm xây dựng các khối dễ dàng và để chắc chắn rằng thông tin tổng hợp cho phân tích luôn ổn định Ví dụ, nếu một chiều chia sẻ một
Trang 2219
phân cấp sản phẩm và được sử dụng trong tất cả các khối thì cấu tạo của thông tin tổng hợp về sản phẩm sẽ ổn định giữa các khối sử dụng chiều đó
Một chiều ảo (virtual dimension) là một dạng đặc biệt của chiều mà ánh xạ các
thuộc tính từ các thành viên (member) của một chiều khác để sau đó có thể được sử dụng trong các khối Ví dụ, một chiều ảo của thuộc tính kích thước sản phẩm cho phép một khối (cube) tổng hợp dữ liệu như số lượng sản phẩm bán được theo kích thước, hoặc như số lượng áo bán được theo kiểu và theo kích thước Các chiều ảo (virtual dimension) và các thuộc tính thành viên được đánh giá là cần thiết cho các truy vấn và chúng không đòi hỏi phải có các khối lưu trữ vật lý
Các độ đo (measure) xác định các giá trị số từ bảng sự kiện (fact table) mà được
tổng hợp cho phân tích như giá bán, chi phí hoặc số lượng bán
Các phần dành riêng (partition) là các vật chứa lưu trữ đa chiều, giữ dữ liệu của
khối Mỗi khối chứa ít nhất một partition, và dữ liệu của khối có thể kết hợp từ nhiều partition Mỗi partition có thể lấy dữ liệu một nguồn dữ liệu khác nhau và có thể lưu trong một vị trí riêng biệt (separate) Dữ liệu của một partition có thể được cập nhật độc lập với các partition khác trong một khối Ví dụ, dữ liệu của một khối có thể được chia theo thời gian, với một partition chứa dữ liệu của năm hiện hành, một partition khác chứa dữ liệu của năm trước, và một partition thứ ba chứa tất cả dữ liệu của các năm trước nữa
Các partition của một khối có thể được lưu trữ độc lập trong các cách thức khác nhau với các mức độ tổng kết khác nhau Các partition không thể hiện đối với người dùng, đối với họ một khối (cube) là một đối tượng đơn, và chúng cung cấp các tuỳ chọn đa dạng để quản lý dữ liệu OLAP
Một khối ảo (virtual cube) là một khung nhìn luận lý (logic) của các phần chia của
một hoặc nhiều khối Một khối ảo có thể được sử dụng để nối (join) các khối khác nhau để chia sẻ một chiều chung nào đó, ví dụ như có thể kết giữa khối Bán hàng và khối Kho nhằm các mục đích phân tích đặc biệt nào đó trong khi duy trì các khối tách biệt cho đơn giản Các chiều (dimension) và các độ đo (measure) có thể được chọn từ các khối được kết để thể hiện trong khối ảo
Đặc trưng của các ứng dụng OLTP (On-Line Transaction Processing) là các tác vụ
xử lý tự động ghi chép dữ liệu xử lý tác vụ của một tổ chức như ghi nhận đơn đặt hàng
và các giao dịch ngân hàng (chúng là những công việc hàng ngày của tổ chức thương mại) mà cần phải đọc hoặc cập nhật một vài mẩu tin dựa trên khoá chính của chúng[5]
Trang 2320
Những tác vụ đó có cấu trúc, được lặp lại, bao gồm các giao dịch ngắn, tối giản và tách biệt, yêu cầu dữ liệu chi tiết và mới cập nhật Các cơ sở dữ liệu tác nghiệp có xu hướng từ vài trăm megabyte đến hàng gigabyte kích thước và chỉ lưu trữ các dữ liệu hiện hành Tính nhất quán và khả năng phục hồi của cơ sở dữ liệu là then chốt, và tối
đa thông lượng giao dịch là thước đo chính yếu Vì thế cơ sở dữ liệu được thiết kế để tối thiểu các xung đột trùng lặp
Còn kho dữ liệu, mục tiêu là hỗ trợ quyết định cho các nhà quản lý Tính chi tiết và riêng lẻ của các mẩu tin thì ít quan trọng hơn tính lịch sử, tổng kết và hợp nhất của dữ liệu Do đó, kho dữ liệu thường chứa dữ liệu hợp nhất từ một hoặc nhiều cơ sở dữ liệu tác nghiệp và được thu thập qua một thời gian dài Kết quả là kích thước kho dữ liệu
có khuynh hướng từ vài trăm gigabyte đến hàng terabyte so với các cơ sở dữ liệu tác nghiệp Kho dữ liệu hỗ trợ các truy vấn phức tạp với thời gian hồi đáp nhanh, các truy vấn phức tạp có thể truy xuất hàng triệu mẩu tin và thực hiện nhiều lần các thao tác quét, kết và tổng hợp Đối với kho dữ liệu, số lượng truy vấn đưa vào và thời gian hồi đáp quan trọng hơn số lượng giao dịch đưa vào Mà OLAP là một trong những công
cụ cho phép thực hiện hiệu quả các truy vấn này
Căn cứ vào đó, các cơ sở dữ liệu tác nghiệp được xây dựng để hỗ trợ tốt các tác vụ OLTP, vì thế nếu cố gắng thực thi các truy vấn OLAP phức tạp đối với các cơ sở dữ liệu tác nghiệp sẽ cho kết quả là hiệu quả thực hiện không thể chấp nhận được
Những thành phần mà OLAP sử dụng để thực hiện các dịch vụ bao gồm:
- Nguồn dữ liệu: Các cơ sở dữ liệu OLTP và các nguồn dữ liệu hợp lệ khác chứa các dữ liệu có thể chuyển đổi thành dữ liệu OLAP trong kho lưu trữ
- Kho trung gian: là nơi lưu trữ và xử lý dữ liệu được tập hợp, sau đó được sắp xếp, sàng lọc, chuyển đổi thành dữ liệu OLAP hữu ích
- Máy chủ lưu trữ: Các máy tính chạy cơ sở dữ liệu liên kết chứa các kho dữ liệu cho kho lưu trữ, và các máy chủ quản lý dữ liệu OLAP (warehouse server)
OLAP và cung cấp các báo cáo và thông tin cho người ra quyết định của doanh nghiệp (Business Intelligence)
- Siêu dữ liệu: Các đối tượng như các bảng biểu trong cơ sở dữ liệu OLTP, các khối trong kho lưu trữ dữ liệu, và các bản ghi mà ứng dụng tham chiếu tới các đoạn
dữ liệu khác nhau
Trang 2421
Để chuyển đổi dữ liệu OLTP sang dữ liệu OLAP trong kho dữ liệu được thực hiện thông qua các qui trình sau:
-Hợp nhất dữ liệu: tất cả các dữ liệu liên quan tới các mục đặc trưng (sản phẩm,
khách hàng, hay nhân viên) phải có khả năng hợp nhất từ nhiều hệ thống OLTP tới một hệ thống OLAP đơn Quy trình hợp nhất phải giải quyết được sự khác nhau về
mã hoá giữa các hệ thống OLAP, phù hợp với các dữ liệu chung được sử dụng ở cả hai hệ thống có thể bằng cách so sánh các trường tương tự, có thể biến đổi dữ liệu lưu trữ từ nhiều loại dữ liệu khác nhau trong mỗi hệ thống OLTP thành một loại dữ liệu duy nhất được sử dụng trong hệ thống OLAP.Các hệ thống cung cấp các dữ liệu đầu vào cho một hệ thống OLAP không nhất thiết phải là các hệ thống OLTP truyền thống mà có thể được lưu trữ ở nhiều dạng hợp lệ, chẳng hạn như các bản ghi Microsoft Excel trong một tệp được chia sẻ
-Quét dữ liệu: Việc hợp nhất dữ liệu OLTP vào một kho dữ liệu (data
warehouse) tạo điều kiện quét dữ liệu Một số hệ thống OLTP đánh vần các đề mục khác nhau, hoặc quá trình hợp nhất có thể gây ra các lỗi chính tả Sự không thống nhất này phải được chỉnh sửa trước khi dữ liệu có thể được nhập vào kho lưu trữ phục vụ cho hệ thống OLAP
-Tập hợp dữ liệu: Dữ liệu OLTP ghi nhận tất cả các chi tiết của transaction
OLAP chỉ truy vấn những dữ liệu tổng kết cần thiết, hoặc các dữ liệu được tập hợp bằng một số quy tắc nhất định Ví dụ, một truy vấn lấy tổng doanh thu hàng tháng cho mỗi sản phẩm trong năm trước sẽ chạy nhanh hơn nếu cơ sở dữ liệu chỉ có các dòng tổng kết doanh thu hàng ngày (hoặc từng giờ) của mỗi sản phẩm, so với truy vấn phải quét tất cả các bản ghi chi tiết trong vòng 1 năm Mức độ tập hợp dữ liệu trong kho lưu trữ phụ thuộc vào số lượng các yếu tố thiết kế (giống như lập trình hướng đối tượng)
-Sắp xếp dữ liệu: Khi dữ liệu OLTP được chuyển vào kho lưu trữ, chúng sẽ
phải được biến đổi theo cách sắp xếp hợp lý hơn đối với nhu cầu phân tích nhằm đưa ra quyết định và hạn chế tiêu phí thời gian Quá trình thiết lập kho lưu trữ bao gồm cả việc sắp xếp lại dữ liệu OLTP, lưu trong các bảng biểu liên kết, thành dữ liệu OLAP được lưu trong các khối đa chiều Dữ liệu sau đó được tải vào kho lưu trữ
-Truy cập và phân tích dữ liệu: Khi dữ liệu đã được tải vào kho lưu trữ, OLAP
cung cấp khả năng truy cập, xem, và phân tích dữ liệu với độ linh hoạt và hiệu quả
Trang 2522
cao OLAP trình bày dữ liệu thông qua mô hình dữ liệu tự nhiên và trực quan, giúp
cho người sử dụng xem và hiểu một cách tốt nhất những thông tin trong kho lưu
trữ Từ đó cho phép người sử dụng nhận biết được giá trị của dữ liệu
Dịch vụ OLAP hỗ trợ nhiều mô hình lưu trữ dữ liệu khác nhau, mỗi mô hình có các
ưu và khuyết điểm riêng, chúng được sử dụng tuỳ theo mục đích khai thác
Mô hình OLAP đa chiều (MOLAP) lưu trữ dữ liệu cơ sở (là dữ liệu từ các bảng
của kho dữ liệu hoặc data mart) và thông tin tổng hợp (là các độ đo được tính toán từ
các bảng) trong các cấu trúc đa chiều gọi là các khối (cube) Các cấu trúc này được lưu
bên ngoài cơ sở dữ liệu data mart hoặc kho dữ liệu
Lưu trữ các khối (cube) trong cấu trúc MOLAP là tốt nhất cho các truy vấn tổng hợp
dữ liệu thường xuyên mà cần thời gian hồi đáp nhanh Ví dụ, tổng sản phẩm bán được
của tất cả các vùng theo quý
Ưu điểm của mô hình MOLAP:
- Thực thi nhanh: khối trong MOLAP thu hồi dữ liệu nhanh và tối ưu hóa
hoạt động[15]
- Có thể thực hiện các phép toán phức tạp: mọi tính toán được tạo ra trước
khi khối tạo ra [15]
Mysql
MOLAP data Oracle
Trang 2623
Nhược điểm của mô hình MOLAP:
- Giới hạn lượng dữ liệu có thể xử lý: Bởi vì tất cả các tính toán được sinh
ra khi xây dựng khối, do đó nó không thể bao gồm lượng dữ liệu lớn trong khối của chính nó Điều này không có nghĩa là dữ liệu từ khối không thể được xây dựng từ một lượng dữ liệu lớn Điều này có thể, nhưng nó chỉ tóm tắt thông tin chứa trong chính nó [15]
- Yêu cầu đầu tư thêm: Công nghệ tạo khối thường được độc quyền và không tồn tại trong tổ chức nào Vì vậy, để sử dụng công nghệ MOLAP cần phải đầu tư bổ sung thêm vốn và nhân lực [15]
Mô hình OLAP quan hệ (ROLAP) lưu trữ dữ liệu cơ sở và thông tin tổng hợp trong các bảng quan hệ Các bảng này được lưu trữ trong cùng cơ sở dữ liệu như là các bảng của data mart hoặc kho dữ liệu
Hình 7 Mô hình dữ liệu ROLAP
Lưu trữ các khối trong cấu trúc ROLAP là tốt nhất cho các truy vấn dữ liệu không thường xuyên Ví dụ như nếu 80% người dùng truy vấn chỉ dữ liệu trong vòng
một năm trở lại đây, các dữ liệu cũ hơn một năm sẽ được đưa vào một cấu trúc ROLAP để giảm không gian đĩa bị chiếm dụng, hơn nữa còn để loại trừ dữ liệu trùng lặp
Ưu điểm của mô hình ROLAP:
- Có thể xử lý lượng dữ liệu lớn: Kích thước giới hạn của ROLAP phụ thuộc vào kích thước của cơ sở dữ liệu ngồn Nói cách khác, bản thân công nghệ ROLAP không có giới hạn về kích thước dữ liệu [15]
Trang 2724
- Có thể vận dụng chức năng vốn có của cơ sở dữ liệu quan hệ: Cơ sở dữ liệu quan hệ thường đi kèm với rất nhiều chức năng Công nghệ ROLAP có thể tận dụng các chức năng này, tiết kiệm chi phí [15]
Nhược điểm của ROLAP:
- Hiệu suất xử lý thấp: Mỗi báo cáo ROLAP thường được tập hợp dữ liệu từ nhiều bảng khác nhau, điều này sẽ làm cho hiệu quả của ROLAP thấp khi dữ liệu lớn, phân tán [15]
việc tạo ra các câu lệnh SQL để truy vấn cơ sở dữ liệu Mà báo cáo dựa trên truy vấn SQL trong một số trường hợp không đạt được hiệu quả mong muốn Các nhà phát triển đã khắc phục điều này bằng các tạo ra các công cụ hỗ trợ ngoài giúp người dùng tạo ra các chức năng của riêng họ [15]
Mô hình OLAP lai (HOLAP) là sự kết hợp giữa MOLAP và ROLAP
Hình 8 Mô hình dữ liệu HOLAP Lưu trữ các khối (cube) trong cấu trúc HOLAP là tốt nhất cho các truy vấn tổng hợp
dữ liệu thường xuyên dựa trên một lượng lớn dữ liệu cơ sở Ví dụ, chúng ta sẽ lưu trữ
dữ liệu bán hàng theo hàng quý, hàng năm trong cấu trong MOLAP và dữ liệu hàng tháng, hàng tuần và hàng ngày trong cấu trúc ROLAP[15]
Lợi ích của việc lưu trữ trong cấu trúc HOLAP là:
- Lấy dữ liệu trong khối (cube) nhanh hơn bằng cách sử dụng xử lý truy vấn tốc
độ cao của MOLAP
- Tiêu thụ ít không gian lưu trữ hơn MOLAP
- Tránh trùng lặp dữ liệu
Trang 2825
Bảng sau so sánh tổng hợp ba mô hình lưu trữ hỗ trợ OLAP: