- Các ứng dụng OLAP chủ yếu tập trung vào các truy vấn phức tạp, đặc biệt. Trong SQL đó là những truy vấn liên quan tới các toán tử nhóm (group-by) và kết hợp. OLAP giải quyết các vấn đề trên mô hình dữ liệu đa chiều.
- OLAP có chức năng tạo báo cáo và phân tích dữ liệu. Kiến trúc chức năng của OLAP bao gồm 3 phần: dịch vụ lưu trữ dữ liệu, các dịch vụ truy vấn OLAP và các dịch vụ hiển thị đối với người dùng.
- OLAP là một công nghệ phân tích dữ liệu thực hiện những công việc sau:
+ Đưa ra một khung nhìn logic, nhiều chiều của dữ liệu
+ 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. Sau đó 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ợ 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.
+ Đáp ứng những câu trả lời nhanh.
1.3.2. Kiến trúc vật lý
- Chia thành 2 loại dựa trên kỹ thuật lưu trữ dữ liệu: dữ liệu đa chiều và dữ liệu quan hệ. Tương ứng với mỗi kiến trúc là một cách tiếp cận khác nhau về vấn đề cung cấp dịch vụ của OLAP. Đó là MOLAP (OLAP đa chiều) và ROLAP (OLAP quan hệ). MOLAP và ROLAP là trong suốt đối với người dùng cuối. Nhưng mặt trước của những công cụ này là như nhau và hình thức hỗ trợ quyết định cũng như nhau. Chỉ có khác biệt giữa hai công cụ là ở mức độ chi tiết tác nghiệp và hiệu quả kinh tế (MOLAP thường có giá thành thấp hơn ROLAP)
- Dữ liệu đa chiều (MOLAP): dữ liệu đa chiều và các dịch vụ OLAP được kết hợp với nhau trong cùng một máy chủ. Dữ liệu được tổ chức theo khung nhìn (view) và được lưu trữ trong các mảng, việc cập nhật dữ liệu không ảnh hưởng nhiều tới tệp chỉ số. Ưu điểm của MOLAP bao gồm: tốc độ truy vấn cao, có khả năng phân tích dữ liệu phức tạp, dễ sử dụng (do dữ liệu đã được tổng hợp từ trước và được lưu trong kho dữ liệu đa chiều), kích cỡ của cơ sở dữ liệu đa chiều được hỗ trợ nhỏ hơn so với cơ sở dữ liệu quan hệ, công nghệ sử dụng ma trận thưa, tiết kiệm không gian nhớ, nhu cầu lưu trữ nhỏ. Tuy nhiên có một số hạn chế: kích thước bị hạn chế, không thể khoan sâu dữ liệu tới mức chi tiết, nếu có thay đổi trong cấu trúc đa chiều đòi hỏi cơ sở dữ liệu phải tổ chức lại, các mở rộng ở những ứng dụng đầu cuối của một cơ sở dữ liệu đa chiều không thể dùng được cho một cơ sở dữ liệu đa chiều khác.
- Dữ liệu quan hệ (ROLAP): được xây dựng theo mô hình quan hệ, tuy nhiên đều được xây dựng dựa trên sơ đồ hình sao mang thuộc tính đa chiều.
Thông thường kho dữ liệu quan hệ có kích cỡ rất lớn. Kích thước của dữ liệu bị tăng lên do chứa các tệp chỉ số và những bảng dữ liệu chưa được đưa về dạng chuẩn 3 để đạt được hiệu suất chấp nhận được của những truy vấn đa chiều.
Trong mô hình này bao gồm máy chủ dữ liệu để lưu trữ dữ liệu, máy chủ OLAP và khung nhìn OLAP chứa trong máy trạm riêng. Mô hình ROLAP cung cấp truy vấn linh hoạt bằng cách luôn chuẩn bị dữ liệu sẵn sàng phục vụ cho việc trích chọn, tổng hợp dữ liệu theo yêu cầu của người dùng cuối. ROLAP thường được sử dụng trong các trường hợp: dữ liệu thường xuyên thay đổi và người dùng lại đòi hỏi những tổng hợp tức thời, khối lượng dữ liệu lớn, các truy vấn không lường trước, có nhu cầu hiển thị dữ liệu chi tiết. Tuy dữ liệu được lưu trữ dưới dạng quan hệ nhưng vẫn thể hiện với người dùng dưới dạng các chiều của công việc. Để che dấu dạng lưu trữ của dữ liệu, phải tạo ra một lớp metadata ngữ nghĩa để ánh xạ tất cả các chiều tới các bảng quan hệ. Khi cần kết hợp phải tạo ra siêu dữ liệu để cải thiện thời gian trả lời. Những siêu dữ liệu này được lưu trong cơ sở dữ liệu quan hệ, tức là phải tạo ra một kho siêu dữ liệu khác trong giải pháp cho xây dựng kho dữ liệu.
1.3.3. Phương pháp thiết kế - Đối với MOLAP:
+ Chọn chức năng công việc (như phân tích doanh số bán hàng và lập báo cáo tài chính)
+ Xác định đơn vị đo để lưu trữ doanh số như sales
+ Xác định các chiều (Times, Products, Locations) và đơn vị đo của mỗi chiều như Times (timeid, date, week, month, quarter, year), chiều Products (pid, pname, category,price), Locations (locid, city, state, country).
+ Định nghĩa mô hình logic và tải vào kho dữ liệu đa chiều hay trực tiếp từ các nguồn dữ liệu hay thông qua việc lọc và kết hợp những nội dung được lựa chọn của kho dữ liệu.
- Đối với ROLAP:
+ Xây dựng một mô hình đa chiều sử dụng một trong các mô hình đã trình bày trong phần kho dữ liệu.
+ Bổ sung vào các dữ liệu tóm tắt và kết hợp.
+ Chia tập dữ liệu lớn thành những phần nhỏ hơn có khả năng quản lý được để nâng cao hiệu suất thực hiện.
+ Đưa vào những tập chỉ số mới dưới dạng bitmap (Bitmap Indexs) hoặc liên kết (Join Indexs) để tăng cường khả năng truy nhập, từ đó tăng tốc độ thực hiện.
+ Tạo và lưu trữ siêu dữ liệu bao gồm những định nghĩa chiều, ánh xạ chiều tới các bảng dữ liệu quan hệ tương ứng, quan hệ phân cấp giữa các chiều, định nghĩa và mô tả dữ liệu kết hợp,…
1.3.4. Thực hiện truy vấn và thiết kế khung nhìn (Materialized View)
- Mục tiêu là cung cấp cho người dùng cuối không thông thạo về SQL một giao diện trực quan và đủ mạnh để thực hiện các công việc phân tích dữ liệu thông thường. Dữ liệu cơ sở luôn sẵn sàng cho việc sử dụng ở nhiều mức chi tiết khác nhau.
- Một thao tác thông thường nhất là tổ hợp đơn vị đo trên một hoặc nhiều chiều. Các truy vấn đó thường có dạng: Tìm tổng doanh số bán hàng, tổng doanh số bán hàng ở mỗi thành phố, tìm 5 sản phẩm báng được nhiều nhất trên tổng doanh số bán hàng. Trong các truy vấn trên, hai truy vấn đầu tiên có thể thực hiện được bằng truy vấn SQL trên các bảng sự kiện và bảng chiều nhưng truy vấn cuối cùng không thể thực hiện được như vậy. Khi chúng ta kết hợp đơn vị đo trên một hoặc nhiều chiều, đơn vị đo phụ thuộc vào chiều ít hơn là đơn vị đo gốc. Chẳng hạn như khi chúng ta tính tổng doanh số bán hàng của một thành phố, đơn vị đo kết hợp là total sales và nó chỉ phụ thuộc vào chiều Location trong khi đó đơn vị đo sales gốc phụ thuộc vào các chiều Location, Time và Product.
- Một cách tổng hợp khác là tóm tắt trên nhiều mức khác nhau theo phân cấp chiều. Nếu chúng ta đã có tổng doanh số bán hàng đối với một thành phố cần phải tổng hợp theo chiều Location để tính được doanh số bán hàng cho một state. Thao tác này được gọi là roll-up theo thuật ngữ của OLAP (tổng hợp từ chi tiết).Ngược lại của roll-up là drill-down. Tức là cho tổng doanh số bán hàng theo state và ta phải tính chi tiết cho từng city hoặc một số city được chọn (chi tiết hóa từ thông tin tổng hợp). Chúng ta có thể drill-down theo một chiều khác với Location. Chẳng hạn như chúng ta có thể tìm tổng bán hàng đối với mỗi sản phẩm của mỗi state theo chiều Product.
- Một số truy vấn của OLAP không dễ dàng trong việc biểu diễn hoặc không thể biểu diễn được trong SQL. Tuy nhiên một số lượng lớn các truy vấn đều có thể biểu diễn được. Thông thường chúng liên quan tới việc group by hay tổ hợp và thao tác OLAP đơn dẫn tới một số truy vấn giống như truy vấn trong SQL.
Thiết kế các materialized view
Các materialized view chính là các bảng tóm tắt (summary table) giống như view nhưng có một số tính chất đặc trưng khác với view bao gồm: có tốc độ thực hiện nhanh, có quan hệ với các bảng chiều và được sử dụng để tăng tốc độ khai thác.
Các materialized view được đặt cơ chế tự động cập nhật dữ liệu từ các bảng sự kiện mỗi khi dữ liệu cập nhật vào bảng sự kiện.
1.3.5. Các phép toán OLAP trong mô hình dữ liệu nhiều chiều
Trong mô hình nhiều chiều, dữ liệu được tổ chức thành các chiều, mỗi chiều chứa các mức trừu tượng do phân cấp khái niệm xác định. Tổ chức này đảm bảo mềm dẻo cho người dùng khi nhìn dữ liệu theo các hướng khác nhau. Một số phép toán về khối dữ liệu OLAP có khả năng hiển thị, có câu hỏi tương tác và phân tích dữ liệu. Tức là OLAP có môi trường người dùng để phân tích dữ liệu tương tác.
Các phép toán OLAP bao gồm:
- Cuốn : phép cuốn, hay phép khoan, thực hiện việc gộp trên dữ liệu khối, hoặc leo lên phân cấp khái niệm đối với một chiều, hoặc giảm số chiều.
Khi cuốn do giảm số chiều, một hay nhiều chiều bị loại khổi khối dữ liệu.
Cuốn có thể xóa chiều thời gian, cho kết quả là tổng sản phẩm theo địa điểm, chứ không còn theo địa điểm và thời gian nữa.
- Đào sâu : phép đào sâu là một dạng cuốn. Nó quét từ dữ liệu ít chi tiết đến dữ liệu chi tiết nhiều. Đào sâu có thể thực hiện từng bước xuống phân cấp khái niệm đối với một chiều dữ liệu, hoặc đưa ra các chiều bổ sung. Chẳng hạn đi theo chiều thời gian để xét theo quí, rồi theo tháng…
Do việc đào sâu thêm chi tiết đối với dữ liệu đã có, nó cho phép bổ sung chiều mới, chẳng hạn chiều “nhóm các khách hàng”.
- Cắt lát và kẻ ô : phép cắt lát chọn trên một chiều của khối dữ liệu, tạo nên một khối con. Chẳng hạn chọn thời gian = quí 1. Phép kẻ ô xác định khối con bằng cách chọn hai hay vài chiều. Chẳng hạn chọn (địa điểm = Hà Đông OR địa điểm = Hà Nội) AND thời gian = quí 1.
- Xoay: phép xoay hiển thị khối con xoay quanh trục dữ liệu để có thể hiện khác của dữ liệu.
- Các phép OLAP khác : vài hệ thống OLAP cung cấp các phép đào sâu, chẳng hạn đào chéo, đào qua (i) đào chéo đặt câu hỏi trên nhiều bảng sự kiện;
(ii) đào qua sử dụng tiện nghi ngôn ngữ SQL để đào qua mức thấp của khối dữ
liệu đến bảng quan hệ đầu người dùng.
Các phép OLAP khác có thể sắp xếp hạng các mục theo danh sách, cũng như thực hiện tính toán phụ.
Cuốn theo địa điểm (từ các tỉnh cuốn về các Miền) QuÝ 1
QuÝ 2 Hà Nội
Hà Đông
Giải trí Máy tính
10 20
15 25
50 60
65
QuÝ 1
QuÝ 2 Miền Bắc
Giải trí Máy tính
25 45
105 125
Hà Nội Hà Đông
Giải trí Máy tính 3 3 4
7 7 7
5 8
16 16 16
20 20 20
8 Tháng 1 8
Tháng 2 Tháng 3 Tháng 4 Tháng 5 Tháng 6
22 22 22
Đào sâu theo thời gian (từ quí sang tháng) QuÝ 1
QuÝ 2 Hà Nội
Giải trí Máy tính
10 20
50 60
Kẻ ô, với địa điểm = Hà Nội
QuÝ 1
QuÝ 2
Giải trí Máy tính
10 20
50 60
Lát cắt
hạn chế địa điểm = Hà Nội
Xoay
QuÝ 1 QuÝ 2 Giải trí
20 60
10 50
Máy tính
Hình 1.3.1 Các phép toán OLAP
So sánh các hệ thống OLAP với các cơ sở dữ liệu thống kê, người ta thấy : nhiều tính chất của hệ thống OLAP, như sử dụng mô hình dữ liệu nhiều chiều, kết hợp của độ đo với chiều, các phép toán cuốn, đào sâu cũng đã có trong cơ sở dữ liệu thống kê. Cơ sở dữ liệu thống kê là hệ thống cơ sở dữ liệu được thiết kế để trợ giúp các ứng dụng thống kê. Khác nhau giữa hai hệ thống nhiều khi là kí pháp, thuật ngữ.
OLAP và cơ sở dữ liệu thống kê cũng khác nhau. Cơ sở dữ liệu thống kê hướng ứng dụng kinh tế xã hội, OLAP có đích là ứng dụng nghiệp vụ. Khía cạnh riêng liên quan đến phân cấp khái niệm liên quan đến cơ sở dữ liệu thống kê. Không như cơ sở dữ liệu thống kê, OLAP được thiết kế để xử lí khối lượng lớn các dữ liệu một cách hiệu quả.
Hỏi trong mô hình dữ liệu nhiều chiều có thể theo mô hình mạng sao. Mô hình mạng sao bao gồm các tia ra từ điểm trung tâm; mỗi đường thể hiện một phân cấp khái niệm đối với một chiều. Mỗi mức trừu tượng trong phân cấp được gọi là dấu chân. Cái này thể hiện tính hạt có thể để dùng các phép toán OLAP như cuốn lên, đào sâu.
Việc sử dụng phân cấp khái niệm cho phép (i) tổng quát hóa dữ liệu bằng cách thay các giá trị mức thấp, như ngày, bằng giá trị mức cao, như tháng năm;
(ii) đặc biệt hóa bằng cách thay giá trị mức cao bằng mức thấp.