ĐẠ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
2
ĐẠ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
3
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
4
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 1
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
2
Tài liệu tham khảo ..................................................................................................... 53
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
3
Hình 23. Tạo Table Output ............................................................................................ 41
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
4
Hình 45. Biểu đồ giá vàng và VNIndex ........................................................................ 51
Bảng từ viết tắt
OLAP Online Analysis Processing
MOLAP Multidimensional Online Analysis Processing
ROLAP Relational Online Analysis Processing
HOLAP Hybird Online Analysis Processing
BI Business Intelligence
5
OLTP OnLine Transaction Processing
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
6
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.
Chương 1. Giới thiệu kho dữ liệu và dữ liệu tài chính
1.1. Dữ liệu trong lĩnh vực 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
- Dữ liệu phân tán
- Giao dịch chồng chéo
- Số lượng giao dịch lớn
Do đó, cần có một chiến lược lưu trữ dữ liệu một cách hiệu quả.Những hệ thống đáp
ứng được các đặc điểm trên thuộc nhóm hệ thống xử lý giao dịch trực tuyến OLTP
(OnLine Transaction Processing)[4].
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
7
(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
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. Kho dữ liệu (Data warehouse)
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.
8
Đố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
ra những phần dữ liệu và nạp chúng vào kho. Một số phần được tóm tắt trong thành phần thông tin và được cất vào kho. Người sử dụng kho dữ liệu đưa ra những yêu cầu và được cung cấp sản phẩm được tạo ra từ các thành phần và các phân đoạn được lưu
trong kho.
Một kho dữ liệu được xác định đúng hướng, hoạt động hiệu quả có thể trở
thành một công cụ cạnh tranh có giá trị cao trong kinh doanh.
1.2.2. Mục đích của kho dữ liệu
Mụ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
- Đồng bộ hóa các nguồn 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
9
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ể.
Có kho dữ liệu cũng trích rút tài nguyên khan hiếm của hệ thống sản xuất khi thực thi một chương trình quá lâu hoặc các báo cáo và các câu truy vấn phức hợp.
Công việc kinh doanh trở nên thông minh hơn. Tăng thêm chất lượng và tính
linh hoạt của việc phân tích kinh doanh do phát sinh từ cấu trúc dữ liệu đa tầng của kho dữ liệu, đó là nơi cung cấp dữ liệu được sắp xếp từ mức độ chi tiết của công việc kinh doanh cho đến mức độ cao hơn - mức độ tổng quát. Đảm bảo được dữ liệu chính
xác và đáng tin cậy do đảm bảo được là trong kho dữ liệu chỉ chứa duy nhất dữ liệu có chất lượng cao và ổn định (trusted data).
Dị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ế.
1.2.4. Thành phần của kho dữ liệu
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
10
lưu trữ như là dữ liệu thô hoặc như sự tập hợp của dữ liệu thô.
Data Marts and Cubes
Relational
Data Store
Source
Clients
Hình 1. Các thành phần của kho dữ liệu
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.
1.2.5. Cấu trúc của kho dữ liệu
11
Một kho dữ liệu có thể có một vài phần của cấu trúc sau:
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.
1.2.6. Mô hình thực thể trong 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
12
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:
Products
Orders
Fact Table
OrderNo
OrderDate
Custormers
CustomerNo
ProdNo ProdName ProdDescr Category CategoryDescr UnitPrice QOH
CustomerName
Date
CustomerAddress
OrderNo SalespersionID CustomerNo ProdNo DateKey CityName Quantity TotalPrice
City
Salespersons
DateKey Date Month Year
City
SalespersonID SalespersonName City Quota
CityName State Country
Hình 2. Mô hình sao
13
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ó thuộc tính phân cấp.
Orders
Products
Category
Fact table
OrderNo OrderDate
CategoryName CategoryDescr
Customers
ProdNo ProdName ProdDescr Category UnitPrice QOH
Date
Month
CustomerNo CustomerName CustomerAddress City
OrderNo SalespersonID CustomerNo DateKey CityName ProdNo Quantity TotalPrice
Year
Salesperson
Month Year
DateKey Date Month
City
State
SalespersonID SalespersonName City Quota
CityName State
Hình 3. Mô hình bông tuyết
Đ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ụ
14
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.
Hình 4. Mô hình chòm sao
1.2.7. Các lĩnh vực ứng dụng của kho dữ liệu
Các lĩnh vực hiện tại có ứng dụng data warehouse bao gồm:
15
- 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.
Chương 2. Kỹ thuật phân tích OLAP
2.1. Giới thiệu 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.
2.2. Mô hình dữ liệu đa chiều
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
16
đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”.
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ị
Saûn phaåm
Thôøi gian
Thò tröôøng
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].
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
17
(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
của Sản phẩm, Thời gian, Thị trường vào 1 thời điểm là một độ đo duy nhất so với các kết hợp khác.
Các chiều được phân cấp theo loại. Ví dụ như chiều Thời gian có thể được mô tả
bởi các thuộc tính như Năm, Quý, Tháng và Ngày. Mặt khác, các thuộc tính của một chiề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.
2.3. Kiến trúc khối (Cube) của OLAP
Đố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
18
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
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.
2.4. So sánh OLAP và OLTP
Đặ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]. 19
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.
2.5. Các thành phần của OLAP
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). - Ứng dụng thông minh: Các bộ công cụ và ứng dụng thực hiện truy vấn dữ liệu 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
20
dữ liệu khác nhau.
2.6. Chuyển đổi dữ liệu từ OLTP tới OLAP
Để 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ữ.
21
- 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ả
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.
2.7. Các mô hình lưu trữ hỗ trợ OLAP
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.
2.7.1. Mô hình Multidimentional OLAP (MOLAP)
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.
Dữ liệu trong môi trường OLAP
Mysql
Oracle
MOLAP data
Other
Hình 6. Mô hình dữ liệu MOLAP
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
22
khi khối tạo ra [15].
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].
2.7.2. Mô hình Relational OLAP (ROLAP)
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ệ
23
ROLAP không có giới hạn về kích thước dữ liệu [15].
- 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].
- Giới hạn bởi chức năng của SQL: Bởi vì công nghệ ROLAP chủ yếu dựa vào 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].
2.7.3. Mô hình Hybird OLAP (HOLAP)
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.
24
- Tiêu thụ ít không gian lưu trữ hơn MOLAP. - Tránh trùng lặp dữ liệu.
2.7.4. So sánh các mô hình
Bảng sau so sánh tổng hợp ba mô hình lưu trữ hỗ trợ OLAP:
MOLAP ROLAP HOLAP
Lưu trữ dữ liệu cơ sở Khối Bảng quan hệ Bảng quan hệ
Lưu trữ thông tin tổng hợp Khối Bảng quan hệ Khối
Hiệu suất thực hiện truy vấn Nhanh nhất Chậm nhất Nhanh
Tiêu thụ không gian lưu trữ Nhiều Thấp Trung bình
25
Chi phí bảo trì Cao Thấp Trung bình
Chương 3. Bộ công cụ Pentaho
3.1 Tổng quan
Bộ công cụ Pentaho open BI cung cấp một cái nhìn toàn cảnh về khả năng kinh doanh thông minh (BI) của doanh nghiệp bao gồm: lập biểu báo, phân tích, biểu đồ, tích hợp dữ liệu, và là một hệ BI mã nguồn mở phổ biến nhất thế giới. Sản phẩm của Pentaho được các doanh nghiệp hàng đầu sử dụng như: MySql, Motorola, Terra
Industries, DivX…[6] Bộ công cụ pentaho có các công cụ:
- Report designer - Design studio - Aggregation designer - Metadata editer - Pentaho data integartion - Schema wordbench Cấu trúc của Pentaho:
Hình 9. Cấu trúc Pentaho
3.2 Các khả năng BI của pentaho
26
Pentaho giúp người dùng:
Báo cáo: Các tổ chức sử dụng báo cáo từ nhiều nguồn nên báo cáo là cốt lõi và được khai
thác đầu tiên trong kinh doanh thông minh. Báo cáo Pentaho cho phép các doanh nghiệp truy cập, định dạng và phân phối thông tin dễ dàng đến nhân viên, khách hàng và các đối tác. - Linh hoạt trong triển khai từ những báo cáo đơn đến các báo cáo dạng web tích hợp
trong kinh doanh thông minh của doanh nghiệp.
- Hỗ trợ nhiều nguồn dữ liệu như OLAP, hay nguồn dữ liệu dựa trên XML. - Xuất dữ liệu linh hoạt ra PDF, HTML, Microsoft Excel, Rich Text Format, hay text
thuần túy.
- Wizard hỗ trợ thiết kế báo cáo dễ dàng và nhanh chóng. - Phiên bản chuyên nghiệp với nhiều chức năng như phân nhóm, đăng ký, tích hợp
thư mục, kiểm duyệt …
Phân tích:
Pentaho Analysis là một công cụ phân tích đắc lực giúp người dùng đưa ra
những quyết định có hiệu quả nhất. Ví dụ: Báo cáo cho biết tình hình bán có khuynh
hướng giảm hơn so với mong đợi thì các tri thức dễ dàng phát hiện ra nguyên nhân vấn
đề bằng cách đặt các câu hỏi sau:
- Vấn đề ảnh hưởng đến một dòng sản phẩm hay một khu vực nào đó?
- Sự khác nhau giữa sự phối hợp này với những phối hợp khác mà không có vấn đề
là gì?
- Vấn đề liên quan với những hàng bán ở đó là gì? Những chiến dịch tiếp thị? Hay
cái gì khác?
Pentaho Analysis giúp trả lời những câu hỏi kinh doanh bằng cách:
- Giúp người dùng dễ dàng khai thác thông tin kinh doanh bằng cách kéo, thả, xem
chi tiết hay lập bảng kiểm tra chéo dữ liệu.
- Trả lời nhanh các truy vấn phân tích phức tạp.
27
- Giải quyết các câu hỏi phức tạp nhanh chóng.
- Hỗ trợ các khả năng tiên tiến bao gồm báo cáo tích hợp, siêu dữ liệu, biểu đồ thông
qua việc tích hợp với các sản phẩm khác trong bộ Pentaho.
Biểu đồ:
Pentaho Dashboards giúp người quản trị hiểu tường tận sự việc bên trong ngay lập tức từ sự thực hiện cá nhân, phòng ban, hay doanh nghiệp. Bằng phép đo trên giao diện trực quan, Pentaho Dashboards cung cấp cho nhà doanh nghiệp thông tin thực
giúp họ hiểu biết và cải thiện công việc.
Pentaho Dashboards hỗ trợ tính trực quan bằng cách cung cấp:
- Khả năng quản lý các phép đo toàn diện cho phép định nghĩa và theo dõi những đo
đạc đáng chú ý ở mức độ cá nhân, phòng ban hay doanh nghiệp.
- Hiển thị trực quan phong phú giúp nhà kinh doanh có thể thấy ngay những cái nào
đang đi đúng hướng và cái nào cần chú ý.
- Tích hợp báo cáo và phân tích để người sử dụng có thể khai thác tận gốc các báo
cáo và phân tích để hiểu những nhân tố đưa đến thành công hay thất bại.
- Cổng tích hợp dễ dàng chuyển các phép đo đạc trong kinh doanh liên quan với số
lượng lớn người sử dụng, tích hợp thẳng vào trong ứng dụng của họ.
- Tích hợp báo động để liên tục theo dõi những ngoại lệ và thông báo cho người sử
dụng biết.
Khai phá dữ liệu:
- Những mối quan hệ tìm ẩn trong dữ liệu có thể được dùng để tối ưu hóa những qui
trình nghiệp vụ và dự đoán những kết quả tương lai.
- Cung cấp một phạm vi tiên tiến đầy đủ các giải thuật khai thác dữ liệu.
- Hiển thị kết quả cho người dùng với định dạng dễ hiểu.
Quy trình:
- Qui trình kinh doanh tự động và hợp lý đưa ra các kết quả có bảo chứng, hiệu quả
28
và có thể báo cáo với nhiều mục đích khác nhau.
- Liên kết trực tiếp các phép đo đạc với tiến trình. Đẩy mạnh cải tiến chu trình kinh doanh liên tục. Từ việc báo cáo dựa theo các phép đo thông qua sự thay đổi trong kinh doanh đến việc báo cáo những kết quả thay đổi đó, và lặp lại quá trình để tối
ưu hóa hơn nữa.
3.3 Những đặc tính và lợi ích
Cung cấp hiểu biết tường tận giữa các mẫu và mối quan hệ ẩn trong dữ liệu của bạn:
Một ví dụ điển hình của việc khai thác dữ liệu là một người bán lẻ phát hiện ra mối
quan hệ giữa việc bán tả lót và bia vào những chiều chủ nhật – Hai sản phẩm này chẳng có quan hệ gì với nhau. Nhưng nếu tình cờ nhữnhg ông chồng phát hiện trong kho hàng có bia thì họ sẽ nhặt bia lên thay vì tả lót – điều này sẽ không được phát hiện
trước khi khai thác dữ liệu.
Cho phép bạn khai thác những tương quan để cải thiện công việc
Tiếp tục ví dụ trên, những người bán lẻ thường hoạt động trong những mối quan hệ
họ có bằng cách dùng chiến thuật liên kết các hạn mục với nhau để kích thích sự mua
hàng. Các doanh nghiệp có thể thu lợi từ theo cách làm giống nhau – sử dụng những kiểu mẫu được khám phá mới nhất và những tương quan như cơ sở để thi hành cải
thiện hiệu quả và hiệu lực.
Đúc kết các bí quyết cho tương lai
“Không học từ quá khứ chắc chắn sẽ bị vấp lại” là một lời trích nổi tiếng từ nhà triết học George Santayana. Việc khai thác dữ liệu có khả năng dự đoán những hậu quả dựa vào dữ liệu đã có để cải thiện đáng kể chất lượng và những hậu quả trước khi
đưa ra quyết định. Lấy ví dụ đơn giản, là người quyết định tốt nên kết hợp các giai đọan mà khách hàng thanh toán đúng hẹn và lợi dụng những thông tin hữu ích này để
đưa ra những quyết định.
Cho phép đưa các khuyến cáo vào trong ứng dụng
Bạn có thể dùng kết quả khai thác dữ liệu để trình bày một bản tổng kết thu chi
đơn giản và đua ra những khuyến cáo vào họat động ứng dụng. Ví dụ trên màn hình thanh toán bạn có thể thêm câu: “Dựa vào số liệu mới có đến 85% khả năng khách
29
hàng này trả chậm, vì thế hóa đơn này được đề nghị trả trước 50%”. Việc lập báo cáo
dựa trên kết quả tổng thể giống như thời gian thu hồi tiền hàng tồn đọng (DSO) giúp bạn đo được sự tiến triển trong kinh doanh dựa vào các đề xuất cho phép hay không cho phép để bạn tinh chỉnh mô hình và các khuyến cáo có hiệu quả tối ưu, cho phép
bạn tận dụng triệt để các phạm vi thuật toán.
Không có thuật toán nào tối ưu cho tất cả các tình huống. Vì vậy bạn nên thử ở
các phạm vi để tìm ra thụât toán phù hợp nhất cho dữ liệu của bạn.
Nếu bạn có nhiều thuật toán hợp lý bạn có thể dùng tất cả – Ví dụ: “Dựa trên sự phân tích của 3 mô hình dự đóan thì khả năng khách hàng này trả chậm là: Mô hình A:
95% (96% đúng), Mô hình B: 89% (92% đúng), Mô hình C: 76% (97% đúng)”.
Có thể áp dụng cho bất cứ BI hoặc tiến trình kinh doanh nào
Tích hợp với các thành phần khác của hệ Pentaho BI cho phép bạn dễ dàng áp dụng khai thác dữ liệu cho bất kỳ tiến trình nào trong hệ thống (chẳn hạng như quay vòng tiền mặt) và qui trình kinh doanh thông minh (như phát sinh báo cáo, hóa đơn, và
nhữg hành động trái quy luật). Việc ứng dụng này rất linh họat tùy theo dữ kiện của tiến trình BI được thực hiện.
Trích dẫn, tạo, khai thác để có cái nhìn sâu sắc hơn trong phân tích của bạn
Điều này xảy ra khi dữ liệu được sinh ra hoặc một phần trong tiến trình chuẩn
bị dữ liệu. Ví dụ khi làm báo cáo bán hàng bạn có thể hiện vùng đồ họa mà bạn dùng cho khai thác dữ liệu sau này. Ngòai ra bạn cũng có thể thêm dữ liệu trong quá trình
chuẩn bị khai thác dữ liệu – như các biến tính toán hay đơn vị đo lường khác.
Cách khai thác dữ liệu.
Chọn một mô hình
Các nhà phân tích có thể làm việc trên phạm vi mô hình trực quan bao gồm các
hình thức tiên tiến của khai thác dữ liệu như là xếp nhóm, phân đoạn, các quyết định
hình cây, kiểu ngẫu nhiên, kiểu hình mạng, và phân tích nhân tố thiết yếu.
Thêm dữ liệu
Có thể thêm các tính năng khác cho dữ liệu. Ví dụ, bạn có thể định nghĩa các
biến để hệ thống có thể tự động lấy dữ liệu tạo thêm các cột mới để phân tích.
30
Phù hợp
Mỗi mô hình làm việc có những tham số riêng để phù hợp với dữ liệu mẫu. Những người phân tích có thể dùng tham số này một cách tự động hay điều chỉnh bằng
tay (phụ thuộc vào mô hình)
Đánh giá
Kết quả có thể được đánh giá theo mô hình dùng dữ liệu đã có để so với kết quả
thực tế
Tính hoàn hảo
Áp dụng mô hình huấn luyện trong qui trình. Sau khi được huấn luyện chắc
chắn sẽ đưa ra kết quả tốt nhất cho mục đích kinh doanh cụ thể cần áp dụng.
Dữ liệu đầu ra
Áp dụng mô hình huấn luyện trong qui trình. Sau khi được huấn luyện chắc chắn sẽ
đưa ra kết quả tốt nhất cho mục đích kinh doanh cụ thể cần áp dụng.
Kỹ thuật
Công cụ khai thác dữ liệu mạnh
Cung cấp một công cụ học giải thuật toàn diện từ dự án Weka bao gồm xếp nhóm, chia đoạn, quyết định hình cây, kiểu ngẫu nhiên, kiểu hình mạng, và phân tích nhân tố
thiết yếu.
Pentaho tích hợp với hệ Pentaho BI xử lý chuyển đổi định dạng dữ liệu tự động
thành các định dạng mà công cụ khai thác dữ liệu cần[8].
Giải thuật có thể áp dụng trực tiếp vào dữ liệu hoặc gọi từ Java.
Đầu ra có thể xem dạng đồ thị tương tác với chương trình hoặc dùng nguồn dữ liệu
để tạo báo cáo, phân tích sâu hơn hay các xử lý khác nữa.
Bộ lọc hỗ trợ việc phân rời hoá, bình thường hóa, mẫu sử dùng lại, chọn lọc thuộc
tính, thay đổi và kết hợp thuộc tính.
Công cụ phân loại cung cấp các mô hình để dự đoán những số lựơng ảo và thực. Sơ đồ học bao gồm những cây quyết định và danh sách, những máy véc tơ hỗ trợ,
31
perceptrons nhiều lớp, hồi quy logic, mạng Baye và các kỹ thuật tiên tiến khác[9].
Công cụ khai thác dữ liệu là một hệ hòan hảo trong việc phát triển máy học sơ đồ
giúp khách hàng kết hợp chặt chẽ các mô hình của họ.
Đầu vào và đầu ra được kiểm soát chặt chẽ, cho phép người phát triển đưa ra
những giải pháp hoàn toàn tùy biến sử dụng những thành phần được cung cấp.
Công cụ thiết kế trực quan
Công cụ thiết kế khai thác dữ liệu và quản trị trực quan được tích hợp theo chuẩn
Pentaho và có hỗ trợ trong Eclipse.
Cung cấp giao diện người dùng trực quan trong việc tiền xử lý dữ liệu, phân loại,
hồi qui, xếp loại, qui luật hiệp hội và trực quan hóa.
Bảo mật và đạt chuẩn
Cung cấp bảo mật vai trò và qui tắc kinh doanh
Hỗ trợ Java đăng nhập một lần và LDAP để tích hợp với các bảo mật doanh nhiệp
đang tồn tại
Hỗ trợ mục đích kiểm thử. Dữ liệu kiểm thử có thể in ngay ra báo cáo và được tích
hợp với các đặc tính của tiến trình trong hệ Pentaho BI
Các định nghĩa Web Services, Repositories, XML
Các thành phần có giao diện đồ họa được sử dụng một cách linh họat
Kho dữ liệu tập trung chứa các biểu báo, biểu mẫu, truy vấn và các nội dung khác
Các định nghĩa về nội dung được lưu dạng XML có thể tạo, sửa chữa bằng nhiều
cách khác hơn là chỉ trên giao diện – ví dụ sửa file XML bằng tay.
Tính mềm dẻo và tính thực thi
Được thiết kế để triển khai trong các doanh nghiệp, ứng dụng với chức năng phong phú chạy trên nền J2EE bao gồm JBoss™ , ngoài ra còn có tính năng mềm dẻo như là
32
phân nhóm.
Chương 4. Giới thiệu bài toán triển khai trên Pentaho và kết quả đạt được
4.1. Giới thiệu bài toán
Để minh họa cho việc sử dụng công cụ pentaho trong việc xây dựng báo cáo tài chính
em xin trình bày ví dụ cụ thể sau:
”Xem xét, đánh giá sự ảnh hưởng của giá dầu, tỷ giá USD/VND,chỉ số VNIndex lên
giá vàng”.
Môi trường thực hiện:
- Hệ điều hành windows 7
- Hệ quản trị cơ sở dữ liệu Mysql
- Bộ công cụ pentaho
4.2. Thu thập,xử lý dữ liệu
Dữ liệu về tỉ giá USD/VND được lấy tại:
http://www.oanda.com/currency/historical-rates
File tải về là file excel có dạng:
Hình 10. Dữ liệu tỷ giá 33
Dữ liệu về giá vàng được lấy tại địa chỉ: http://www.perthmint.com.au/investment_invest_in_gold_precious_metal_prices.aspx File tải về có dạng:
Hình 11. Dữ liệu giá vàng
Đơn giá được tính theo đơn vị USD/ounce
34
Dữ liệu giá dầu được lấy tại địa chỉ: http://sdw.ecb.europa.eu/browse.do?node=2120782 File tải về có dạng:
Hình 12. Dữ liệu giá dầu
Đơn vị tính là USD / Thùng
Dữ liệu chỉ số VnIndex được tải tại địa chỉ http://www.cophieu68.com/datametastock File tải về có dạng:
35
Hình 13. Dữ liệu chỉ số VnIndex
Theo dữ liệu thu thập được thì ta thấy dữ liệu không đồng nhất. Ví dụ như trong
dữ liệu tỉ giá thì thông tin về tỉ giá có đầy đủ các ngày, nhưng trong dữ liệu về giá vàng thì không có dữ liệu về giá vàng trong ngày thứ 7 và chủ nhật hàng tuần, và dữ
liệu về giá dầu chỉ có theo tháng.Vậy giải pháp trong bài này em chọn để đồng bộ dữ liệu đó là dữ liệu thiếu sẽ được thêm vào bằng cách lấy dữ liệu của ngày trước đó, dữ liệu hàng ngày của giá dầu sẽ bằng dữ liệu giá dầu của tháng đó.Như vậy, dữ liệu đã
được đồng bộ.
Bước tiếp theo ta tổng hợp dữ liệu thành 1 file excel với đầy đủ thông tin như hình
sau:
Hình 14. Dữ liệu tổng hợp
Trường timekey được thêm theo cách năm+tháng+ngày viết liền.
Như vậy ta đã làm sạch được dữ liệu, loại bỏ dữ liệu dư thừa.
4.3. Tạo data warehouse
Áp dụng công cụ data intergation trong bộ công cụ của pentaho đó là Spoon, ta tạo
kho dữ liệu như sau:
Kho dữ liệu có 3 bảng: 2 bảng chiều và 1 bảng chính, 2 bảng chiều đó là : bảng dim_time : đưa ra các dữ liệu về ngày, tháng, quý, năm. Bảng dim_factor: đưa ra các nhân tố dùng để xử lý. Một bảng chính đó là bảng fact_price chứa thông tin giá của từng nhân tố tại từng thời điểm.
36
Cấu trúc bảng và sơ đồ quan hệ được mô tả trong hình sau:
Hình 15. Mô hình kho dữ liệu
Mở công cụ Spoon, ta chọn File -> New -> Transformation. Dữ liệu đầu vào là file excel lưu dưới dạng .csv chứa toàn bộ dữ liệu đã được chuẩn
CSV file input kéo và thả biểu tượng
hóa do đó trong ô Step ta chọn phần input là này vào trong vùng thao tác ta được:
Hình 16. Spoon workspace
Click đúp vào đối tượng này ta thay đổi các thuộc tính của nó như step name, file name (đường dẫn đến file dữ liệu .csv), delimiter (ký tự ngăn cách giữa các trường
37
trong file .csv), sau đó ta ấn Get Fields và sửa đổi tên các trường cho phù hợp:
Hình 17. Spoon nhập dữ liệu
Để làm bước tiếp theo, ta phải tạo một cơ sở dữ liệu trống trong Mysql. Ta dùng Mysql Query Browser để tạo cơ sở dữ liệu mới thông qua truy vấn “CREATE DATABASE data_price”. Với data_price là tên data warehouse cần tạo.
Trở lại Spoon trong phần step ta chọn trong tab Data Warehouse kéo thả Combination lookup / update vào khung làm việc. Sau đó kéo di chuột trái+ shift từ bước input CSV sang bước Combination lookup/update.
Hình 18. Combination Lookup/Update
38
Click đúp vào bước Combination lookup/update để thay đổi các thuộc tính
Hình 19. Thay đổi thuộc tính
Phần connection ta chọn new nếu chưa có kết nối nào:
Hình 20. Kết nối cơ sở dữ liệu
Ta chọn Mysql trong phần Connection Type, điền thông tin cơ sở dữ liệu,
connection name, chọn test, nếu kết nối thành công ta chọn OK.
Quay trở lại cửa sổ Combination lookup/update ta điền các thông số , ở đây trong
39
bước này ta sẽ tạo bảng dim_time
Hình 21. Tạo bảng Dim_time
Ấn nút Get Fields để load các trường trong file excel , ta loại bỏ nhưng trường không xuất hiện trong bảng dim_time, đặt trường khóa cho bảng dim_time, tick vào ô
Remove lookup fields? Để các trường này không xuất hiện trong các bảng sau. Ấn nút SQL để xem các câu lệnh sql tạo bảng sau đó ấn nút Execute để tạo bảng Dim_time(time_id,timekey,month,quarter,year).
Tương tự ta cũng kéo thêm 1 step Combination lookup/update nữa và nối tiếp
với bước tạo bảng dim_time trên:
40
Hình 22. Tạo bảng dim_factor
Trong bảng này chỉ có 2 trường là factor_key tự động sinh ra và là khóa chính và
trường factor chứa tên của các nhân tố ảnh hưởng.
Bước tiếp theo ta tạo bảng fact_price, đây là bảng output vì nó bao hàm 2 bảng
trên. Do đó trong phần step ta kéo thả Table output.
Hình 23. Tạo Table Output
Click đúp vào Table output ta thay đổi các thông số cho phù hợp:
Hình 24. Tạo bảng fact_price
Ấn SQL để xem câu lệnh sql và ấn nút Execute để tạo bảng. Ta lưu transformation này vào và ấn nút và chọn Launch để nhập dữ liệu vào trong
41
cơ sở dữ liệu đã được tạo.
Hình 25. Nhập dữ liệu
Như vậy ta đã tạo thành công data warehouse all_price bằng công cụ Spoon.
4.4. Xử lý dữ liệu bằng kỹ thuật OLAP
4.4.1. Tạo cube
Để tạo cube ta dùng công cụ Schema Workbench trong bộ công cụ Pentaho.
Trước tiên ta phải tạo kết nối tới cơ sở dữ liệu Mysql bằng cách trong menu Tools ta chọn Connection hiện ra cửa sổ, ta điền các thông số để kết nối tới Mysql:
Hình 26. Kết nối cơ sở dữ liệu
Ta tạo 1 schema mới và 1 cube với với các độ đo sum và avg đối với giá như
42
trong hình:
Hình 27. Kiến trúc Cube
Sau khi đã tạo được cube, ta publish cube này lên hệ thống pentaho với thông
tin đầy đủ về server và tài khoản user trong pentaho.
Hình 28. Repository Login
Ta lưu lại file cube và publish schema và cube lên hệ thống pentaho.
4.4.2. Analysis View
Pentaho cung cấp tiện ích áp dụng kỹ thuật OLAP đó là Analysis View. Ngoài ra chúng ta có thể áp dụng công cụ được pentaho phát triển riêng để sử dụng OLAP đó là Mondrian.
Trong bài này em xin trình bày cách áp dụng tiện ích Analysis View để ứng dụng
43
kỹ thuật OLAP.
Trước tiên ta phải kết nối Pentaho đến cơ sở dữ liệu mà chúng ta cần phân tích trên hệ cơ sở dữ liệu Mysql. Để kết nối đến cơ sở dữ liệu này ta vào folder cài đặt Pentaho , vào folder administration-console và chạy file start-pac.bat để khởi động
Administration Console. Sau đó ta vào trình duyệt và chạy link : http://localhost:8099 sẽ hiện ra khung đăng nhập, tài khoản admin mặc định là user: “admin” / password: “password”.
Để tạo kết nối tới mysql và data warehouse đã được tạo ta vào tab Database Connection.
Trong bài này em sử dụng cơ sở dữ liệu all_price và hệ cơ sở dữ liệu Mysql nên
ta sẽ nhập như hình sau:
Hình 29. Kết nối cơ sở dữ liệu
Sau khi đã nhập đầy đủ , ta ấn test để kiểm tra kết nôi, kết nối thành công ta chọn
OK để lưu kết nối này. Như vậy ta đã kết nối thành công pentaho tới mysql.
Bước tiếp theo ta vào địa chỉ http://localhost:8080 để vào Pentaho User Console. Hiện ra khung đăng nhập, ta điền user và password vào, hoặc có thể sử dụng 1 vài account mẫu.
44
Sau khi login vào sẽ hiện ra màn hình như sau:
Hình 30. Khung làm việc Pentaho
Sử dụng Analysic View chọn schema và cube đã được tạo ra ở bước trên.
Hình 31. Chọn schema và cube
Sau khi ấn OK sẽ hiện ra cửa sổ như sau:
Hình 32. Dữ liệu schema và cube
Trên thanh Tools bar ta chọn để lựa chọn độ đo, columns, rows và filter cho
45
việc lựa chọn hiển thị nội dung các phân tích.
Hình 33. Nội dung phân tích
Để phân tích tỉ giá USD/VNĐ trong vòng 10 năm từ năm 2000 tới 2010, trong
phần Measures ta chọn avg price:
Hình 34. Chọn Measures
Phần factor ta chọn exchange:
Hình 35. Chọn factor
Trong phần thời gian ta chọn các năm từ 2000 đến 2010, ở đây ta so sánh giá trị
46
trung bình của tỉ giá của từng năm.
Hình 36. Chọn năm phân tích
Tuy nhiên ta có thể lựa chọn thời gian chi tiết hơn theo thừng tháng, từng quý, và
từng ngày bằng cách chọn nút :
Hình 37. Chọn chi tiết ngày tháng
Và để hiển thị biểu đồ tỉ giá trong vòng 10 năm qua, ta chọn để lựa chọn kiểu
47
biểu đồ:
Hình 38. Chọn loại biểu đồ
Sau khi đã chọn xong định dạng cho biểu đồ, ta chọn nút : để hiển thị biểu đồ
tỉ giá usd / vnd trong vòng 10 năm qua:
Hình 39. Biểu đồ tỷ giá USD/VND
Dựa vào biểu đồ ta có thể tháy tỷ giá USD/VNĐ thay đổi nhiều nhất trong
những năm 2008 trở lại đây và đang có xu hướng tăng.
48
Tương tự ta có biểu đồ giá vàng:
Hình 40. Biểu đồ giá vàng
Giá vàng trong 10 năm gần đây tăng mạnh, đặc biệt là tử năm 2005 tới nay, giá
vàng biến đổi và tăng liên tục. Dựa vào biểu đồ ta có thể thấy giá vàng đang có xu thế tăng.
Biểu đồ giá dầu:
Hình 41. Biểu đồ giá dầu
Giá dầu có nhiều biến động trong 10 năm trở lại đây. Giá dầu tăng giảm thất
49
thường, rất khó để dự đoán. Giá dầu cao nhất vào khoảng giữa năm 2007. Và hiện nay đang có xu hướng tăng trở lại. Biểu đồ chỉ số VnIndex:
Hình 42. Biểu đồ chỉ số VnIndex
Chỉ số VnIndex của nước ta có biến động rất lớn. Từ năm 2000 tới năm 2005
chỉ số VnIndex tăng rất châm, nhưng sau năm 2005 tới năm 2007 chỉ số VNIndex liên tục tăng cao. Và rồi xuống thấp nhất vào cuối năm 2008 đầu 2009, hiện nay đang có
dấu hiệu phục hồi và cân bằng. Biểu đồ giá vàng và giá dầu:
Hình 43. Biểu đồ giá vàng và giá dầu
50
Biểu đồ giá vàng và tỉ giá USD /VNĐ
Hình 44. Biểu đồ tỷ giá và giá vàng
Dựa vào biểu đồ ta có thể nhin thấy sự liên quan giữa giá vàng và tỉ giá
USD/VND, hầu như chúng đều cùng tăng và cùng giảm. Biểu đồ chỉ số VNIndex và giá vàng:
Hình 45. Biểu đồ giá vàng và VNIndex
Dựa vào biểu đồ ta nhận thấy rằng giá vàng và chỉ số VNIndex ít có mối liên hệ
51
với nhau. Do đó khó có thể kết luận xu hướng của giá vàng dựa vào xu hướng của chỉ số VNIndex.
Kết luận
Qua những phân tích và ứng dụng trong bài báo cáo này đưa ra cho thấy việc áp dụng kho dữ liệu và các kỹ thuật OLAP trong tương lai sẽ là tất yếu và là xu thế để các
doanh nghiệp ứng dụng.
Khóa luận đã đạt được những kết quả:
- Tìm hiểu và phân tích kỹ thuật kho dữ liệu và ứng dụng trong lĩnh vực tài chính.
- Tìm hiểu và phân tích kỹ thuật OLAP, các mô hình lưu trữ hỗ trợ OLAP, chỉ ra
các ưu và nhược điểm của các mô hình lưu trữ đó.
- Phân biệt được sự khác nhau giữa OLTP và OLAP
- Giới thiệu bộ công cụ Business Intelligent là Pentaho và áp dụng.
52
- Phân tích dữ liệu biến động của giá đô la, giá vàng và chỉ số VNIndex.
Tài liệu tham khảo
Tiếng Việt
[1] Kho dữ liệu . http://vi.wikipedia.org/wiki/Kho_d%E1%BB%AF_li%E1%BB%87u
[2] Ths. Nguyễn Thế Quyền. Giới thiệu về kiến trúc khối của OLAP. Tạp chí Công nghệ thông tin & Truyền thông. http://www.tapchibcvt.gov.vn/News/PrintView.aspx?ID=15695
Tiếng Anh
[3]. Djoni Darmawikarta. Dimensional Data Warehousing with MySql. Brainy Software Corp, 2007.
[4]. Don Jones. Why is OLAP Faster than OLTP. http://nexus.realtimepublishers.com/tips/Data_Warehousing/Why_Is_OLAP_Faster_T han_OLTP.php
[5]. Hari Mailvaganam. Introduction to OLAP. http://www.dwreview.com/OLAP/Introduction_OLAP.html
[6]. Kefa Rabah. Pentaho Business Intelligene BI Suite Training Manual. Global Open Versity, 2007. Tr. 1-23.
[7]. Online Analytical Processing. Wikipedia.org.
[8]. Pentaho Corporation. Pentaho Training Course 2010 Edition. Pentaho Corporation, 2007. Tr 1-13.
[9]. Pentaho Corporation. Pentaho Analysis Viewer User Guide. Pentaho Corporation, 2007. Tr 1-23.
[10]. Roland Bouman- Jos Van Dongen. Business Intelligence and Data Warehousing with Pentaho and Mysql- Pentaho Solutions. Wiley Publishing,Inc, 2009. Tr 3-309.
53
[11]. S.Nagabhushana. Data warehousing Olap and Data mining. New Age International Publishers, 2006. Tr. 24-246.
[12]. Seth Grimes. Mysql V5- Ready for Prime Time Business Intelligence. Alta Plana Corporation, 2006. Tr 2-23.
[13]. Surajit Chaudhuri- Umeshwar Dayal. An Overview of Data warehouse and OLAP Technology. Tr 2-10.
[14] Thomas C.Hammergren- Alan R. Simon. Data warehousing for dummies. Wiley Publishing,Inc. Tr 9-95.
54
[15] MOLAP, ROLAP, And HOLAP http://www.1keydata.com/datawarehousing/molap-rolap.html