1
Kiến trúc 3 tầng của hệ hỗ trợ quyết
định
Information Sources
Data Warehouse
OLAP Servers
Clients
Server
(Tier 1)
(Tier 2)
(Tier 3)
e.g., MOLAP
Semistructured
Sources
Data
Warehouse
extract
transform
load
refresh
etc.
OLAP
serve
Query/Reporting
serve
e.g., ROLAP
Operational
DB’s
serve
Data Marts
Data Mining
OLAP: Online Analytical Processing
Mục tiêu của OLAP: Hỗ trợ các truy vấn đặc biệt cho phân tích kinh doanh
◦ Tổng hợp, phân tích thực hiện trên khối lượng lớn dữ liệu (đa chiều) → hỗ
trợ quyết định:
Các công cụ phục vụ người dùng (Frontend) trong Data Warehouse
Khung nhìn đa chiều (Multidimensional view ) là nền tảng cho OLAP
3
On-Line Transaction Processing (OLTP):
– Công nghệ được dùng để thực hiện các cập nhật trên các hệ
thống giao dịch hay tác nghiệp
On-Line Analytical Processing (OLAP):
– Kỹ thuật được dùng để thực hiện các phân tích phức tạp
của dữ liệu trong data warehouse
03/22/21
4
03/22/21
5
Finance: Lập ngân sách, dự tốn kinh phí, phân tích hoạt động tài…
Sales: Phân tích bán hàng và dự báo doanh số bán Marketing: Phân tích thị
trường, khách hàng, khuyến mãi….
Manufacturing: Hỗ trợ lập kế hoạch sản xuất, phân tích lỗi
….
03/22/21
6
03/22/21
7
Khung nhìn đa chiều là nền tảng cho OLAP
Các độ đo (Measures): Dữ liệu số cần theo dõi,
được tinh toán
Các chiều (Dimensions): Các tham số định nghĩa
một giao dịch (xác định giá trị của độ đo)
Mơ hình hóa chiều là kỹ thuật cho việc cấu trúc
dữ liệu quanh các khái niệm kinh doanh
Các mơ hình chiều: mô tả các độ đo và chiều
8
Chiều có các thuộc tính
Các chiều có thể được tổ chức phân cấp
◦ Ví dụ: Chiều Time: days → weeks → quarters
◦ Chiều Product: product → product line → brand
CS 336
9
Store Dimension
Product Dimension
Total
Total
Region
Manufacturer
District
Brand
Stores
Products
CS 336
10
Fact table view:
sale
prodId
p1
p2
p1
p2
st oreId
s1
s1
s3
s2
Multi-dimensional cube:
amt
12
11
50
8
p1
p2
s1
12
11
s2
s3
50
8
dimensions = 2
03/22/21
11
Fact table view:
sale
prodId
p1
p2
p1
p2
p1
p1
st oreId
s1
s1
s3
s2
s1
s2
Multi-dimensional cube:
dat e
1
1
1
1
2
2
amt
12
11
50
8
44
4
day 2
day 1
p1
p2 s1
p1
12
p2
11
s1
44
s2
4
s2
s3
s3
50
8
dimensions = 3
03/22/21
12
roll-up to region
Product
S
NY
e
r
SF
to
Dimensions:
Time, Product, Store
Attributes:
Product (upc, price, …)
Store …
…
Hierarchies:
Product → Brand → …
roll-up to week
Day → Week → Quarter
Store → Region →
Country
roll-up to brand
LA
Juice 10
Milk 34
Coke 56
Cream 32
Soap 12
Bread 56
M T W Th F S S
Time
56 units of bread sold in LA on M
03/22/21
13
Ví dụ: Lược đồ STAR với 3 chiều
03/22/21
14
03/22/21
15
Được phân loại theo kiến trúc sử dụng để lưu trữ và xử lý dữ liệu đa chiều
Các loại chính:
Multi-dimensional OLAP (MOLAP)
Relational OLAP (ROLAP)
Hybrid OLAP (HOLAP)
16
Sử dụng MDDBMS để lưu trữ và phân tích
Data structures: Array technology + các kỹ thuật lưu trữ hiệu quả
để tối thiểu không gian lưu trữ
Một số vấn đề phát sinh với MOLAP:
◦ Chỉ có một số lượng hạn chế của dữ liệu có thể được lưu trữ và phân tích
hiệu quả.
◦ Việc phân tích bị giới hạn vì dữ liệu được thiết kế theo những yêu cầu định
trước. y/c tập các kỹ năng và cung cụ để tạo và duy trì
17
03/22/21
18
ROLAP : fastest-growing type của OLAP tools.
ROLAP hỗ trợ các RDBMS thông qua sử dụng metadata
layer( tránh được yêu cầu tạo cấu trúc dữ liệu đa chiều tĩnh)
Cho phép tạo nhiều multi-dimensional views từ two-dimensional
relation.
Cải thiện hiệu năng thực hiện:
Cải thiện SQL engines để hỗ trợ các phân tích đa chiều phức tạp
Thiết kế dữ liệu phi chuẩn hóa.
19
HOLAP: Phân phối dữ liệu trực tiếp từ DBMS hoặc theo MOLAP server đến
desktop (hay local server) ở dạng data cube (được stored, analyzed và
maintained cục bộ)
20
Slice (cắt lát)
Dice (vạch ô)
Drill Down: Lấy thông tin chi tiết
Rollup: Tổng hợp, giảm chiều
Pivote (Rolate): Slice và rolate
03/22/21
21
03/22/21
22
Example: computing sums
day 2
day 1
p1
p2 s1
p1
12
p2
11
p1
p2
s1
56
11
s1
44
s2
4
s2
s3
...
s3
50
8
s2
4
8
rollup
drill-down
s3
50
sum
s1
67
s2
12
s3
50
129
p1
p2
sum
110
19
CS 336
23
day 2
day 1
p1
p2 s1
p1
12
p2
11
p1
p2
s1
56
11
s1
44
s2
4
s2
s3
...
s3
50
sale(s1,*,*)
8
s2
4
8
sale(s2,p2,*)
s3
50
sum
s1
67
s2
12
s3
50
129
p1
p2
sum
110
19
sale(*,*,*)
*
day 2
day 1
p1
p2
*
p1
p2
s1
*
12
11
23
p1
p2
*
s1
s1
56
11
67
s2
44
4
s2
44
s3
4
50
8
8
50
s2
4
8
12
s3
*
62
19
81
s3
50
*50
48
*
110
19
129
sale(*,p2,*)
48
CS 336
25