Tải bản đầy đủ (.pdf) (74 trang)

Kho dữ liệu và công nghệ OLAP tổng quan

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.59 MB, 74 trang )

2010

Kho dữ liệu và công
nghệ OLAP: Tổng
Quan
GVLT: PSG.TS Lê Hoài Bắc
SV: Nguyễn Thị An Nhơn
0712023

Khoa Công nghệ thông tin ĐH KHTN TPHCM
6/1/2010


Kho dữ liệu và công nghệ OLAP: Tổng Quan
KHAI THÁC DỮ LIỆU VÀ ỨNG DỤNG
LỚP CNTN07, NĂM HỌC 2009-2010

BÁO CÁO CHỦ ĐỀ
TỔNG QUAN VỀ KHO DỮ LIỆU VÀ CÔNG NGHỆ OLAP

Khai Thác Dữ Liệu

Page 2


Kho dữ liệu và công nghệ OLAP: Tổng Quan
MỤC LỤC
1. KHO DỮ LIỆU LÀ GÌ?.................................................................................... 5
1.1

KHÁC BIỆT GIỮA HỆ CƠ SỞ DỮ LIỆU GIAO DỊCH VÀ KHO DỮ



LIỆU …………………………………………………………………………...8
1.2

TẠI SAO CẦN CÓ KHO DỮ LIỆU RIÊNG BIỆT ................................ 10

2. MÔ HÌNH DỮ LIỆU ĐA CHIỀU

............................................................ 12

2.1

TỪ BẢNG DỮ LIỆU VÀ SPREADSHEET TỚI KHỐI DỮ LIỆU ... 12

2.2

STARS, SNOWFLAKES, FACT CONSTELLATIONS: LƯỢC ĐỒ

CHO CƠ SỞ DỮ LIỆU ĐA CHIỀU............................................................... 17
2.3

VÍ DỤ ĐỊNH NGHĨA LƯỢC ĐỒ SAO, LƯỢC ĐỒ BÔNG TUYẾT

VÀ LƯỢC ĐỒ CHÒM SAO ........................................................................... 21
2.4

ĐỘ ĐO: PHÂN LOẠI VÀ TÍNH TOÁN ............................................. 24

2.5


PHÂN CẤP KHÁI NIỆM ...................................................................... 27

2.6

CÁC PHÉP XỬ LÝ TRÊN OLAP TRONG MÔ HÌNH DỮ LIỆU ĐA

CHIỀU............................................................................................................... 30
2.7

MÔ HÌNH STARNET DÙNG CHO TRUY VẤN DỮ LIỆU ĐA

CHIỀU............................................................................................................... 35
3. KIẾN TRÚC KHO DỮ LIỆU……… ............................................................. 36
4. CÀI ĐẶT KHO DỮ LIỆU……………. ......................................................... 50
5. TỪ VIỆC LƯU TRỮ DỮ LIỆU TRONG KHO DỮ LIỆU TỚI KHAI
THÁC DỮ LIỆU…………………………………… .......................................... 62
6. TÓM TẮT………………………………………………………………….70

Khai Thác Dữ Liệu

Page 3


Kho dữ liệu và công nghệ OLAP: Tổng Quan
GIỚI THIỆU
Kho dữ liệu: tổng quát hóa và tổng hợp dữ liệu vào một không gian đa
chiều. Việc xây dựng kho dữ liệu liên quan tới việc làm sạch dữ liệu, chuyển đổi
dữ liệu và có thể được xem như một bước tiền xử lý quan trọng cho việc khai
thác dữ liệu. Hơn nữa, kho dữ liệu cung cấp công cụ cho quá trình phân tích trực
tuyến (OLAP) cho việc phân tích tương tác của dữ liệu đa chiều, tạo điều kiện

tổng quát hóa dữ liệu hiệu quả và khai thác dữ liệu. Nhiều chức năng khai thác
dữ liệu khác, chẳng hạn như liên kết, phân loại, dự báo và phân nhóm, có thể
được tích hợp với hoạt động OLAP để tăng cường khai thác kiến thức ở nhiều
cấp độ trừu tượng. Do đó, các kho dữ liệu ngày càng trở nên quan trọng cho
phân tích dữ liệu và phân tích online sẽ cung cấp một nền tảng hiệu quả cho
phân tích dữ liệu. Vì vậy, lưu trữ dữ liệu trong kho dữ liệu và OLAP tạo thành
một bước quan trọng trong quá trình khai phá tri thức. Trong báo cáo này sẽ
trình bày tổng quan về kho dữ liệu và công nghệ OLAP. Đây là cái nhìn tổng
quan cần thiết cho hiểu biết tổng thể khai thác dữ liệu và quá trình phát hiện kiến
thức.
Các tác giả nghiên cứu một định nghĩa dễ chấp nhận của kho dữ liệu và
xem tại sao ngày càng nhiều tổ chức đang xây dựng kho dữ liệu cho việc phân
tích dữ liệu. Đặc biệt, là nghiên cứu các khối dữ liệu, mô hình dữ liệu đa chiều
cho kho dữ liệu và OLAP, cũng như các hoạt động trong OLAP roll-up, drilldown, slicing, và dicing. Đồng thời cũng xem xét các kiến trúc kho dữ liệu, bao
gồm các bước thiết kế và xây dựng kho dữ liệu. Tổng quan về cài đặt kho dữ
liệu kiểm tra chiến lược của tính toán hiệu quả khối dữ liệu, chỉ mục trong
OLAP, và truy vấn trên OLAP. Cuối cùng là cái nhìn vào việc khai thác online,
một mô hình mạnh mẽ tích hợp kho dữ liệu và công nghệ OLAP trong khai thác
dữ liệu.
Khai Thác Dữ Liệu

Page 4


Kho dữ liệu và công nghệ OLAP: Tổng Quan
1. KHO DỮ LIỆU LÀ GÌ?
Kho dữ liệu cung cấp kiến trúc và các công cụ cho doanh nghiệp tổ chức,
hiểu, và sử dụng dữ liệu của họ để đưa ra quyết định chiến lược. Hệ thống kho
dữ liệu là các công cụ có giá trị trong môi trường cạnh tranh và phát triển nhanh
hiện nay. Trong những năm vừa qua, nhiều công ty đã bỏ ra hàng triệu USD vào

việc xây dựng kho dữ liệu lớn. Nhiều người cảm thấy rằng với sự cạnh tranh gia
tăng trong mọi ngành công nghiệp, việc lưu trữ dữ liệu là vũ khí tối tân trên thị
trường để giữ khách hàng bằng cách tìm hiểu nhu cầu của họ.
"Vậy, chính xác kho dữ liệu là gì?". Kho dữ liệu đã được định nghĩa bằng
nhiều cách, rất khó để có một định nghĩa chính xác. Nói một cách nôm na, kho
dữ liệu là một cơ sở dữ liệu tồn tại riêng biệt với cơ sở dữ liệu của tổ chức. Hệ
thống kho dữ liệu cho phép tích hợp với một loạt các ứng dụng. Chúng hỗ trợ xử
lý thông tin bằng cách cung cấp một nền tảng vững chắc của cơ sở dữ liệu mang
tính lịch sử và thống nhất để phân tích.
Theo Inmon toWilliam H., một chuyên gia hàng đầu trong việc xây dựng
hệ thống kho dữ liệu, "Một kho dữ liệu là một tập hợp dữ liệu hướng chủ đề,
tích hợp, biến thể thời gian, ít biến động hỗ trợ cho quá trình đưa ra quyết định
của doanh nghiệp". Tóm lại, Bốn từ khóa: hướng chủ đề, tích hợp, biến thể thời
gian, ít biến động là bốn đặc điểm phân biệt kho dữ liệu với các hệ thống dữ liệu
khác.
Hướng chủ đề: Một kho dữ liệu được tổ chức xung quanh các chủ đề
chính, chẳng hạn như khách hàng, nhà cung cấp, sản phẩm, và bán hàng. Vượt
ra khỏi sự tập trung vào hoạt động hàng ngày và xử lý giao dịch của một tổ
chức, một kho dữ liệu tập trung vào mô hình hóa và phân tích các dữ liệu giúp
cho việc đưa ra quyết định. Do đó, kho dữ liệu thông thường cung cấp một cái

Khai Thác Dữ Liệu

Page 5


Kho dữ liệu và công nghệ OLAP: Tổng Quan
nhìn đơn giản và ngắn gọn về các chủ đề cụ thể bằng cách loại trừ dữ liệu thừa
đối với quá trình đưa ra quyết định.
Tích hợp: Một kho dữ liệu thường được xây dựng bởi việc tích hợp nhiều

nguồn dữ liệu khác nhau chẳng hạn như cơ sở dữ liệu quan hệ, các tập tin, và hồ
sơ giao dịch trực tuyến. Làm sạch dữ liệu và kỹ thuật tích hợp dữ liệu được áp
dụng để đảm bảo tính nhất quán trong việc ước đặt tên, mã hóa cấu trúc, đo đạt
các thuộc tính,…
Biến thể-thời gian: Dữ liệu được lưu trữ để cung cấp thông tin mang tính
lịch sử (E.g., trong 50-10 năm qua). Tất cả các cấu trúc quan trọng trong kho dữ
liệu chứa, hoặc ngầm chứa một phần tử của thời gian.
Ít biến đổi: Một kho dữ liệu luôn luôn là kho riêng biệt về mặt vật lý đối
với dữ liệu trong xử lý giao tác hàng ngày. Do việc tách biệt này, một kho dữ
liệu không yêu cầu xử lý giao dịch, phụ c hồi, và cơ chế kiểm soát xử lý đồng
thời. Nó thường đòi hỏi chỉ có hai hoạt động trên dữ liệu là tải dữ liệu và làm
mới dữ liệu.
Tóm lại, một kho dữ liệu là một kho dữ liệu đồng nhất về ngữ nghĩa phục
vụ cho việc đưa ra quyết định, cung cấp và lưu trữ các thông tin mà doanh
nghiệp cần để đưa ra quyết định chiến lược. Một kho dữ liệu cũng thường được
xem như là một kiến trúc được xây dựng bằng cách tích hợp từ nhiều nguồn dữ
liệu không đồng nhất.
Dựa trên thông tin này, ta xem lưu kho dữ liệu là quá trình xây dựng và sử
dụng kho dữ liệu. Việc xây dựng một kho dữ liệu đòi hỏi phải làm sạch dữ liệu,
tích hợp dữ liệu, và hợp nhất dữ liệu. Việc sử dụng một kho dữ liệu thường đòi
hỏi một tập hợp các công nghệ hỗ trợ đưa ra quyết định. Điều này cho phép
công nhân tri thức (Ví dụ, nhà quản lý, nhà phân tích, và giám đốc điều hành) sử
Khai Thác Dữ Liệu

Page 6


Kho dữ liệu và công nghệ OLAP: Tổng Quan
dụng kho dữ liệu để có được một tổng quan của dữ liệu, và để đưa ra quyết định
một cách nhanh chóng và thuận tiện. Một số tác giả sử dụng thuật ngữ "data

warehousing" để chỉ quá trình xây dựng kho dữ liệu, trong khi thuật ngữ
"warehouse DBMS" được sử dụng để nói đến việc quản lý và sử dụng kho dữ
liệu.
"Các tổ chức đang sử dụng thông tin từ kho dữ liệu như thế nào?" Nhiều
tổ chức sử dụng thông tin này để hỗ trợ doanh nghiệp ra quyết định, bao gồm cả
(1) tăng cường tập trung vào nhu cầu của khách hàng, bao gồm việc phân tích
các mẫu mà khách hàng mua (Chẳng hạn như mua hàng ưu đãi, mua lại, ngân
sách chu kỳ, và chi tiêu thụ); (2) tái định vị sản phẩm và quản lý sản phẩm bằng
cách so sánh thực hiện bán hàng theo quý, theo năm, và theo vùng địa lý để đưa
ra chiến lược sản xuất; (3) phân tích hoạt động và tìm kiếm nguồn lợi nhuận; và
(4) quản lý quan hệ khách hàng, làm cải chính môi trường, và quản lý chi phí tài
sản công ty.
Kho dữ liệu cũng rất hữu ích từ quan điểm của việc tích hợp các cơ sở dữ
liệu không đồng nhất. Để tích hợp các dữ liệu đó, và làm cho việc truy cập dễ
dàng và hiệu quả là một thử thách lớn. Đã có nhiều nỗ lực bỏ ra để đạt được mục
tiêu này.
Kho dữ liệu cung cấp một phương pháp xử lý truy vấn gọi là updatedriven để truy vấn dữ liệu từ nhiều nguồn khác nhau. Do dữ liệu trong kho dữ
liệu không thay đổi thường xuyên và còn được copy, xử lý, tổng hợp trước khi
đưa vào lưu trữ nên việc truy vấn dễ hơn truy vấn trên cơ sở dữ liệu hoạt động.

Khai Thác Dữ Liệu

Page 7


Kho dữ liệu và công nghệ OLAP: Tổng Quan
1.1 KHÁC BIỆT GIỮA HỆ CƠ SỞ DỮ LIỆU HOẠT ĐỘNG VÀ KHO
DỮ LIỆU
Bởi vì hầu hết mọi người đều quen thuộc với các hệ thống cơ sở dữ liệu
quan hệ thương mại nên để hiểu kho dữ liệu dễ dàng ta sẽ so sánh hai loại hệ

thống. Nhiệm vụ chính của hệ thống cơ sở dữ liệu hoạt động là để thực hiện
giao dịch trực tuyến và truy vấn. Các hệ thống này được gọi là hệ thống xử lý
hoạt động on-line (OLTP). Chúng bao gồm hầu hết các hoạt động hàng ngày
của một tổ chức, chẳng hạn như thu mua, tồn kho, sản xuất, ngân hàng, đăng
ký, và kế toán. Hệ thống kho dữ liệu, ngược lại, phục vụ người sử dụng hay
công nhân tri thức trong vai trò phân tích dữ liệu và ra quyết định. Hệ thống
như vậy có thể tổ chức và thể hiện dữ liệu trong nhiều định dạng, để thích
ứng với nhu cầu đa dạng của người sử dụng khác nhau. Những hệ thống này
được biết là hệ thống phân tích trực tuyến (OLAP).
Điểm khác biệt chủ yếu giữ OLTP và OLAP được tóm gọn như sau:
 Người sử dụng và định hướng của hệ thống: Một hệ thống OLTP là
định hướng khách hàng được sử dụng cho giao dịch và xử lý truy vấn bởi
thư ký, khách hàng, và các chuyên gia công nghệ thông tin. Một hệ thống
OLAP là định hướng thị trường và được sử dụng cho phân tích dữ liệu bởi
công nhân tri thức, bao gồm cả quản lý, điều hành, và các nhà phân tích.
 Nội dung dữ liệu: hệ thống OLTP quản lý dữ liệu mang tính update
thông thường quá chi tiết để dễ dàng sử dụng cho việc ra quyết định. Một
hệ thống OLAP quản lý số lượng lớn dữ liệu quá khứ, cung cấp các tiện
ích cho tổng kết và tập hợp, và lưu trữ, quản lý thông tin ở các cấp độ
khác. Những tính năng này làm cho các dữ liệu dễ dàng sử dụng hơn
trong việc ra quyết định.

Khai Thác Dữ Liệu

Page 8


Kho dữ liệu và công nghệ OLAP: Tổng Quan
 Thiết kế dữ liệu: một hệ thống OLTP thường sử dụng mô hình thực thể
quan hệ và một thiết kế hướng ứng dụng. Một hệ thống OLAP thường sử

dụng mô hình sao hoặc bông tuyết và thiết kế dữ liệu hướng chủ đề.
 Khung nhìn: Một hệ thống OLTP thường tập trung chủ yếu vào dữ liệu
hiện tại của tập đoàn hoặc của phòng ban, không chú ý tới dữ liệu lịch sử
hay dữ liệu ở các tổ chức khác nhau. Ngược lại, hệ thống OLAP thường
mở rộng các phiên bản của lược đồ dữ liệu do quá trình phát triển của tổ
chức. Hệ thống OLAP thường làm việc với thông tin từ nhiều tổ chức
khác nhau, tổng hợp từ nhiều nguồn dữ liệu khác nhau.
 Mô hình truy xuất: mô hình truy xuất của hệ thống OLTP bao gồm các
giao dịch. Hệ thống như vậy yêu cầu có sự kiểm soát xử lý đồng thời và
cơ chế hồi phục. Tuy nhiên, truy xuất hệ thống OLAP chủ yếu là quá trình
đọc. Bởi vì hầu hết các kho dữ liệu lưu trữ dữ liệu lịch sư hơn là dữ liệu
mang tính cập nhật, mặc dù có rất nhiều truy vấn phức tạp.
Bảng 1: So sánh giữa OLTP và OLAP
Thuộc tính

OLTP

OLAP

Tính chất

Xử lý giao dịch

Xử lý thông tin

Định hướng

Giao dịch

Phân tích


Người dùng

Thư ký, DBA, chuyên

Công nhân trí thức

gia cơ sở dữ liệu
Chức năng

Hoạt động hàng ngày

Yêu cầu thông tin lâu
dài, hỗ trợ đưa ra quyết
định

Thiết kế DB

Khai Thác Dữ Liệu

Mô hình ER, hướng

Mô hình sao, bông

ứng dụng

tuyết, hướng chủ đề

Page 9



Kho dữ liệu và công nghệ OLAP: Tổng Quan
Dữ liệu

đảm bào cập nhật

Mang tính lịch sử,

Tổng hợp

Thô sơ, chi tiết

Tổng hợp tốt, nhiều
chiều

Đơn vị công việc

Ngắn, giao dịch đơn

Truy vấn phức tạp

giản
Truy xuất

Đọc/ghi

Hầu hết là đọc

Trọng tâm


Dữ liệu vào

Thông tin ra

Hoạt động

Chỉ mục/Băm trên

Nhiều phép duyệt

khóa chính
Số lượng record truy

Hàng chục

Hàng triệu

Số lượng người dung

Hàng ngàn

Hàng

Kích thước DB

100MB tới GB

100GB tới TB

Độ ưu tiên


Thực hiện nhanh, độ

Độ linh hoạt cao

xuất

sẵn sàng cao
Độ đo

Độ thông suốt giao

Độ thông suốt truy vấn

dich

và thời gian đáp ứng

1.2 TẠI SAO CẦN CÓ KHO DỮ LIỆU RIÊNG BIỆT
Bởi vì cơ sở dữ liệu hoạt động lưu trữ một lượng lớn dữ liệu, bạn có thể tự
hỏi, "Tại sao không thực hiện trực tuyến quá trình phân tích trực tiếp trên cơ sở
dữ liệu đó thay vì bỏ thêm thời gian và nguồn lực để xây dựng một kho dữ liệu
riêng biệt?" Lý do cho việc tách này là giúp thúc đẩy hiệu suất của cả hệ thống.
Một cơ sở dữ liệu hoạt động được thiết kế và điều chỉnh để thực hiện những
công việc như tạo chỉ mục và băm dùng khóa chính, tìm kiếm record, tối ưu truy
vấn. Trong khi đó, câu truy vấn trên kho dữ liệu thường phức tạp. Chúng liên
Khai Thác Dữ Liệu

Page 10



Kho dữ liệu và công nghệ OLAP: Tổng Quan
quan đến việc tính toán trên nhóm lớn của dữ liệu ở mức tổng hợp, và có thể yêu
cầu việc sử dụng của việc tổ chức dữ liệu, truy xuất, và phương pháp cài đặt dựa
trên cái nhìn đa chiều. Xử lý truy vấn OLAP trong cơ sở dữ liệu giao dịch có thể
làm chậm quá trình làm việc của các xử lý giao dịch.
Hơn nữa, một cơ sở dữ liệu giao dịch hỗ trợ việc xử lý đồng thời của
nhiều giao dịch. Đồng thời cần phải kiểm soát xử lý đồng thời và các cơ chế
phục hồi, chẳng hạn như khóa và ghi nhật trí xử lý, để bảo đảm tính nhất quán
và an toàn cho giao dịch. Một truy vấn OLAP thường chỉ đọc dữ liệu để tổng kết
và tập hợp. Nếu áp dụng các cơ chế trên cho các hoạt động của OLAP, có thể
gây nguy hiểm cho việc thực hiện các giao dịch đồng thời và do đó giảm đáng
kể thông lượng của một hệ thống OLTP.
Sau cùng, việc tách kho dữ liệu với cơ sở dữ liệu giao dịch được dựa trên
các cấu trúc khác nhau, nội dung, và sử dụng các dữ liệu trong hai hệ thống.
Việc hỗ trợ đưa ra quyết định yêu cầu dữ liệu có tính lịch sử, trong khi cơ sở dữ
liệu giao dịch không thường duy trì dữ liệu lịch sử. Trong bối cảnh đó, các dữ
liệu giao dịch mặc dù dồi dào nhưng thường xa với việc đưa ra quyết định. Việc
hỗ trợ quyết định đòi hỏi tính hợp nhất (chẳng hạn như tập hợp và tổng kết) của
dữ liệu từ các nguồn không đồng nhất, kết quả trong dữ liệu có chất lượng cao,
sạch, và tích hợp. Ngược lại, cơ sở dữ liệu giao dịch chỉ chứa dữ liệu chi tiết
chưa xử lý, chẳng hạn như giao dịch, và cần phải được củng cố trước khi phân
tích. Bởi vì hai hệ thống cung cấp chức năng khá khác nhau và đòi hỏi khác
nhau về các loại dữ liệu, nên rất cần thiết duy trì 2 loại cơ sở dữ liệu này riêng
biệt. Tuy nhiên, nhiều nhà cung cấp hệ thống quản lý cơ sở dữ liệu giao dịch

Khai Thác Dữ Liệu

Page 11



Kho dữ liệu và công nghệ OLAP: Tổng Quan
đang bắt đầu tối ưu hóa hệ thống để hỗ trợ truy vấn OLAP. Nếu xu hướng này
tiếp tục phát triển, sự tách biệt giữa các hệ thống OLTP và OLAP có thể sẽ giảm
đi.

2. MÔ HÌNH DỮ LIỆU ĐA CHIỀU
Kho dữ liệu và các công cụ OLAP được triển khai trên một mô hình dữ
liệu đa chiều. Mô hình dữ liệu này xem dữ liệu ở dạng khối. Trong phần này sẽ
giới thiệu cách khối dữ liệu mô hình dữ liệu n chiều. Ta cũng sẽ tìm hiểu về khái
niệm phân cấp và làm thế nào chúng có thể được dùng trong thao tác cơ bản
OLAP để khai thác ở nhiều cấp độ.
2.1 TỪ BẢNG DỮ LIỆU VÀ BẢNG TÍNH TỚI KHỐI DỮ LIỆU
"Một khối dữ liệu là gì?" Một khối dữ liệu cho phép dữ liệu được mô hình
và được nhìn ở nhiều chiều. Nó được xác định bởi các chiều và các độ đo
(facts). Nói chung, chiều là những khía cạnh hoặc thực thể mà tổ chức muốn lưu
trữ. Ví dụ, AllElectronics có thể tạo ra kho dữ liệu sales để lưu giữ những record
về doanh số bán hàng của cửa hàng trong các chiều về time, item, branch, và
location. Những chiều này cho phép cửa hàng lưu vết của những thứ như doanh
số bán hàng hằng tháng của các item, các branch và các location.

Khai Thác Dữ Liệu

Page 12


Kho dữ liệu và công nghệ OLAP: Tổng Quan

Bảng 2: Một thể hiện 2 chiều của dữ liệu bán hàng cho AllElectronics theo các
chiều time, item tại địa điểm của chi nhánh là “Vancouver”.

Mỗi chiều có thể có một bảng liên kết với nó, được gọi là bảng chiều
(dimension table) mô tả các chiều. Ví dụ, một bảng chiều cho item có thể chứa
các thuộc tính item_name, brand, và type. Bảng chiều có thể được chỉ định bởi
người sử dụng hoặc các chuyên gia, hoặc tự động tạo ra và điều chỉnh dựa trên
các bảng phân phối dữ liệu.
Một mô hình dữ liệu đa chiều thường được tổ chức xung quanh một chủ
đề trung tâm, ví dụ: sales. Chủ đề này được đại diện bởi một bảng độ đo (fact
table). Facts là số đo có dạng số. Hãy xem chúng như số lượng mà để phân tích
các mối quan hệ giữa các chiều. Ví dụ về các fact cho kho dữ liệu sales bao gồm
dollars_sold, units_sold, amount_budgeted. Fact table bao gồm tên của facts,
hay độ đo, và khóa chỉ tới các chiều liên quan của bảng chiều (dimention table).
Ta sẽ có được một hình ảnh rõ ràng về cách thức hoạt động của mô hình này khi
chúng ta nhìn vào lược đồ đa chiều.
Mặc dù ta thường nghĩ về hình khối như cấu trúc hình học 3-D, nhưng
trong kho dữ liệu các khối dữ liệu có thể có n-chiều. Để có được một sự hiểu
biết tốt hơn về khối dữ liệu và các mô hình dữ liệu đa chiều, chúng ta hãy bắt
Khai Thác Dữ Liệu

Page 13


Kho dữ liệu và công nghệ OLAP: Tổng Quan
đầu bằng cách nhìn vào một khối lập phương dữ liệu đơn giản 2-D thực ra là
một bảng thể hiện doanh số bán hàng từ AllElectronics. Đặc biệt, ta sẽ nhìn dữ
liệu bán hàng AllElectronics cho các item được bán mỗi quý tại thành phố
Vancouver. Những dữ liệu này được hiển thị trong Bảng 3.2. Trong thể hiện 2-D
này, doanh số bán hàng ở Vancouver được đặt trong các chiều time và item. Độ
đo (fact) ở đây là dollars_sold. Bây giờ, giả sử rằng ta muốn xem các dữ liệu bán
hàng với một chiều thứ ba. Ví dụ, giả sử ta muốn xem dữ liệu theo chiều time và
item, cũng như location cho các thành phố Chicago, New York, Toronto, và

Vancouver. Những dữ liệu 3-D này được thể hiện trong Bảng 3.3. Các dữ liệu 3D của Bảng 3.3 được thể hiện như là một loạt các bảng 2-D. Trên lý thuyết, ta
cũng có thể thể hiện dữ liệu dưới dạng của một khối dữ liệu 3-D, như trong Hình
3.1.
Bảng 3

Khai Thác Dữ Liệu

Page 14


Kho dữ liệu và công nghệ OLAP: Tổng Quan

Giả sử bây giờ ta muốn xem dữ liệu sale với một chiều thứ 4 được thêm
vào chẳng hạn như supplier. Xem thông tin trong 4-D sẽ trở nên khó khăn. Tuy
vậy, chúng ta có thể suy nghĩ một khối lập phương 4-D như là một loạt các hình
khối 3-D, như trong hình 3.2. Nếu ta tiếp tục theo cách này, ta có thể hiển thị
bất kỳ dữ liệu nào như là một loạt khối (n - 1)-D. Các khối dữ liệu là một phép
mô hình hóa cho việc lưu trữ dữ liệu đa chiều. Thực tế việc lưu trữ vật lý của dữ
liệu có thể khác với biểu diễn logic của nó. Điều quan trọng cần nhớ là dữ liệu
khối dữ liệu là n-chiều và không giới hạn dữ liệu đến 3-D.

Khai Thác Dữ Liệu

Page 15


Kho dữ liệu và công nghệ OLAP: Tổng Quan

Các bảng trên thể hiện dữ liệu ở các mức độ tổng hợp khác nhau. Trong
kho dữ liệu, khối dữ liệu liên hệ tới cuboid. Cho một tập hợp các chiều, ta có thể

tạo ra một lưới các cuboid, mỗi cuboid thể hiện dữ liệu ở các mức độ tổng hợp
khác nhau, hay group-by. Lưới của các cuboid sau đó được xem như khối dữ
liệu. Hình 3.3 cho thấy một lưới của các cuboid tạo thành một khối dữ liệu với
các chiều time, item, location, supplier.
Các cuboid giữ mức tổng kết thấp nhất được gọi là cuboid cơ sở. Ví dụ,
cuboid 4-D trong hình 3.2 là cuboid cơ sở cho time, item, location, tổng kết cho
tất cả supplier. Cuboid 0-D có mức độ tổng kết cao nhất, được gọi là cuboid
apex. Trong ví dụ của chúng ta, đây là tổng doanh thu bán hàng, hay
dollars_sold, tóm tắt trên tất cả bốn chiều. Các apex cuboid được thể hiện bởi tất
cả.

Khai Thác Dữ Liệu

Page 16


Kho dữ liệu và công nghệ OLAP: Tổng Quan
2.2 STARS, SNOWFLAKES, FACT CONSTELLATIONS: LƯỢC ĐÒ
CHO CƠ SỞ DỮ LIỆU ĐA CHIỀU
Mô hình dữ liệu thực thể-quan hệ thường được sử dụng trong thiết kế của
cơ sở dữ liệu quan hệ, nơi một lược đồ cơ sở dữ liệu bao gồm một tập các thực
thể và các mối liên hệ giữa chúng. Một mô hình dữ liệu như vậy phù hợp với xử
lý giao dịch trực tuyến. Tuy nhiên, một kho dữ liệu đòi hỏi một lược đồ hướng
chủ đề súc tích tạo thuận tiện cho việc phân tích dữ liệu online.
Hầu hết các mô hình dữ liệu phổ biến là một mô hình đa chiều. Như một
mô hình có thể tồn tại ở dạng của một lược đồ ngôi sao, lược đồ bông tuyết, hay
lược đồ chòm sao. Hãy xem xét mỗi một loại lược đồ.
Lược đồ sao: là mô hình dữ liệu phổ biến nhất, trong đó kho dữ liệu chứa
(1) một bảng độ đo trung tâm lớn (fact table) có chứa phần lớn dữ liệu, không có
dư thừa dữ liệu, và (2) một tập hợp các bảng nhỏ hơn (dimention table), mỗi

chiều có 1 bảng.
Ví dụ 3.1. Lược đồ sao. Một lược đồ cho doanh số bán hàng
AllElectronics được hiển thị trong hình 3.4. Sales được xem xét dưới 4 chiều
time, item, brand, và địa điểm. Lược đồ có bảng fact trung tâm cho sales có chứa
các key cho mỗi chiều, cùng với hai độ đo: dollars_sold và units_sold. Để giảm
thiểu kích thước của bảng fact, ID cho các chiều do hệ thống tạo ra (như
time_key, item_key).
Chú ý rằng trong lược đồ sao, mỗi chiều được đại diện chỉ bởi một bảng,
và mỗi bảng có chứa một tập các thuộc tính. Ví dụ, bảng chiều location chứa tập
thuộc tính {location key, street, city, province or state, country}. Điều này có thể
dẫn tới dư thừa. Ví dụ, "Vancouver" và "Victoria" được cả hai thành phố ở tỉnh
của người Canada của British Columbia. Thực thể cho các thành phố như vậy
Khai Thác Dữ Liệu

Page 17


Kho dữ liệu và công nghệ OLAP: Tổng Quan
trong bảng chiều location sẽ tạo ra sự dư thừa trong số các thuộc tính
province_or_state và country, đó là, (…,Vancouver, British Columbia, Canada)
và (..., Victoria, British Columbia,Canada). Hơn nữa, các thuộc tính trong một
bảng chiều có thể tạo thành hoặc là một hệ thống phân cấp hoặc một lưới.

Lược đồ bông tuyết: Lược đồ bông tuyết là một biến thể của mô hình
lược đồ sao, trong đó một số bảng chiều được bình thường hóa, qua đó tiếp tục
chia tách các dữ liệu vào các bảng mới. Lược đồ kết quả hình thành một đồ thị
lược đồ tương tự như một bông tuyết.

Sự khác biệt lớn giữa các mô hình lược đồ bông tuyết và ngôi sao là bảng
chiều của mô hình bông tuyết có thể được giữ trong hình thức bình thường hóa

để giảm dư thừa. Bảng như vậy là dễ dàng để duy trì và tiết kiệm không gian lưu
trữ. Tuy nhiên, tiết kiệm không gian này là không đáng kể so với mức độ điển
Khai Thác Dữ Liệu

Page 18


Kho dữ liệu và công nghệ OLAP: Tổng Quan
hình của bảng fact. Hơn nữa, cấu trúc bông tuyết có thể làm giảm hiệu quả của
các trình duyệt, vì cần thực hiện nhiều phép kết. Do đó, hiệu năng hệ thống có
thể bị ảnh hưởng. Do đó, mặc dù các lược đồ bông tuyết làm giảm sự dư thừa,
nó không phải là phổ biến như các lược đồ sao trong thiết kế kho dữ liệu.

Ví dụ 3.2 Lược đồ Bông tuyết. Một lược đồ bông tuyết cho doanh số bán hàng
AllElectronics được cho trong hình 3.5. Ở đây, trong bảng fact giống với bảng
fact của sales với lược đồ sao trong hình 3.4. Sự khác biệt giữa hai lược đồ là
trong định nghĩa của bảng chiều. Bảng chiều cho item trong lược đồ sao được
bình thường hóa trong lược đồ bông tuyết, kết quả cho ra bảng item và bảng
supplier mới. Ví dụ, bảng chiều item bây giờ chứa các thuộc tính item_key, item
name, brand, type, và supplier key, trong đó supplier_key liên kết với bảng chiều
supplier, có chứa supplier_key và supplier_type. Tương tự, bảng chiều của
location trong lược đồ sao có thể được đưa vào 2 bảng: location và city. city_key
trong bảng location mới liên kết tới chiều city. Chú ý rằng có thể thực hiện trên
province_or_state và country trong lược đồ bông tuyết trong hình 3.5 hình, khi
muốn.

Khai Thác Dữ Liệu

Page 19



Kho dữ liệu và công nghệ OLAP: Tổng Quan

Lược đồ chòm sao: Các ứng dụng phức tạp có thể yêu cầu nhiều bảng
fact để chia sẻ các bảng chiều. Loại lược đồ này có thể được xem như là một tập
các sao, và do đó được gọi là galaxy schema hay fact constellation.

Ví dụ 3.3 Lược đồ chòm sao. Trong hình 3.6 là một lược đồ chòm sao. Lược đồ
này định nghĩa 2 bảng fact, sales và shipping. Định nghĩa của bảng sales giống
như của lược đồ sao. Bảng shipping có 5 chiều, hay 5 key: item_key,time_key,
shipper_key, from_ location, và to_location và 2 độ đo là dollars_cost và
units_shipped. Một lược đồ chòm sao cho phép các bảng chiều được chia sẻ
giữa các bảng fact. Ví dụ, bảng chiều time, item và location được chia sẻ giữa
các bảng fact của shipping và sales.
Trong việc lưu trữ dữ liệu trong kho có sự phân biệt giữa data warehouse
và data mart. Một data warehouse tập hợp thông tin từ nhiều chủ đề của tổ chức
như khách hàng, mặt hàng, bán hàng, tài sản, nhân sự, nên giới hạn của nó là
trên toàn tập đoàn. Đối với kho dữ liệu, lược đồ chòm sao được dùng phổ biến,
Khai Thác Dữ Liệu

Page 20


Kho dữ liệu và công nghệ OLAP: Tổng Quan
bởi vì nó có thể mô hình hóa nhiều chủ đề có liên hệ với nhau. Một data mart chỉ
là một tập con của data warehouse tập trung vào các chủ đề được chọn, và do đó
giới hạn của nó chỉ là trong 1 phòng ban. Trong data mart, lược đồ sao và bông
tuyết được dùng phổ biến hơn vì các phòng ban thường chỉ tập trung vào một
chủ đề.


2.3 VÍ DỤ ĐỊNH NGHĨA LƯỢC ĐỒ SAO, LƯỢC ĐỒ BÔNG TUYẾT
VÀ LƯỢC ĐỒ CHÒM SAO
Ngôn ngữ truy vấn khai thác dữ liệu có thể được dùng đề xác định các
công việc khai thác dữ liệu. Đặc biệt, ta giải thích làm sao để định nghĩa data
warehouse và data mart trong ngôn ngữ khai thác dữ liệu dựa trên SQL, gọi là
DMQL.
Data warehouse và data mart có thể được định nghĩa bằng cách dùng 2
ngôn ngữ gốc, 1 cho định nghĩa khối dữ liệu và 1 cho định nghĩa chiều. Định
nghĩa khối dữ liệu theo cú pháp sau:
define cube <cube name> [<dimension list>]: <measure list>
Khai Thác Dữ Liệu

Page 21


Kho dữ liệu và công nghệ OLAP: Tổng Quan
Định nghĩa chiều theo cú pháp sau:
define dimension <dimension name> as (<attribute or dimension list>)
Các ví dụ định nghĩa lược đồ sao, bông tuyết và chòm sao của các ví dụ 3.1 tới
3.3 ở trên dùng DMQL.
Ví dụ 3.4. Định nghĩa lược đồ sao. Lược đồ sao của ví dụ 3.1 và hình 3.4 được
định nghĩa như sau:
define cube sales star [time, item, branch, location]:
dollars sold = sum(sales in dollars), units sold = count(*)
define dimension time as (time key, day, day of week, month, quarter, year)
define dimension item as (item key, item name, brand, type, supplier type)
define dimension branch as (branch key, branch name, branch type)
define dimension location as (location key, street, city, province or state,
country)
Câu define cube xác định khối dữ liệu sales_star có bảng fact sales của ví dụ

3.1. Câu lệnh này định nghĩa các chiều và 2 độ đo, dollars_sold và units_sold.
Khối dữ liệu có 4 chiều time, item, branch, location. Câu lệnh define dimension
dùng để định nghĩa các chiều.
Ví dụ 3.5 Định nghĩa lược đồ bông tuyết. Lược đồ bông tuyết của ví dụ 3.2 và
hình 3.5 được định nghĩa trong DMQL như sau:
define cube sales snowflake [time, item, branch, location]:
dollars sold = sum(sales in dollars), units sold = count(*)
define dimension time as (time key, day, day of week, month, quarter, year)
define dimension item as (item key, item name, brand, type, supplier
Khai Thác Dữ Liệu

Page 22


Kho dữ liệu và công nghệ OLAP: Tổng Quan
(supplier key, supplier type))
define dimension branch as (branch key, branch name, branch type)
define dimension location as (location key, street, city
(city key, city, province or state, country))
Định nghĩa này tương tự như định nghĩa lược đồ của sales_star (Ví dụ
3.4), khác là item và location được bình thường hóa. Ví dụ, chiều item của khối
dữ liệu sales-star đã được hiện thực trong khối dữ liệu sales_snowflake vào 2
bảng chiều là item và supplier. Chú ý là định nghĩa chiều supplier được đặt
trong định nghĩa chiều item. Định nghĩa supplier trong cách này ngầm tạo ra
supplier_key trong định nghĩa bảng chiều item. Tương tự, chiều location của
khối dữ liệu sales_star đã được hiện thực hóa trong khối dữ liệu
sales_snowflake vào 2 bảng chiều location và city. Định nghĩa chiều city đặt
trong định nghĩa chiều location. Theo cách này, city_key được ngầm tạo ra trong
định nghĩa bảng chiều location.
Ví dụ 3.6. Định nghĩa lược đồ chòm sao của lược đồ trong ví dụ 3.3 và hình 3.6

bằng DMQL như sau:
define cube sales [time, item, branch, location]:
dollars sold = sum(sales in dollars), units sold = count(*)
define dimension time as (time key, day, day of week, month, quarter, year)
define dimension item as (item key, item name, brand, type, supplier type)
define dimension branch as (branch key, branch name, branch type)
define dimension location as (location key, street, city, province or state,
country)
define cube shipping [time, item, shipper, from location, to location]:
dollars cost = sum(cost in dollars), units shipped = count(*)
Khai Thác Dữ Liệu

Page 23


Kho dữ liệu và công nghệ OLAP: Tổng Quan
define dimension time as time in cube sales
define dimension item as item in cube sales
define dimension shipper as (shipper key, shipper name, location as
location in cube sales, shipper type)
define dimension from location as location in cube sales
define dimension to location as location in cube sales
Câu lệnh define cube được dùng để định nghĩa khối dữ liệu của sales và
shipping, tương ứng với 2 bảng fact của lược đồ trong ví dụ 3.3. Chú ý chiều
time, item, location của khối dữ liệu sales được chia sẻ giữa khối sales và
shipping. Điều này được thể hiện ở chiều time như sau. Dưới câu lệnh define
cube cho shipping, câu lệnh “define dimension time as time in cube sales”
được xác định.
2.4 ĐỘ ĐO: PHÂN LOẠI VÀ TÍNH TOÁN
Một điểm đa chiều trong khối dữ liệu có thể được định nghĩa bởi một tập

của các cặp giá trị chiều, ví dụ <= “Q1”, location = “Vancouver”, item =
“computer”>. Một độ đo của khối dữ liệu là một hàm số có thể được đánh giá
tại mỗi điểm của không gian khối dữ liệu. Một giá trị độ đo tại 1 điểm được tính
tương ứng với các giá trị chiều của điểm đó.
Độ đo có thể được phân ra thành 3 loại dựa vào loại của hàm kết hợp:
distributive, algebraic, holistic.
 Distributive: Một hàm kết hợp là distributive nếu nó có thể được tính
toán bằng cách phân phối. Giả sử dữ liệu được chia ra thành n tập hợp. Ta
áp dụng hàm này vào mỗi tập hợp, kết quả cho ra n giá trị. Nếu kết quả rút
ra từ n giá trị này giống với kết quả khi áp dụng hàm vào toàn bộ tập dữ
liệu chưa phân chia thì hàm là hàm distributed. Ví dụ các hàm distributed

Khai Thác Dữ Liệu

Page 24


Kho dữ liệu và công nghệ OLAP: Tổng Quan
là: count(), sum(), min(), max(). Một độ đo là distributed nếu nó được tính
từ hàm distributed.
 Algebraic: hàm kết hợp là algebraic nếu nó có thể được tính toán bởi một
hàm algebraic với M tham số, mỗi tham số đó được tính bằng hàm
distributed, ví dụ hàm avg() được tính bằng sum()/count(). Tương tự hàm
min_M() và max_M() là hàm kết hợp algebraic. Một độ đo algebraic được
tính bằng hàm algebraic.
 Holistic: Hàm holistic không có giới hạn về kích thước lưu trữ cần thiết
để mô tả các thành phần để kết hợp. Ví dụ hàm median(), mode(), rank().
Một độ đo là holistic nếu nó được tính bằng các hàm holistic.
Hầu hết các ứng dụng khối dữ liệu yêu cầu tính toán hiệu quả cả độ đo
distributed và algebraic. Có nhiều kỹ thuật phục vụ cho việc này. Nhưng, rất khó

để tính toán các độ đo holistic một cách hiệu quả mặc dù vẫn có một số phương
pháp xấp xỉ các độ đo holistic. Ví dụ thay vì tính median() một cách chính xác
thì ta có thể áp dụng phương trình trong chương 2 để xấp xỉ giá trị của tập dữ
liệu lớn. Trong nhiều trường hợp, các kỹ thuật như vậy rất hiệu quả để vượt qua
các khó khăn trong việc tính toán các độ đo holistic.
Ví dụ: Rất nhiều độ đo của khối dữ liệu được tính bằng các phép tính kết
hợp. Trong hình 3.4, ta thấy lược đồ sao cho sales có 2 độ đo dollars_sold và
units_sold. Trong ví dụ 3.4, khối dữ liệu sales_star tương ứng với lược đồ được
định nghĩa bằng các lệnh DMQL. “Làm sao để các câu lệnh này kết hợp lại để
tạo khối dữ liệu”.
Giả sử mô hình dữ liệu quan hệ của lược đồ AllElectronics:
time(time key, day, day of week, month, quarter, year)
item(item key, item name, brand, type, supplier type)
branch(branch key, branch name, branch type)
location(location key, street, city, province or state, country)
Khai Thác Dữ Liệu

Page 25


×