a. Định nghĩa OLAP
OLAP là một công nghệ xử lí trực tuyến các thông tin mới được tạo ra từ những dữ liệu đang tồn tại, thông qua một tập những chuyển đổi và các tính toán số. Về bản chất, một hệ OLAP là hệ thống lưu giữ những thông tin tổng hợp và cho phép thể hiện thông tin tổng hợp đó dưới dạng bảng 2 chiều.
OLAP là một công nghệ phân tích dữ liệu nhằm thực hiện những công việc như: Đưa ra một khung nhìn logic, đa chiều của dữ liệu trong DW, khung nhìn này hoàn toàn không phụ thuộc vào việc dữ liệu được lưu trữ như thế nào. Cung cấp khả năng thiết lập mô hình phân tích bao gồm một mô tơ tính toán cho việc tính tỉ lệ, những biến đổi,... liên quan tới những đại lượng số hoặc dữ liệu là con số qua các chiều dữ liệu khác nhau. Tạo ra sự tổng hợp và kết hợp, phân cấp và dùng những mức tổng hợp, kết hợp đó cho mỗi phép giao của các bảng theo mỗi chiều. Hỗ trợ
30
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à
31
một kiến trúc khách-chủ 3 tầng. Kiến trúc này cung cấp nhiều khả năng lựa chọn cấu hình vật lí cho 3 dịch vụ chức năng này.
* Kiến trúc vật lí:
Bao gồm làm 2 loại cơ bản dựa trên kĩ thuật lưu trữ dữ liệu: kho dữ liệu đa chiều và kho dữ liệu quan hệ.
- Kho dữ liệu đa chiều: kho dữ liệu nằm trên Server OLAP. Loại này được chia thành 2 loại nhỏ.
+ 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
32
Sau đây là 12 luật cung cấp một cách nhìn thống nhất trong việc đánh giá và hiểu rõ những yêu cầu và các công cụ OLAP.
- Khung nhìn khái niệm đa chiều (Multiple Dimension): Đối với một người thực hiện các công việc của công ty thì cách nhìn của họ với công việc thực chất là nhiều chiều. Vì vậy, mô hình OLAP phải là đa chiều về bản chất. Những người sử dụng có thể thao tác dễ dàng trên những mô hình dữ liệu đa chiều như vậy.
- 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.
33
- 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
34
cung cấp tính linh hoạt và đưa ra những thông tin đã được đồng bộ theo bất kì cách nào mà người sử dụng muốn hiển thị chúng.
- Không hạn chế số chiều và các mức kết hợp dữ liệu (Unlimited Dimension and Aggregation Levels): Một server OLAP có thể chứa được ít nhất là 15 chiều trong một mô hình phân tích thông thường nhất. Mỗi một trong số các chiều đó cho phép một số lượng không giới hạn các mức tổng kết và kết hợp dữ liệu do người sử dụng định nghĩa và đưa ra cách xây dựng các mức đó.
d. 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.
35
- 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ệ.
36
CHƯƠNG II: PHẦN MỀM HẠ TẦNG CỒNG THÔNG TIN LIFERAY