Kho dữ liệu thường rất lớn, nó được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những ứng dụng của các công nghệ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
NGUYỄN THANH TÙNG
XÂY DỰNG KHO DỮ LIỆU PHỤC VỤ QUẢN LÝ VÀ KHAI
THÁC THÔNG TIN
Chuyên ngành: Công nghệ thông tin
LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS TS Trần Đình Khang
Hà Nội – Năm 2015
Trang 22
LỜI CẢM ƠN Trước hết, tác giả xin chân thành cảm ơn thầy PGS.TS Trần Đình Khang
đã hết lòng giúp đỡ, hướng dẫn và chỉ dạy tận tình trong quá trình tác giả thực hiện luận văn tốt nghiệp
Tác giả xin được gửi lời cảm ơn chân thành tới các thầy cô giáo trong trường Đại học Bách khoa Hà nội nói chung và các thầy cô trong Viện Công nghệ Thông tin và Truyền thông nói riêng đã tận tình giảng dạy, truyền đạt cho tác giả những kiến thức và kinh nghiệm quý báu trong suốt những năm học tập và rèn luyện
Cuối cùng, tác giả xin được gửi lời cảm ơn tới gia đình, bạn bè đã quan tâm, động viên, đóng góp ý kiến và giúp đỡ tác giả trong quá trình học tập, nghiên cứu
và hoàn thành luận văn tốt nghiệp
Hà Nội, ngày tháng năm 2015
Học viên thực hiện
Nguyễn Thanh Tùng
Trang 33
MỤC LỤC
MỞ ĐẦU 8
CHƯƠNG I: KHO DỮ LIỆU 10
1.1 TỔNG QUAN VỀ KHO DỮ LIỆU 10
1.1.1 Những vấn đề cơ bản 10
1.1.2 Các kiểu dữ liệu 11
1.1.3 Kiến trúc kho dữ liệu 12
1.2 XÂY DỰNG KHO DỮ LIỆU 17
1.2.1 Lập kế hoạch 17
1.2.2 Xác định các yêu cầu của hệ thống 18
1.2.3 Các thành phần của kho dữ liệu 20
1.2.4 Mô hình dữ liệu 20
1.2.5 Tạo lập các kho dữ liệu 23
1.3 XỬ LÝ VÀ KHAI THÁC DỮ LIỆU 25
1.3.1 Truy cập và khai thác dữ liệu 25
1.3.2 Xử lý phân tích trực tuyến OLAP 29
CHƯƠNG II: PHẦN MỀM HẠ TẦNG CỒNG THÔNG TIN LIFERAY 36
2.1 GIỚI THIỆU TỔNG QUAN 36
2.1.1 Định nghĩa 36
2.1.2 Các tính năng 36
2.1.3 Đặc trưng và công nghệ 37
2.2 CÀI ĐẶT PORTAL LIFERAY TRÊN MÔI TRƯỜNG WINDOWS 38
2.2.1 Cài đặt JDK 38
2.2.2 Cài trình biên dịch ANT 39
2.2.3 Cài đặt PostgreSQL 39
2.2.4 Cài đặt Liferay 40
CHƯƠNG III: XÂY DỰNG KHO DỮ LIỆU ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN (UTEHY) 41
3.1 TỔNG QUAN CHUNG 41
Trang 44
3.2 DỮ LIỆU TRONG KHO DỮ LIỆU 42
3.2.1 Dữ liệu nghiệp vụ 42
3.2.2 Siêu dữ liệu 42
3.3 XÂY DỰNG KHO DỮ LIỆU 42
3.3.1 Lập kế hoạch 43
3.3.2 Yêu cầu của hệ thống 43
3.3.3 Mô hình dữ liệu 43
3.3.4 Các nguồn dữ liệu 45
3.3.5 Tạo lập kho dữ liệu 46
3.3.6 Các bước cài đặt vật lý cho kho dữ liệu 54
3.4 ỨNG DỤNG CỔNG THÔNG TIN LIFERAY UTEHY PORTAL 57
3.4.1 Mục tiêu của ứng dụng 57
3.4.2 Yêu cầu chức năng 57
3.4.3 Yêu cầu về tính năng kỹ thuật 63
3.4.4 Phân tích hệ thống 66
3.4.6 Xây dựng ứng dụng 74
3.4.7 Kết quả 86
CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 91
TÀI LIỆU THAM KHẢO 92
Trang 55
DANH MỤC HÌNH
Hình 1 1 Kiến trúc dữ liệu ba tầng 13
Hình 1 2 Kiến trúc dữ liệu của Metadata 13
Hình 1 3 Kiến trúc ba tầng của DW 14
Hình 1 4 Toàn bộ kiến trúc logic và các chức năng của DW 16
Hình 1 5 Tổng quan về kiến trúc kho dữ liệu 17
Hình 1 6 Lược đồ bông tuyết 21
Hình 1 7 Mô hình dữ liệu đa chiều 22
Hình 1 8 Quá trình tạo lập dữ liệu của DW 24
Hình 1 9 Các công cụ hỗ trợ khai thác kho dữ liệu 26
Hình 1 10 Một số lĩnh vực ứng dụng DW và qui trình khai thác thông tin 27
Hình 1 11 Các bước thực hiện để sử dụng dữ liệu trong kho 28
Hình 1 12 OLAP trong kiến trúc của kho dữ liệu 31
Hình 2 1 File kết nối Liferay với hệ quản trị cơ sở dữ liệu PostgreSQL 40
Hình 3 1 Thông tin kết quả học tập của sinh viên 46
Hình 3 2 Mô hình quan hệ trong hệ quản trị cơ sở dữ liệu PostgreSQL 50
Hình 3 3 Bảng _Dim_SinhVien 51
Hình 3 4 Bảng _Dim_MonHoc 52
Hình 3 5 Bảng _Dim_Lop 53
Hình 3 6 Sơ đồ USECASE tổng quát cúa UTEHY Portal 71
Hình 3 7 Sơ đồ Quản lý người dùng của UTEHY Portal 72
Hình 3 8 Sơ đồ Quản lý chuyên mục của UTEHY Portal 73
Hình 3 9 Cấu trúc trang của UTEHY Portal 74
Hình 3 10 Trang Lời giới thiệu 75
Hình 3 11 Trang Đội ngũ cán bộ 76
Hình 3 12 Trang Lịch sử phát triển 76
Trang 66
Hình 3 13 Trang Tầm nhìn và sứ mạng 77
Hình 3 14 Trang Chiến lược phát triển 77
Hình 3 15 Trang Ban giám hiệu 78
Hình 3 16 Trang Cơ cấu tổ chức 78
Hình 3 17 Trang Công khai 79
Hình 3 18 Trang Quy mô đào tạo 79
Hình 3 19 Trang Đào tạo Sau đại học 80
Hình 3 20 Trang Đào tạo Đại học - Cao đẳng 80
Hình 3 21 Trang Hợp tác đào tạo 81
Hình 3 22 Trang Tuyển sinh 81
Hình 3 23 Trang Cơ hội việc làm 82
Hình 3 24 Trang Tin trong trường 82
Hình 3 25 Trang Tin ngoài trường 83
Hình 3 26 Trang Phòng ban chức năng 83
Hình 3 27 Trang Khoa bộ môn 84
Hình 3 28 Trang các Cơ sở 84
Hình 3 29 Trang Thư viện tài liệu 85
Hình 3 30 Trang Lịch công tác 85
Hình 3 31 Trang Các văn bản 86
Hình 3 32 Trang Liên hệ 86
Hình 3 33 Báo cáo lực học của sinh viên thuộc mỗi khóa học dạng cột 88
Hình 3 34 Báo cáo thống kê số lượng về giới tính dạng thanh 89
Hình 3 35 Theo dõi điểm toán của sinh viên một khóa 89
Hình 3 36 Theo dõi điểm tổng kết của sinh viên một khóa 89
Hình 3 37 Học lực của sinh viên theo kỳ học 90
Trang 77
DANH MỤC BẢNG
Bảng 3 1 Bảng các cơ sở dữ liệu 49
Bảng 3 2 Các chức năng cần có của cổng thông tin điện tử 62
Bảng 3 3 Các chức năng nên có của cổng thông tin điện tử 63
Bảng 3 4 Các tính năng kỹ thuật cần có của cổng thông tin điện tử 66
Bảng 3 5 Các tính năng kỹ thuật nên có của cổng thông tin điện tử 66
Trang 8là một chủ trương lớn của nhà nước
Trường Đại học sư phạm kỹ thuật Hưng Yên là trường đại học công lập thuộc Bộ Giáo dục & Đào tạo, đào tạo nhiều ngành nghề với nhiều hình thức và nhiều hệ đào tạo khác nhau Các thông tin liên quan đến HSSV là cơ sở để Nhà trường đánh giá chất lượng giảng dạy và học tập, lập các báo cáo cũng như định hướng kế hoạch tuyển sinh, hướng đào tạo cho các HSSV các khóa tiếp theo Trong những năm gần đây Nhà trường đã đưa vào sử dụng và khai thác nhiều phần mềm hỗ trợ cho công tác đào tạo như phần mềm Edusoft: lập thời khóa biểu, quản
lý hồ sơ học sinh sinh viên, Bên cạnh đó là một số phần mềm tiện ích khác như: Quản lý vật tư, quản lý học phí, bước đầu đã thống nhất được các quy trình, biểu mẫu Tuy nhiên, cơ sở dữ liệu bị hạn chế về kích thước, hạn chế hỗ trợ được tính năng sinh báo cáo, ra quyết định, dự đoán xu hướng một cách nhanh nhất
Xuất phát từ vấn đề trên, học viên thực hiện đề tài luận văn "Xây dựng kho
dữ liệu phục vụ quản lý và khai thác thông tin", trong đó đề xuất xây dựng một kho
dữ liệu về thông tin của sinh viên với mong muốn góp phần trợ giúp cho công tác quản lý đào tạo của trường Đại học Sư phạm Kỹ thuật Hưng Yên
II Mục đích và nhiệm vụ nghiên cứu
1 Mục đích
Xây dựng kho dữ liệu hỗ trợ cho việc quản lý và khai thác thông tin tại trường Đại học Sư phạm kỹ thuật Hưng Yên
2 Nhiệm vụ
Trang 9- Nghiên cứu việc truy cập và khai thác dữ liệu trong kho dữ liệu
- Nghiên cứu tính năng, đặc trưng và công nghệ của phần mềm hạ tầng cổng thông tin dùng mã nguồn mở Liferay
- Cài đặt Liferay Portal trên môi trường Windows
- Xây dựng Kho dữ liệu trường Đại học Sư phạm kỹ thuật Hưng Yên
3 Đối tượng nghiên cứu
- Phần mềm hạ tầng cổng thông tin Liferay
- Hệ quản trị cơ sở dữ liệu PostgresQL
4 Phương pháp nghiên cứu
Các phương pháp nghiên cứu chính:
- Phương pháp phân tích tổng hợp lý thuyết
- Phương pháp nghiên cứu thực nghiệm
III Tóm tắt cô đọng các luận điểm cơ bản và đóng góp mới của tác giả
- Tác giả đã tập trung nghiên cứu về kho dữ liệu, các vấn đề liên quan đến kho dữ liệu: đặc điểm dữ liệu, các kiểu dữ liệu, kiến trúc kho dữ liệu, xây dựng kho
dữ liệu
- Nghiên cứu, tìm hiểu hệ quản trị cơ sở dữ liệu PostgreSQL, xây dựng kho
dữ liệu thông tin sinh viên trên PostgreSQL
- Tích hợp, lưu trữ dữ liệu cồng thông tin Liferay vào cùng kho dữ liệu đã xây dựng trên PostgreSQL
Trang 10Kho dữ liệu thường rất lớn, nó được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những ứng dụng của các công nghệ hiện đại và kế thừa được từ những hệ thống đã
có sẵn từ trước
b Mục đích và yêu cầu
Mục đích của kho dữ liệu nhằm đáp ứng mọi yêu cầu về thông tin của NSD
Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của mình Giúp cho tổ chức, xác định, quản lý và điều hành các dự án, các nghiệp vụ một cách hiệu quả và chính xác Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau
Yêu cầu đối với kho dữ liệu: Nâng cao chất lượng dữ liệu bằng các phương pháp làm sạch và tinh lọc dữ liệu theo những hướng chủ đề nhất định Tổng hợp và kết nối dữ liệu Đồng bộ hoá các nguồn dữ liệu với DW Phân định và đồng nhất các hệ quản trị cơ sở dữ liệu tác nghiệp như là các công cụ chuẩn để phục vụ cho
DW 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ợ quyết định, các hệ thống thông tin tác nghiệp hoặc hỗ trợ cho các truy vấn đặc biệt
c Đặc điểm của dữ liệu trong kho dữ liệu
- Tính tích hợp (Integration): Kho dữ liệu thường được xây dựng bằng cách tổng hợp dữ liệu từ nhiều nguồn khác nhau, ví dụ các cơ sở dữ liệu, những bản ghi giao tác trực tuyến hoặc thậm chí là từ những file dữ liệu độc lập Những dữ liệu
Trang 11dữ liệu không cần thiết trong quá trình ra quyết định
- Dữ liệu có tính lịch sử: Do có tính ổn định, kho dữ liệu thường lưu trữ dữ liệu của hệ thống trong khoảng thời gian dài, cung cấp đủ số liệu cho các mô hình nghiệp vụ, dự báo, khảo sát những chỉ tiêu cần quan tâm
- Dữ liệu có tính ổn định (nonvolatility): Dữ liệu trong kho dữ liệu thường được lưu trữ lâu dài, ít bị sửa đổi, chủ yếu dùng cho việc truy xuất thông tin nên có
độ ổn định cao Hai thao tác chủ yếu tác động tới kho dữ liệu là : nhập dữ liệu vào
và truy xuất
d Cách lưu trữ dữ liệu
Có hai cách lưu trữ dữ liệu theo đa chiều: Mô hình dữ liệu đa chiều MDD (MultiDimensional Database) sử dụng cấu trúc khối Cube để lưu trữ với kỹ thuật khai thác tương ứng là MOLAP Lưu trữ theo mô hình dữ liệu quan hệ đa chiều sử dụng sơ đồ hình sao
1.1.2 Các kiểu dữ liệu
a Dữ liệu nghiệp vụ (Business data - BD)
Dữ liệu nghiệp vụ là dữ liệu dùng để vận hành và quản lý một doanh nghiệp hoặc một tổ chức Nó phản ánh những hoạt động của doanh nghiệp và những đối tượng trong thế giới thực như là khách hàng, địa điểm, sản phẩm Nó được tạo ra
và sử dụng bởi các hệ thống xử lý giao tác cũng như các hệ thống hỗ trợ quyết định (DSS)
b Siêu dữ liệu (Metadata)
Trang 1212
Siêu dữ liệu là dữ liệu về dữ liệu được sử dụng trong DW, trả lời các câu hỏi
ai, cái gì, khi nào, tại sao, như thế nào về dữ liệu Các thuộc tính này được sử dụng cho việc xây dựng, duy trì, quản lí và sử dụng kho dữ liệu Siêu dữ liệu là một phần quan trọng nhất của kho dữ liệu
1.1.3 Kiến trúc kho dữ liệu
a Kiến trúc dữ liệu nghiệp vụ
Dữ liệu nghiệp vụ bao gồm tập tất cả các dữ liệu được sử dụng trong các quá trình thực thi và quản lý công việc, thường gọi là dữ liệu xí nghiệp (enterprise data)
Có ba mô hình kiến trúc dữ liệu: Kiến trúc dữ liệu một tầng, kiến trúc dữ liệu hai tầng, kiến trúc dữ liệu ba tầng
* Kiến trúc dữ liệu một tầng (Single-layer Architecture): Nguyên lý chính của kiến trúc này là mỗi phần tử dữ liệu một lần lưu trữ và chỉ một lần
* Kiến trúc dữ liệu hai tầng (Two-layer Architecture)
Một điểm cải tiến của kiến trúc nêu trên là phân tách vùng dữ liệu sử dụng khác nhau của hai loại hệ thống: hệ thống thao tác và hệ thống xử lý thông tin
Tầng dưới, gồm những dữ liệu được sử dụng cho các ứng dụng tác nghiệp, thực hiện được cả đọc và ghi, đó là những dữ liệu thời gian thực Tầng trên bao gồm những dữ liệu dẫn xuất giành cho các ứng dụng tìm kiếm thông tin Dữ liệu dẫn xuất có thể được xác định từ dữ liệu thời gian thực thông qua các quá trình tính toán, hoặc cũng có thể là bản sao của dữ liệu thời gian thực
* Kiến trúc dữ liệu ba tầng (Three-layer Architecture)
Vấn đề cốt lõi của kiến trúc này là dữ liệu thời gian thực chuyển sang dữ liệu dẫn xuất phải thực hiện qua hai bước
- Hoà hợp (Reconcile) các dữ liệu từ tập dữ liệu thời gian thực, tầng trung gian Đây chính là một cách thực hiện để chuẩn hoá CSDL Mục đích chính là thu thập nhiều dữ liệu khác nhau từ các hệ thống thông tin tác nghiệp phân tán để tổ hợp lại vào một bức tranh dữ liệu chung cho mỗi xí nghiệp
Trang 1313
Đặc trưng của kiến trúc ba tầng: Hỗ trợ cho những yêu cầu cần những thông tin mới từ dữ liệu Giảm thiểu được số lượng dữ liệu thông tin quản lý Giảm thiểu
sự lặp lại của dữ liệu
- Dữ liệu được hoà hợp cung cấp dữ liệu dẫn xuất theo yêu cầu NSD
Hình 1 1 Kiến trúc dữ liệu ba tầng
b Kiến trúc siêu dữ liệu
Việc phân loại Metadata thành một số loại cũng sẽ dẫn đến việc phải xác định kiến trúc dữ liệu thích hợp cho Metadata Hiện nay, kiến trúc thường được sử dụng cho Metadata gần với kiến trúc ba tầng
Cấu trúc của Metadata gồm ba phần có quan hệ tương tác với nhau như sau:
Hình 1 2 Kiến trúc dữ liệu của Metadata
* Siêu dữ liệu thời gian xây dựng (Build-time Metadata)
Trang 1414
Những công cụ hỗ trợ để xác định và biểu diễn những thông tin nghiệp vụ một cách có nghĩa thường được sử dụng để tạo lập và quản lý các siêu dữ liệu thời gian xây dựng Đó chính là các công cụ mô hình hoá dữ liệu Siêu dữ liệu thời gian xây dựng được thiết lập thông qua cấu trúc, cách lưu trữ và thời gian thu thập được
dữ liệu bằng các CASE
* Siêu dữ liệu điều khiển (Control Metadata)
Siêu dữ liệu điều khiển mô tả dữ liệu lưu hành và dữ liệu tiện dụng của dữ liệu nghiệp vụ Dữ liệu lưu hành là dữ liệu được các chương trình ứng dụng hoặc các công cụ tạo ra và cập nhật từ dữ liệu nghiệp vụ Siêu dữ liệu lưu hành (Currency Metadata) tồn tại ở nhiều mức chi tiết khác nhau
* Siêu dữ liệu sử dụng (Usage Metadata)
Tầm quan trọng của siêu dữ liệu sử dụng chỉ được phát hiện với sự xuất hiện của DW và khối lượng lớn dữ liệu được tạo ra để NSD khai thác
c Kiến trúc logic và chức năng của kho dữ liệu
* Kiến trúc logic
Dữ liệu nghiệp vụ bao gồm ba loại: dữ liệu thời gian thực, dữ liệu tương hợp
và dữ liệu dẫn xuất Mỗi loại dữ liệu này có thể ở các tầng khác nhau và mỗi tầng có cấu trúc vật lý riêng Kiến trúc dữ liệu logic cho DW có thể xây dựng như sau:
Hình 1 3 Kiến trúc ba tầng của DW
Trang 1515
- Hệ thống thao tác (Operational System): Hệ thống thao tác là chương trình phần mềm ứng dụng để thực hiện các nghiệp vụ và các dữ liệu được lưu ở hệ thống tệp hay CSDL Hệ thống thao tác bao gồm các nguồn dữ liệu của DW Dữ liệu được tạo ra trong các hệ thống xử lý giao tác hàng ngày của xí nghiệp
- Kho dữ liệu nghiệp vụ (Business Data Warehouse - BDW): Kho dữ liệu nghiệp vụ BDW là dạng cài đặt vật lý những dữ liệu tổng hợp được thiết kế để điều khiển và cung cấp dữ liệu đơn giản, nhất quán cho NSD đầu cuối
- Kho thông tin nghiệp vụ (Business Information Warehouse - BIW): Đây là
hệ thống thông tin được sử dụng để làm báo cáo, phân tích, hay dự đoán về nghiệp
vụ BIW được xây dựng hoặc trực tiếp từ BDW hoặc gián tiếp từ những BDW khác
* Các chức năng của kho dữ liệu
- Truy cập dữ liệu (Data Access) Khối chức năng này bao gồm hai khối con Khối con truy nhập: Truy nhập trực tiếp vào Data Warehouse Truy nhập vào các Datamart Gia công lại và biến đổi dữ liệu thành các loại dữ liệu có cấu trúc phức tạp hơn Khối con phân tích, tạo lập báo cáo: Tạo ra các công cụ chuẩn để tạo báo cáo, phân tích, mô hình hoá tác nghiệp Tạo ra các phần mềm trợ giúp ra quyết định, các phần mềm khai thác dữ liệu
- Quản trị các quá trình (Process Management) Các thành phần của DW có thể hoạt động trên những môi trường khác nhau Các quá trình thiết lập BDW, BIW, DWC có thể một phần đọc lập, nhưng phần lớn là có sự phụ thuộc vào nhau
- Chuyển tải dữ liệu (Data transfer) Chức năng này đảm nhận việc chuyển
dữ liệu vật lý vào bên trong hệ thống DW
- Đảm bảo an ninh dữ liệu (Security) Trong DW chứa các tập dữ liệu về một
tổ chức, xi nghiệp, do vậy luôn có nhu cầu phải đảm bảo quản lý được quyền truy nhập và sử dụng về những dữ liệu đó Đây là vấn đề quan trọng
- Quản trị CSDL Nó bao gồm hai chức năng chính quản trị dữ liệu và quản trị siêu dữ liệu
Trang 16+ Quản trị siêu dữ liệu: Các chức năng chính của lớp này là sao chép, tạo mới, lưu trữ, phục hồi, làm sạch và cập nhật các siêu dữ liệu
Hình 1 4 Toàn bộ kiến trúc logic và các chức năng của DW
Từ những kiến trúc tổng thể chúng ta có thể đưa ra cách nhìn tổng quan về kiến trúc kho dữ liệu, trong đó thể hiện được cách nạp dữ liệu về kho, cách truy nhập, xử lý thông tin,
Trang 1717
Hình 1 5 Tổng quan về kiến trúc kho dữ liệu
1.2 XÂY DỰNG KHO DỮ LIỆU
Hệ thống kho dữ liệu DW cũng giống như các hệ thống phần mềm khác, có chu trình phát triển được cải tiến và hoàn thiện liên tục Để phát triển được kho dữ liệu DW, chúng ta phải thực hiện lần lượt các bước: lập kế hoạch, xác định các yêu cầu, phân tích thành phần, thiết kế, cài đặt, trắc nghiệm và bảo trì hệ thống kho dữ liệu
1.2.1 Lập kế hoạch
Khi đã thống nhất xây dựng dự án phát triển kho dữ liệu phục vụ cho các hoạt động của một cơ quan thì vấn đề trước tiên cần phải xây dựng kế hoạch thực hiện bao gồm các bước như sau:
Trang 1818
a Xác định chiến lược cài đặt: Đây là bước rất quan trọng, nó quyết định về
cơ cấu tổ chức của kho dữ liệu Có ba cách tiếp cận chính: Thực hiện trên xuống (Top-down), thực hiện dưới lên (Bottom up), tổ hợp của hai cách tiếp cận trên
b Lựa chọn phương pháp và mô hình phát triển kho dữ liệu: Để phát triển hệ thống kho dữ liệu có hai phương pháp cơ bản: Phương pháp hướng chức năng: tập trung vào chức năng là chính, dữ liệu là phụ Phương pháp hướng đối tượng: xem
hệ thống là tập các đối tượng và do vậy tập trung chính vào dữ liệu
c Xác định mục tiêu của kho dữ liệu: Việc xác định kho dữ liệu là rất phức tạp vì kho dữ liệu chính là một hệ thống các CSDL lớn, phức tạp với khối lượng dữ liệu khổng lồ và thường là không thuần nhất, bao quát nhiều lĩnh vực khác nhau
d Xác định phạm vi của hệ thống: Trong hầu hết các tổ chức, lý do cần phát triển kho dữ liệu là nhằm đáp ứng nhu cầu quản lý, khai thác thông tin để thực hiện công việc hay trợ giúp quyết định trong quản lý, điều hành công việc của một nhóm người, một bộ phận hay cả tổ chức đó
e Lựa chọn kiến trúc: Có thể xây dựng kho dữ liệu theo những kiến trúc sau:
- Chỉ xây dựng quầy dữ liệu (Data Mart) Kiến trúc này phù hợp cho các Phòng, Ban trong tổ chức có nhu cầu riêng
- Chỉ xây dựng kho dữ liệu Trong kiến trúc này, các phép xử lý đối với các nguồn dữ liệu như: làm sạch, tích hợp, tổng hợp, sẽ được sử dụng chung cho mọi ứng dụng
- Xây dựng kho dữ liệu và cả quầy dữ liệu Mỗi bộ phận có tiểu kho, được đặt trong một cơ cấu thống nhất được gọi là tổng kho, hay kho dữ liệu liên hợp Đây chính là kiến trúc ba tầng đã phân tích
- Kiến trúc Client/Server gồm hai lớp chình: lớp Server và lớp Client Server thực hiện các chương trình trong kho, quầy dữ liệu và lưu trữ dữ liệu vào kho Client thực hiện các chương trình khai thác, lập báo cáo, lưu trữ dữ liệu cục bộ,
f Xây dựng chương trình và dự kiến ngân sách
1.2.2 Xác định các yêu cầu của hệ thống
a Yêu cầu của chủ sở hữu:
Trang 1919
Để xác định được các yêu cầu của người quản lý và chủ hệ thống thì phải trả lời được những câu hỏi như: Tại sao cần xây dựng kho dữ liệu và Data Mart? Những vấn đề nào cần tập trung giải quyết? Mục đích của tổ chức, doanh nghiệp là gì? Ai là người đầu tư, tài trợ và là khách hàng? Kinh phí cung cấp là bao nhiêu? Khi nào cần phải hoàn thành hệ thống? Những khả năng đầu tư về máy tính, các thiết bị ngoại vi, thiết bị phụ trợ, kết nối mạng và đường truyền dữ liệu, Những công nghệ hiện đại có thể áp dụng? Những may rủi có thể xảy ra?
b Yêu cầu của kiến trúc sư:
Kiến trúc hệ thống là rất quan trọng, nó quyết định nhiều tính chất và các khả năng của kho dữ liệu Kiến trúc là cơ sở để thiết lập các thành phần của một kho dữ liệu nhằm đáp ứng các nhu cầu hiện tại và tương lai của một tổ chức Khi xây dựng kho dữ liệu cần lưu ý tới ba loại kiến trúc sau:
- Kiến trúc dữ liệu (Data Architecture): Kiến trúc này mô tả các mục dữ liệu
và mối quan hệ của chúng trong hệ thống Dữ liệu là cơ sở để chúng ta tạo lập, xử lý
và phát triển ứng dụng trên chúng
+ Kiến trúc chương trình ứng dụng: Hệ thống được xem như là tập các chương trình ứng dụng Để phục vụ tốt cho những chương trình đó, kho dữ liệu có thể được xem như là danh mục catalog chứa các chương trình thực hiện theo các chức năng riêng và mối quan hệ của chúng trong hệ thống Mỗi chương trình có thể tạo lập, đọc, cập nhật, ghi, hoặc loại bỏ một số mục dữ liệu trong các quầy dữ liệu của mình
+ Kiến trúc công nghệ: Nó mô tả các thành phần công nghệ: máy chủ, các trạm làm việc, giao diện đồ hoạ GUI, hệ quản trị CSDL DBMS, từ điển dữ liệu,
c Yêu cầu của người phát triển hệ thống:
Những người xây dựng hệ thống thường quan tâm đến những vấn đề cụ thể của kho dữ liệu Họ có những yêu cầu cơ bản như:
- Yêu cầu về công nghệ
- Yêu cầu về triển khai
- Các yêu cầu về sản phẩm
Trang 2020
- Các yêu cầu về người tham gia dự án
d Yêu cầu của người sử dụng đầu cuối:
Người sử dụng đầu cuối của kho dữ liệu, trước hết là các doanh nghiệp, các
kỹ thuật viên, các nhà quản lý, các thương gia, các chuyên viên của những lĩnh vực liên quan
- Yêu cầu về siêu dữ liệu: Metrics, thông tin về bí danh (Alias Information), thông tin về mô hình (Data Model), an ninh dữ liệu (Security), lịch biểu thời gian nạp dữ liệu (Loading Schedule), Mô tả về kho dữ liệu (Data warehouse Description),
- Yêu cầu về truy vấn kho dữ liệu
1.2.3 Các thành phần của kho dữ liệu
a Các công cụ thu nạp, làm sạch và chuyển đổi dữ liệu:
Công việc quan trọng của quá trình xây dựng kho dữ liệu là lựa chọn dữ liệu
từ ODS để đưa vào kho, đặt chúng các định dạng thích hợp
b Các công cụ truy cập:
Truy cập dữ liệu là một chức năng của kho dữ liệu để NSD có được những
dữ liệu, thông tin theo yêu cầu
1.2.4 Mô hình dữ liệu
Xây dựng mô hình là nền tảng cho việc cài đặt Sự hiểu biết về hệ thống nguồn là rất cần thiết để phát triển tầm nhìn về phạm vi hoạt động và mô hình trong tương lai Mô hình dữ liệu của DW có thể thiết lập theo: Lược đồ hình sao (Star Schema), lược đồ bông tuyết (Snowflake), mô hình đa chiều (Mutiple Dimension)
a Lược đồ hình sao
Lược đồ hình sao được đưa ra bởi Dr Ralph Kimball Lược đồ hình sao cho phép một hệ thống đối tượng có thể kết nối với nhiều đối tượng khác Mô hình này thể hiện cách nhìn của NSD về nhiều vấn đề trong tác nghiệp Trong lược đồ hình sao, dữ liệu được xác định và phân loại theo 2 kiểu:
Trang 2121
- Các sự kiện được tổ chức thành bảng Fact Bảng Fact chứa các thông tin cơ
sở ở mức giao tác ở trong nghiệp vụ mà các ứng dụng cần thiết Các bảng Fact thường rất lớn, chứa hàng triệu dòng mà phần lớn là số
- Các chiều của dữ liệu được tổ chức thành các bảng chiều Bảng chiều thường là tương đối nhỏ so với các bảng Fact, chứa các thông tin mô tả Đó là các
bộ lọc hoặc các ràng buộc của những sự kiện ở bảng Fact Bảng chiều chứa các dữ liệu cần thiết cho việc thực hiện các giao tác nghiệp vụ theo một chiều, hay phạm vi nào đó
b Lược đồ bông tuyết - Snowflake
Lược đồ bông tuyết là một sự mở rộng của sơ đồ hình sao tại đó mỗi cánh sao không phải là một bảng chiều mà là nhiều bảng
Trong dạng sơ đồ này, mỗi bảng theo chiều của sơ đồ hình sao được chuẩn hóa hơn Sơ đồ bông tuyết cải thiện năng suất truy vấn, tối thiểu không gian đĩa cần thiết để lưu trữ dữ liệu và cải thiện năng suất nhờ việc chỉ phải kết hợp những bảng
có kích thước nhỏ hơn thay vì phải kết hợp những bảng có kích thước lớn lại không chuẩn hóa Nó cũng làm tăng tính linh hoạt của các ứng dụng bởi sự chuẩn hóa và ít mang bản chất theo chiều hơn Nó làm tăng số lượng các bảng và làm tăng tính phúc tạp của một vài truy vấn cần có sự tham chiếu tới nhiều bảng
Hình 1 6 Lược đồ bông tuyết
Trang 2222
c Lược đồ kết hợp
Là kết hợp giữa sơ đồ hình sao dựa trên bảng Fact và những bảng chiều không chuẩn hóa theo các chuẩn 1, 2, 3 và sơ đồ hình tuyết rơi trong đó tất cả các bảng chiều đều đã được chuẩn hóa Trong sơ đồ loại này chỉ những bảng chiều lớn
là được chuẩn hóa còn những bảng khác chứa một khối lượng lớn các cột dữ liệu chưa được chuẩn hóa
d Mô hình dữ liệu đa chiều
Một cách để quan sát một mô hình dữ liệu nhiều chiều là nhìn nó như một hình khối Hình sau thể hiện câu truy vấn theo bốn chiều: sản phẩm, thị trường, thời gian và đơn vị sản phẩm bán được
Hình 1 7 Mô hình dữ liệu đa chiều
Bảng nằm bên trái chứa dữ liệu bán hàng chi tiết theo sản phẩm, thị trường
và thời gian Hình khối nằm bên phải mô tả số lượng hàng bán được theo các chiều- theo loại sản phẩm, theo thị trường và theo thời gian-với các biến đơn vị được tổ chức như là các tế bào trong các dãy Hình khối này có thể được mở rộng bao gồm thêm một dãy khác-theo một chiều khác nữa là giá tiền-liên quan tới tất cả hoặc chỉ một vài chiều (giá tiền của một sản phẩm có thể hoặc không thay đổi theo thời gian hoặc không thay đổi từ thành phố này tới thành phố khác) Khối này được hỗ trợ
Trang 23dữ liệu ở mức cao và dữ liệu tổng Vì vậy, giải pháp để xây dựng một cơ sở dữ liệu
đa chiều có hiệu quả là phải kết hợp từ trước tất cả các tổng con logic và các tổng theo tất cả các chiều Sự kết hợp trước này đặc biệt có giá trị khi các chiều mang tính phân cấp
Một cách để giảm kích thước của khối là quản lí một lượng dữ liệu thưa hơn một cách thích hợp Một loại dữ liệu thưa khác được tạo ra khi có nhiều ô chứa dữ liệu bị lặp lại Khả năng của cơ sở dữ liệu đa chiều bỏ qua các ô không có dữ liệu hoặc dữ liệu bị lặp lại có thể giảm được khá nhiều kích thước của khối và số lượng các xử lí
1.2.5 Tạo lập các kho dữ liệu
a Phân tích các nguồn dữ liệu
Các nguồn dữ liệu cần được đánh giá và các định nghĩa dựa vào Metadata để nhắm tới các vấn đề sau:
- Xác định các nguồn, các cấu trúc file, các platform khác nhau
- Hiểu được dữ liệu nào có trong các hệ thống nguồn đang tồn tại, các định nghĩa về nghiệp vụ của dữ liệu, và bất kì các luật nghiệp vụ nào cho dữ liệu
- Phát hiện sự giao nhau về thông tin của các hệ thống khác nhau
- Quyết định dữ liệu tốt nhất trong các hệ thống, có thể cùng một dữ liệu của nhiều hơn một hệ thống Mỗi hệ thống cần được đánh giá để quyết định hệ thống nào có dữ liệu rõ ràng và chính xác hơn
b Thu thập và tạo lập dữ liệu
Quá trình này thu thập và thiết lập các kho dữ liệu gồm những bước sau:
Trang 2424
Hình 1 8 Quá trình tạo lập dữ liệu của DW
- Trích chọn dữ liệu (Etract): Trích chọn dữ liệu là một phép xử lí để lấy các
dữ liệu đã được xác định trước ra khỏi các hệ thống tác nghiệp và các nguồn dữ liệu bên ngoài
- Lọc (Filter), làm sạch dữ liệu (Cleaning): Sau khi dữ liệu được trích chọn,
nó được tinh chế thông qua các công việc lọc, làm sạch để thu dữ liệu dữ liệu không
bị thay đổi và đúng với các dữ liệu nghiệp vụ
- Thẩm định (Validate) và chuyển đổi (Transforming) dữ liệu: Tiếp theo, dữ liệu phải được kiểm tra, thẩm định để đảm chất lượng nhằm đáp ứng các yêu cầu phân tích phục vụ trợ giúp quyết định Mục đích của việc chuyển đổi và tích hợp là phải chuyển dữ liệu thành thông tin có thể hiểu được và sử dụng được đối với người
sử dụng Việc chuyển dữ liệu từ dạng này sang dạng khác có thể gồm 1 trong các chức năng như: Chuyển trực tiếp dữ liệu từ trường này sang trường khác Xây dựng lại và định dạng lại các trường dữ liệu, có thể là chỉ chuyển một phần hoặc phải gộp
cả các trường lại với nhau để tạo một trường mới Chuyển đổi từ trường chỉ có mã sang trường phải mô tả đầy đủ Từ nhiều trường nguồn để sinh ra trường đích khác
- Tích hợp (Integrated), ghép (Merge) và gộp (Aggregate) dữ liệu: Khi có nhiều nguồn dữ liệu thì chúng cần thiết phải được tích hợp lại để hợp nhất và tổ chức lại dữ liệu cho phù hợp với kiến trúc và nhu cầu sử dụng Quá trình tích hợp
có thể là sự phối hợp các thao tác sau đây: sắp xếp và hợp nhất, chia cắt, xác định
và giải quyết các vi phạm đến tính nguyên vẹn của dữ liệu, sinh ra các khoá tổng hợp (synthetic key)
- Nạp dữ liệu vào kho: Việc tải dữ liệu vào kho dữ liệu có thể thực hiện: + Làm tươi lại dữ liệu (Refresh): không có dữ liệu cũ trong bảng
Trang 2525
+ Bổ sung (Incremental): tạo thêm các dữ liệu snapshort vào bảng dữ liệu Tạo hàng mới duy nhất mới bằng cách thêm giá trị thời gian vào khoá
+ Cập nhật trong vùng: giữ nguyên cấu trúc khoá ở trong hàng trừ các hàng
đã bị hết thời hạn hoặc chỉ cập nhật cột không phải là khoá
+ Đọc trước và tải dữ liệu (Preload & Load): Quá trình đọc trước là việc tổ chức và quản lý các file chuẩn bị sẵn cho các tiện ích của DBMS đích Quá trình tải
dữ liệu liên quan đến vấn đề tích hợp vật lý của các dữ liệu mới hoặc dữ liệu đã bị thay đổi vào DBMS đích, có thể bao gồm các thao tác như cập nhật và đóng gói dữ liệu
+ Sửa chữa và đánh giá (Repair & Evaluate): Trong quá trình làm sạch, chuyển đổi và tích hợp dữ liệu có thể xảy ra lỗi, do vậy trong môi trường chứa dữ liệu nguồn phải có chức năng làm nhiệm vụ sửa lỗi này Quá trình tiếp theo có thể phải làm bằng tay, khi đó dữ liệu có thể được sửa lỗi trong môi trường nguồn hoặc bằng các thuật toán bảo vệ được gắn sẵn trong chương trình nguồn tuỳ thuộc phương thức phát triển Chức năng còn lại là phải đánh giá được tính đúng đắn và
sự thích hợp của dữ liệu đã được đọc và được sửa lỗi
- Lưu trữ và phát tán dữ liệu (Archive and Distribute): Dữ liệu được phân bố
từ một platform nguồn tới một platform đích khác Sự phân bố này có thể xảy ra trước, sau hoặc trong khi xảy ra các quá trình làm sạch, biến đổi và tích hợp dữ liệu Quá trình này có thể bao gồm các thao tác như vận chuyển, chuyển đổi và phân phát
lí phân tích trực tuyến (OLAP); các công cụ đào xới dữ liệu
Trang 26xu hướng, hình mẫu và những kinh nghiệm quá khứ tiềm ẩn trong kho dữ liệu vì vậy rất phù hợp với mục đích phân tích dữ liệu hỗ trợ cho công việc điều hành và ra quyết định Khai phá dữ liệu là quá trình trợ giúp quyết định, trong đó chúng ta tìm được những mẫu thông tin chưa biết và bất ngờ trong từ kho dữ liệu lớn, phức hợp
Để thực hiện khai phá hiệu quả thì phải biểu diễn dữ liệu dưới dạng trực quan (Data Visualization) Khi phân tích dữ liệu người ta không những muốn dữ liệu là những con số mà còn muốn thấy hình ảnh của dữ liệu để phát hiện ra những thông tin mới, những xu hướng phát triển của đối tượng mà dữ liệu mô tả
* Các ứng dụng của khai phá dữ liệu
Các kỹ thuật khai phá dữ liệu có thể ứng dụng vào nhiều tình huống thực hiện ra quyết định đa dạng và trong nhiều phạm vi rộng của các hoạt động nghiệp
vụ
Trang 2727
- Marketing: phân tích các nhu cầu của khách hàng dựa trên các mẫu dữ liệu mua bán hàng, phân loại khách hàng, phân loại các mặt hàng trong thời gian dài để xác định chiến lược kinh doanh, xây dựng các kế hoạch sản xuất theo các thời kỳ
- Tài chính, ngân hàng, thị trường chứng khoán: phân tích các khả năng vay, trả nợ của khác hàng, đánh tính hiệu quả của các hoạt động kinh doanh tiền tệ của ngân hàng, phân tích thị trường đầu tư chứng khoán, các hợp đồng, công trái
- Sản xuất, chế tạo, công nghệ: thực hiện phân tích dữ liệu về sản xuất, chế tạo để đề xuất tối ưu hoá về tài nguyên, vật liệu trong các qui trình sản xuất mới
- Chăm sóc sức khoẻ cộng đồng: phân tích các kết quả phòng chống và điều trị các loại bệnh, công tác chăm sóc và bảo vệ sức khoẻ của cộng đồng
Hình 1 10 Một số lĩnh vực ứng dụng DW và qui trình khai thác thông tin
Quá trình sử dụng dữ liệu trong kho được mô tả qua những bước như sau:
Trang 2828
Hình 1 11 Các bước thực hiện để sử dụng dữ liệu trong kho
* Xử lý phân tích trực tuyến - OLAP
Xử lý phân tích trực tuyến (On-Line Analysis Processing - OLAP) là công cụ phân tích trực tuyến Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ DW hoặc
DM sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong một kho dữ liệu đa chiều Các công cụ OLAP lấy dữ liệu trong kho dữ liệu để thực hiện các công việc phân tích đặc biệt theo nhiều chiều và phức tạp hỗ trợ cho việc ra quyết định Sơ đồ hình sao được dùng để thiết kế mô hình dữ liệu trong DW hoặc DM là
mô hình dữ liệu quan hệ nhưng lại mang những thuộc tính nhiều chiều rất có nhiều thuận lợi cho việc cài đặt OLAP
OLAP là một chức năng thông minh trong nghiệp vụ, làm cho các thông tin trong xí nghiệp có thể hiểu được OLAP khiến cho người sử dụng đầu cuối có thể hiểu được bản chất bên trong thông qua việc truy nhập nhanh, tương tác tới các khung nhìn nhiều dạng của thông tin được chuyển đổi từ các dữ liệu thô để phản ánh sự đa dạng nhiều chiều thực tế của công ty
Trang 2929
c Quản trị kho dữ liệu
- Quản lí về an toàn, bảo mật và độ ưu tiên
- Quản lí sự cập nhật từ nhiều nguồn khác nhau
- Kiểm tra chất lượng dữ liệu
- Quản lí và cập nhật Metadata
- Kiểm toán và lập báo cáo về việc sử dụng và trạng thái của DW (quản lí thời gian sử dụng và việc sử dụng các tài nguyên, cung cấp các thông tin về giá tiền phải trả )
- Làm sạch dữ liệu
- Tái tạo dữ liệu, chia nhỏ dữ liệu thành những tập con và phân tán dữ liệu
- Lưu trữ các bản sao và phục hồi dữ liệu
- Quản lí các kho DW
d Hệ thống phân phối thông tin
Hệ thống này được sử dụng để thực hiện các xử lí dành cho những người đăng kí dùng thông tin trong DW và phân phối chúng tới nhiều địa chỉ khác nhau theo thuật toán phụ thuộc vào lịch của người sử dụng cụ thể
1.3.2 Xử lý phân tích trực tuyến OLAP
Trang 3030
những mô hình chức năng cho việc dự báo, phân tích các xu hướng và phân tích thống kê Lấy và hiển thị dữ liệu theo những bảng 2 chiều hay 3 chiều, theo biểu đồ hay đồ thị, dễ dàng xoay đổi các trục cho nhau
b Kiến trúc OLAP
OLAP là một khả năng báo cáo và phân tích dữ liệu Đây là một thành phần quan trọng trong khối truy nhập và sử dụng trong kiến trúc một DW Thành phần OLAP thể hiện khả năng báo cáo và phân tích của các dịch vụ OLAP cần thiết khi chuyển đổi sang cấu trúc đa chiều cũng như khi truy nhập tới kho dữ liệu hay DM Kiến trúc tham chiếu của DW đưa ra những lựa chọn sau đây:
- Truy nhập dữ liệu trực tiếp từ DW hoặc DM sau đó biến nó thành cấu trúc
đa chiều và lưu trữ trên một kho dữ liệu địa phương tại một máy trạm
- Truy nhập trực tiếp dữ liệu từ DW rồi chuyển đổi chúng thành dạng cấu trúc đa chiều và lưu trữ nó tại DM nhưng trong một kho dữ liệu đa chiều, sẵn sàng phục vụ cho việc phân tích và lấy dữ liệu ra tại máy trạm
- Truy nhập dữ liệu trực tiếp từ DW hoặc DM sau đó biến chúng thành một khung nhìn đa chiều và thể hiện chúng như một cấu trúc đa chiều đối với người sử dụng cho việc phân tích và lập báo cáo tại máy trạm
* Kiến trúc Logic:
Bao gồm 2 phần:
- Khung nhìn của OLAP: là sự biểu thị logic và đa chiều của dữ liệu trong
DW hoặc DM đối với người sử dụng, không liên quan tới việc dữ liệu được lưu trữ như thế nào và ở đâu
- Kĩ thuật lưu trữ dữ liệu: là cách lựa chọn lưu trữ dữ liệu như thế nào và lưu trữ ở đâu Có 2 cách thông dụng nhất là kho dữ liệu đa chiều và kho dữ liệu quan hệ (CSDL quan hệ)
* Kiến trúc chức năng:
Bao gồm 3 thành phần: các dịch vụ lưu trữ dữ liệu, dịch vụ OLAP, và các dịch vụ biểu thị đối với người sử dụng Như vậy kiến trúc chức năng của OLAP là
Trang 31+ Loại 1: Kho dữ liệu đa chiều được lưu trữ trên máy trạm Client
+ Loại 2: Kho dữ liệu đa chiều và các dịch vụ của OLAP được kết hợp với nhau
- Kho dữ liệu quan hệ: được lưu trữ trên Server chứa kho dữ liệu DW hay
DM, OLAP Server nằm riêng và khung nhìn OLAP cũng nằm trên máy trạm riêng
rẽ
Hình 1 12 OLAP trong kiến trúc của kho dữ liệu
c Các nguyên tắc của OLAP
Trang 32- Sự trong suốt (Transparency): Vị trí của công cụ phân tích cần phải trong suốt với người sử dụng OLAP nên tồn tại trong một kiến trúc hệ thống mở, cho phép các công cụ phân tích có thể được nhúng vào bất kì nơi nào mà người sử dụng mong muốn mà không có một sự tác động ngược lại nào với các chức năng của công cụ trên máy chủ
- Khả năng truy nhập được (Accessibility): Công cụ OLAP phải ánh xạ được
sơ đồ logic của chính nó tới kho dữ liệu vật lí hỗn tạp, truy nhập tới dữ liệu và thực hiện mọi chuyển đổi cần thiết để đưa ra một khung nhìn đơn giản, mạch lạc và đồng nhất cho người sử dụng Dữ liệu vật lí của hệ thống thuộc kiểu này trở nên trong suốt với người sử dụng và chỉ là mối quan tâm của công cụ
- Thực hiện công việc tạo báo cáo nhất quán: Khi số lượng các chiều tăng thì năng suất báo lập báo cáo giảm đi Tuy nhiên, khi số chiều của kho dữ liệu thay đổi cũng không ảnh hưởng đến việc lập báo cáo
- Kiến trúc khách-chủ (Client/Server): Thành phần Server của các công cụ OLAP cần phải đủ thông minh đến mức mà nhiều client có thể được truy nhập tới một cách dễ dàng và có thể lập trình tích hợp Server thông minh phải có đủ khả năng để ánh xạ và xây dựng dữ liệu từ những cơ sở dữ liệu vật lí và logic khác hẳn nhau Điều đó rất cần thiết để đảm bảo tính trong suốt và xây dựng một lược đồ mức khái niệm, logic, vật lí chung
- Khả năng thứ nguyên hoá tổng quát (Generic Dimensionality): Mỗi chiều của dữ liệu phải cân bằng giữa cấu trúc và khả năng thực hiện của nó Thường chỉ tồn tại một cấu trúc chung cho tất cả các chiều Mọi chức năng được áp dụng cho một chiều cũng có thể áp dụng cho các chiều khác
Trang 3333
- Làm chủ ma trận động và thưa (Sparse Matrix): Cấu trúc vật lí của server OLAP cần phải biến đổi cho phù hợp với mô hình phân tích cụ thể được tạo ra và tải vào để việc quản lí các ma trận thưa là tối ưu nhất Khi làm việc với các ma trận thưa thì Server OLAP có khả năng suy luận ra và tìm ra cách lưu trữ dữ liệu hiệu quả nhất
- Hỗ trợ nhiều người sử dụng (Multi-user support): Những công cụ của OLAP phải cung cấp truy nhập đồng thời, tính toàn vẹn và an toàn để hỗ trợ cho những người sử dụng làm việc đồng thời với cùng một mô hình phân tích hoặc tạo
ra những mô hình khác nhau từ cùng một dữ liệu
- Những phép toán chéo giữa các chiều không hạn chế (Unrestricted Cross Diimension Operation): Trong phân tích dữ liệu đa chiều, tất cả các chiều được tạo
ra và có vai trò như nhau Các công cụ OLAP quản lí những tính toán liên quan tới các chiều và không yêu cầu người sử dụng phải định nghĩa những phép toán đó Việc tính toán đòi hỏi phải định nghĩa các công thức tùy thuộc vào một ngôn ngữ, ngôn ngữ này phải cho phép tính và thao tác với một số lượng chiều bất kì, mà không bị hạn chế bởi mối quan hệ giữa các phần tử, không liên quan tới số thuộc tính chung của dữ liệu của mỗi phần tử
- Thao tác tập trung vào dữ liệu trực quan (Intuitive Data Manipulation): Những thao tác như định hướng lại đường dẫn xây dựng dữ liệu hoặc khoan sâu xuống theo các chiều hoặc các hàng được thực hiện bằng hành động trực tiếp trên những phần tử của mô hình phân tích mà không đòi hỏi phải sử dụng những menu hay ngắt cho giao diện với người sử dụng Những chiều được định nghĩa trong mô hình phân tích chứa tất cả thông tin mà người sử dụng cần để thực hiện những hành động cố hữu
- Tạo báo cáo linh hoạt (Flexible Reporting): Với việc sử dụng OLAP Server
và các công cụ của nó, một người sử dụng đầu cuối có thể thao tác, phân tích, đồng
bộ hoá và xem xét dữ liệu theo bất kì cách nào mà người đó mong muốn, bao gồm
cả việc tạo ra những nhóm logic hoặc bố trí những hàng, cột, phần tử cạnh những phần tử khác mà người đó mong muốn Những phương tiện tạo báo cáo cũng phải
Trang 34d Các server OLAP và các công cụ
* Đặc điểm và các chức năng:
OLAP là công nghệ xử lí phân tích trực tuyến tạo ra và đưa ra những thông tin mới từ những dữ liệu đang tồn tại thông qua những công thức tính toán và những luật chuyển đổi Các công cụ và OLAP Server thực hiện các công việc sau:
- Hỗ trợ nhiều chiều và sự phân cấp của mỗi một trong những chiều đó
- Kết hợp, tổng kết, tính toán trước và kết xuất ra những dữ liệu theo một chiều hoặc một tập các chiều đã được lựa chọn
- Áp dụng những tính toán logic, công thức và những thủ tục phân tích đối với một hoặc một tập các chiều đã được lựa chọn
- Hỗ trợ khái niệm về mô hình phân tích tập các chiều và những nguyên tố cấu thành, logic tính toán, các công thức, các thủ tục phân tích và những dữ liệu kết xuất, tổng kết, kết hợp
- Cung cấp một thư viện chức năng
- Cung cấp khả năng tính toán và so sánh phân tích mạnh
- Thực hiện những tính toán chéo giữa các chiều
- Cung cấp những dịch vụ thông minh về thời gian
- Chuyển đổi một chiều thành một chiều khác, cụ thể rất có ích sau khi hoà hợp hay thu nhận
- Định hướng xem xét và phân tích sử dụng quay, xem chéo, khoan sâu, kéo lên theo một hay nhiều chiều
Trang 3535
- Những xử lí phân tích là nhu cầu rất cần thiết của ngưới sử dụng vì vậy những xử lí phân tích cần phải trơn tru không bị ngắt quãng
* Truy nhập tới những đặc tính và chức năng:
Giao diện và truy nhập tới các dịch vụ của OLAP của người sử dụng phải cung cấp nhiều lựa chọn và phải thúc đẩy sự hiểu biết của người sử dụng và khả năng nhúng tri thức vào mô hình phân tích OLAP Những khả năng lựa chọn bao gồm:
- Bảng tính: ít nhất người sử dụng phải có thể tải dữ liệu OLAP vào công cụ bảng tính của họ cho việc tạo báo cáo và phân tích thêm
- Các công cụ Client độc quyền: Tuỳ thuộc vào một ứng dụng cụ thể
- Các công cụ thuộc nhóm thứ 3: Hỗ trợ API (Application Programming Interface) của Server OLAP (nếu API là độc quyền thì cần có một cơ chế khoá cho OLAP server đó)
- Môi trường 4 GL (môi trường dùng ngôn ngữ lập trình thế hệ thứ 4): phải
hỗ trợ cho tất cả các chức năng và đặc điểm của OLAP Server
- Giao tiếp với chuẩn defacto: là những môi trường ứng dụng ví dụ như VB, Power Builder và những giao diện như OLE, DDE…
- Client định hướng khối: Những công cụ thuộc nhóm thứ 3 mà giao tiếp được với các dịch vụ của OLAP
Để tạo khả năng nhúng tri thức vào mô hình phân tích, giao diện truy nhập phải thực hiện các công việc sau:
- Truy nhập và lọc ra những tập con dữ liệu dựa vào sự phân cấp, mô hình, thời gian và những chiều được lựa chọn khác
- Truy nhập tới nhiều mức của sự phân cấp với một yêu cầu chiết lọc đơn
- Nhận thức được những dữ liệu tổng kết và kết hợp, phân chia và những tệp chỉ số để tạo ra những truy vấn đúng
- Tối ưu một cơ sở dữ liệu quan hệ cụ thể bao gồm những mở rộng SQL của
nó khi truy nhập vào một kho dữ liệu quan hệ
Trang 3636
CHƯƠNG II: PHẦN MỀM HẠ TẦNG CỒNG THÔNG
TIN LIFERAY 2.1 GIỚI THIỆU TỔNG QUAN
2.1.1 Định nghĩa
Liferay Portal là giải pháp cổng thông tin doanh nghiệp cho cả những tổ chức
cá nhân và cộng đồng Cổng thông tin doanh nghiệp là một cổng kết nối Web cho phép người sử dụng xác định được nội dung thích hợp và sử dụng những ứng dụng cần thiết trong sản xuất và kinh doanh Cổng thông tin đưa ra những lợi ích hấp dẫn cho các doanh nghiệp hiện nay như: giảm chi phí hoạt động, cải tiến sự hài lòng của khách hàng và tổ chức hợp lý quy trình kinh doanh
- Thực thi trên tất cả các ứng dụng servers & servlet, cơ sở dữ liệu và các hệ điều hành chính yếu (có hơn 700 sự phối hợp triển khai)
- Sử dụng những công nghệ Java, J2EE và Web 2.0 tiên tiến nhất
- Được phát triển theo chuẩn JSR-168
- Đã triển khai hơn 60 ứng dụng tích hợp vào cổng thông tin
- Có khả năng thiết kế, dàn trang theo sở thích từng cá nhân cho tất cả người
c Thay đổi Look-And-Feel chỉ với một thao tác nhấn chuột đơn giản:
d Chuẩn CSS: Tất cả các trang của Liferay Portal đều được thực hiện theo chuẩn CSS để đơn giản hóa việc phát triển giao diện cho đội ngũ các lập trình viên
và nhà thiết kế
e Các ứng dụng/WebOS tự do:
Trang 3737
Sau khi định hướng mở đầu tính năng sắp xếp lại vị trí các ứng dụng cổng thông tin, Liferay Portal hiện đang đưa ra một kỹ thuật sắp xếp bố cục trang web tự
do tương tự như cơ chế look-and-feel của môi trường máy bàn…
f Nâng cấp các hiệu ứng giao diện/bố cục trang Web cổng thông tin
g Hỗ trợ WebDAV
h Hệ thống quản lý quyền sử dụng chặt chẽ
dụng cổng thông tin như nút bấm, thông báo, ứng dụng và người sử dụng
i Thời gian trình bày ứng dụng
j Tính năng quy trình làm việc: Giảm thời gian cập nhật các ứng dụng, các quy trình được cập nhật dễ dàng
k Trợ giúp nhanh: Người sử dụng cổng thông tin có thể được truy cập thông tin cụ thể cho từng công cụ họ đang sử dụng bất kỳ lúc nào bằng cách nhấn biểu tượng dấu chấm hỏi
l Triển khai linh hoạt: Tính linh hoạt của Liferay Portal cho phép nó được triển khai theo nhiều cách khác nhau để đáp ứng nhu cầu NSD
Ngoài ra Liferay còn có rất nhiều các tính năng khác như: hỗ trợ đa ngôn ngữ, ứng dụng tích hợp sẵn đa dạng,…
2.1.3 Đặc trưng và công nghệ
Liferay Portal được phát triển trên các công nghệ tiên tiến, các công cụ và ngôn ngữ lập trình hiện đại, phần dưới đây tóm lược các công nghệ, ngôn ngữ lập trình và môi trường phát triển Liferay Portal trên nền kiến trúc J2EE (Java 2 platform, Enterprise Edition)
- Liferay Portal sử dụng công nghệ mới nhất của Java, J2EE, tích hợp kiến trúc hướng dịch vụ SOA (Services-Oriented Architecture) và công nghệ Web 2.0
- Hỗ trợ rộng rãi các chuẩn công nghiệp và chuẩn mở (SOAP, LDAP, XML/XSL, SSL, JSR 170, JSR168, WSRP, Webservices, …)
- Tuân theo các kiến trúc trong đặc tả J2EE Liferay Portal trở thành một hệ thống mở và mềm dẻo, có khả năng tích hợp với các hệ thống hạ tầng và các ứng dụng, các dịch vụ và các nguồn dữ liệu khác nhau Theo định hướng kiến trúc đó,
Trang 38- Ngôn ngữ Java là một ngôn ngữ cho phép xây dựng các phần mềm chỉ cần viết một lần và có thể chạy ở mọi nơi, tức là các ứng dụng được viết bằng Java chạy được trên nhiều nền hệ thống khác nhau Windows, Linux, Unix,… Do đó Liferay Portal cũng thừa hưởng được các tính năng ưu việt đó Liferay Portal có thể chạy với nhiều web server và kết nối đến nhiều hệ cơ sở dữ liệu khác nhau như Oracle, SQL Server, My SQL, DB2,… nhờ vào một lớp (một thành phần) chuyên đảm nhận kết nối cơ sở dữ liệu để đảm bảo các lớp phía trên của Liferay Portal hoạt động độc lập không phụ thuộc vào hệ quản trị cơ sở dữ liệu cụ thể nào
2.2 CÀI ĐẶT PORTAL LIFERAY TRÊN MÔI TRƯỜNG WINDOWS
2.2.1 Cài đặt JDK
a Download JDK (hỗ trợ phát triển ngôn ngữ Java và môi trường máy ảo Java) tại địa chỉ: http://www.oracle.com/technetwork/java/javase/downloads/
b Tiến hành cài đặt:
- Chọn đường dẫn cài đặt C:\Java\
- Khi hoàn thành cài đặt tiến hành thiết lập biến môi trường (Environment Variables) để chạy JDK
- Right-click vào My Computer mở Properties\Advanced system settings chọn tab Advanced, chọn Environment Variables và thêm biến hệ thống mới
+ Thiết lập JAVA_HOME và JRE_HOME đế vị trí cài đặt C:\Java\
+ Sau đó bổ sung biến PATH (Path variable):
%JAVA_HOME%\bin;%JRE_HOME%\bin;
Trang 3939
2.2.2 Cài trình biên dịch ANT
a Download tại địa chỉ: http://ant.apache.org/bindownload.cgi
b Tiến hành cài đặt:
- Giải nén gói apache-ant vừa download vào thư mục C:\Liferay
- Thiết lập lại biến môi trường PATH đã tạo ở trên giá trị như sau:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%JRE_HOME%\bin;C:\liferay\apache-ant…\bin
2.2.3 Cài đặt PostgreSQL
PostgreSQL cũng là hệ quản trị cơ sở dữ liệu hỗ trợ mạnh trong việc lưu trữ
dữ liệu không gian PostgreSQL kết hợp với module Postgis cho phép người dùng lưu trữ các lớp dữ liệu không gian Khi sử dụng PostgreSQL, Postgis kết hợp với các phần mềm GIS hỗ trợ hiển thị, truy vấn, thống kê hoặc xử lý dữ liệu không gian Ở đây ta dùng PostgreSQL để lưu trữ cơ sở dữ liệu của Liferay
a Download tại địa chỉ: http://www.postgresql.org/ftp/pgadmin3/release/
Trang 4040
- Bạn nhấn Next để tiếp tục cài đặt, quá trình cài đặt PostgreSQL bắt đầu
- Chạy ứng dụng pgAdmin III để tạo cơ sở dữ liệu cho ứng dụng Liferay Portal
+ Trong Databases, Right-click chọn New Database
+ Đặt tên cho Database này là lportal sau đó chọn OK Đây chính là nơi chứa các bảng dữ liệu của ứng dụng Liferay Portal sau này
- Giải nén Bộ source Lifray vừa download vào C:\Liferay
- Sửa file kết nối portal-setup-wizard.properties trong thư mục C:\Liferay để kết nối với PostgreSQL như sau:
Hình 2 1 File kết nối Liferay với hệ quản trị cơ sở dữ liệu PostgreSQL
- Chạy Liferay: double-clicking tập tin startup.bat trong 7.0.42\bin
C:\Liferay\tomcat Liferay sẽ bắt đầu khởi tạo và chạy, tự động mở trình duyệt mặc định tại địa chỉ: http://localhost:8085