DM&DW 2010 April 20, 2022 Kho dữ liệu và khai phá dữ liệu Chương 3 1 KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU Chương 3 Giới thiệu chung về Kho dữ liệu Tài liệu này sử dụng một phần Bài giảng ”Data Mining Conce[.]
Trang 1KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU Chương 3: Giới thiệu chung về Kho dữ liệu
Tài liệu này sử dụng một phần Bài giảng ”Data Mining: Concepts and Techniques” — Slides for Textbook —
© Jiawei Han and Micheline Kamber Department of Computer Science University of Illinois at Urbana-Champaign
www.cs.uiuc.edu/~hanj
Trang 2Nội dung
Khái niệm kho dữ liệu
Mô hình dữ liệu đa chiều
Kiến trúc kho dữ liệu
Thi hành kho dữ liệu
Từ xây dựng kho dữ liệu tới KPDL
Sự phát triển mới của công nghệ khối dữ liệu
Trang 3Khái niệm kho dữ liệu
Kho dữ liệu (KDL) được định nghĩa theo nhiều cách song
tính thời gian và không thay đổi để hỗ trợ quá trình tạo
quyết định quản lý.”—W H Inmon [Inm02]
Bốn “đặc trưng”: hướng chủ đề, tích hợp, có tính thời gian
và không thay đổi
[Inm02] W H Inmon (2002) Building the Data Warehouse (Third Edition) John Wiley
Trang 4Kho dữ liệu: k hái niệm
Kho dữ liệu là một môi trường thông tin [Pon01]:
Cung cấp một khung nhìn tích hợp và tổng thể về doanh nghiệp
Tạo sự sẵn có thông tin hiện tại và lịch sử của doanh nghiệp để thuận lợi ra quyết định
Tạo khả năng giao dịch hỗ trợ quyết định mà không cản trở hệ thống tác nghiệp
Cung cấp tính nhất quán thông tin doanh nghiệp
Trình diễn nguồn thông tin chiến lược linh hoạt và tương tác được
Bổ sung đặc trưng thứ năm là “kết hạt dữ liệu - Data
Granularity ”
[Pon01] Paulraj Ponniah, Data warehousing fundamentals, John Wiley & Sons Inc., 2001
Trang 5Kiến trúc kho dữ liệu: sơ bộ
[Ora02] Oracle9 i Data Warehousing Guide, Release 2 (9.2), March 2002, Part No A96520-01
Trang 6Tạo kho dữ liệu – Data
warehousing
Xây dựng KDL (“KDL hóa”): Quá trình xây dựng và sử dụng
Trang 7KDL — đặc trưng hướng chủ đề
Được tổ chức xung quanh các chủ đề chính,
chẳng hạn như khách hàng, sản phẩm, bán
hàng.
Tập trung vào xây dựng mô hình và phân tích dữ
liệu để tạo quyết định; không phái quá trình tác
nghiệp hoặc giao dịch hàng này.
Cung cấp một khung nhìn đơn giản và ngắn gọn
về các đề tài thuộc chủ đề cụ thể nhờ loại bỏ các
dữ liệu vô dụng trong quá trình ra quyết định.
Trang 8Ứng dụng tác nghiệp chủ đề
KDL
KDL — đặc trưng hướng chủ đề
Trang 9KDL - đặc trưng tích hợp
nguồn dữ liệu phức, không đồng nhất
CSDL quan hệ, CSDL file phẳng (flat files: mã
hóa CSDL sang dạng đặc biệt như txt hoặc ini), các bản ghi giao dịch trực tuyến
tích hợp dữ liệu.
Đảm bảo tính nhất quán quy ước đặt tên, cấu
trúc mã hóa, đo lường thuộc tính, … giữa các nguồn dữ liệu khác nhau
VD, giá khách sạn: tiền tệ, thuế, bao gói ăn sáng…
Dữ liệu chuyển tới KDL thì nó được chuyển đổi
Trang 10KDL - đặc trưng tích hợp
Trang 11KDL: các vấn đề tích hợp
Trang 12KDL: chủ đề - tích hợp
Trang 13KDL - đặc trưng thời gian
so với hệ thống CSDL tác nghiệp.
CSDL tác nghiệp: dữ liệu giá trị hiện thời.
Dữ liệu KDL: cung cấp thông tin theo “quan
điểm” lịch sử (chẳng hạn, 5-10 năm quá khứ)
Chứa yếu tố thời gian, hiện hoặc ẩn
Nhưng cốt lõi của dữ liệu tác nghiệp có thể chứa hoặc không chứa “yếu tố thời gian”.
Trang 14KDL - đặc trưng thời gian
•Chiều thời gian 5=10 năm
•Cấu trúc chính chứa / không
chứa yếu tố thời gian
Trang 15KDL - đặc trưng không thay đổi
chuyển từ môi trường tác nghiệp sang.
trong môi trường KDL.
Không có xử lý giao dịch, phục hồi và cơ chế
điều khiển đồng thời.
Chí có hai thao tác truy nhập dữ liệu:
Tải ban đầu dữ liệu và truy cập dữ liệu Dữ liệu nguồn không biến đổi trong KDL.
Trang 16KDL - đặc trưng không thay đổi
Trang 17KDL ≠ HQT CSDL không đồng nhất
Tích hợp CSDL không đồng nhất truyền thống:
Xây dựng bộ bao gói/bộ hòa hợp trên đỉnh CSDL không
đồng nhất
Tiếp cận theo truy vấn
Khi một truy vấn được đưa đến CSDL cục bộ: dùng một siêu từ điển để dịch truy vấn thành các truy vấn phù hợp với các CSDL cục bộ riêng rẽ và kết quả được tích hợp thành một tập trả lời toàn cục
Phức tạp lọc thông tin, cạnh tranh tài nguyên
KDL: định hướng cập nhật, hiệu năng cao
Thông tin từ các nguồn không đồng nhất được tích hợp
trước và lưu trữ trong KDL để truy vấn và xử lý trực tiếp
Trang 18KDL và Hệ QTCSDL tác nghiệp
OLTP (xử lý giao dịch trực tuyến / on-line transaction
processing)
Bài toán chính của Hệ QT CSDL quan hệ truyền thống
Tác nghiệp hàng ngày: thu mua, lưu kho, ngân hàng, sản xuất,
tiền lương, đăng ký, kế toán, vv
OLAP (xử lý phân tích trực tuyến/ on-line analytical
processing)
Bài toand chính của hệ thống KDL
Phân tích dữ liệu và tạo quyết định
Đặc trưng phân biệt (OLTP <> OLAP):
Định hướng người dùng và hệ thống: khách hàng <>thị trường
Nội dung dữ liệu: hiện thời, cụ thể <> lịch sử, hợp nhất
Thiết kế CSDL: ER + ứng dụng <> hình sao + chủ đề
Khung nhìn: hiện thời, cục bộ <> tiến hóa, tích hợp
Trang 19OLTP <> OLAP
Trang 20Kho dữ liệu riêng biệt
DBMS— phân bổ cho OLTP: phương pháp truy cập, lập chỉ
mục, điều khiển đồng thời, khôi phục
Warehouse—phân bổ cho OLAP: truy vấn OLAP phức, khung nhìn đa chiều, hợp nhất
Thiếu dữ liệu : Hỗ trợ quyết định cần dữ liệu lịch sử mà CSDL tác nghiệp thường không duy trì
Hợp nhất dữ liệu : Hỗ trợ quyết định đòi hỏi hợp nhất (tổng
hợp, tóm tắt) của dữ liệu từ các nguồn không đồng nhất
Chất lượng dữ liệu : nguồn khác nhau sử dụng trình diễn, mã hóa và khuôn dạng dữ liệu không nhất quán (cần phải hòa
Trang 21Kho dữ liệu riêng biệt
Trang 22Từ các bảng và bảng tính tới khối dữ
liệu
Một KDL dựa trên một mô hình dữ liệu đa chiều với
khung nhìn dữ liệu dưới dạng các khối dữ liệu
Một khối dữ liệu, như sales , cho phép dữ liệu được mô
hình hóa và được nhìn theo đa chiều
Bảng chiều, như item (item_name, brand, type), hoặc
time(day, week, month, quarter, year)
Bảng sự kiện chứa các giá trị “đo” (như dollars_sold ) và
các khóa tới mỗi bảng chiều liên quan
Theo cách nói của KDL, một khối cơ sở n-D được gọi là
một cuboid cơ sở Cao nhất là 0-D cuboid chứa tóm tắt
ở mức cao nhất (được gọi là cuboid đỉnh) Dàn các
cuboid tạo thành một khối dữ liệu
Trang 23Khối dữ liệu sales: Dàn các
Trang 24Chương 3: Cơ sở về kho dữ liệu
Trang 25Mô hình khái niệm của KDL
Mô hình KDL: chiều và giá trị đo
trung tâm được kết nối với một tập các bảng chiều
rộng của sơ đồ hình sao trong đó một vài cấu trúc chiều được chuẩn hóa thành một tập các bảng chiều nhỏ hơn, hình thức tương tự như bông tuyết.
tạo khung nhìn một tập các “ngôi sao”, nên còn
được gọi sơ đồ ngân hà ( galaxy schema) hoặc chòm sao sự kiện
Trang 26city state_or_province country
location
Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures
item_key item_name brand
type supplier_type
Trang 27Ví dụ về sơ đồ bông tuyết
city_key location
Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures
item_key item_name brand
type supplier_key
supplier
city_key city state_or_province country
city
Trang 28Example of Fact Constellation
city province_or_state country
location
Sales Fact Table
time_key item_key branch_key location_key units_sold dollars_sold avg_sales Measures
item_key item_name brand
type supplier_type
shipper_key
shipper
Trang 29Một ngôn ngữ hỏi KPDL: DMQL
Data Mining Query Language: DMQL
Định nghĩa khối - Cube Definition (Bảng sự kiện)
define cube <cube_name> [<dimension_list>]:
<measure_list>
Dimension Definition ( Dimension Table )
(<attribute_or_subdimension_list>)
Special Case (Shared Dimension Tables)
First time as “cube definition”
<dimension_name_first_time> in cube
<cube_name_first_time>
Trang 30Xác định sơ đồ hình sao trong
DMQL
define cube sales_star [time, item, branch,
location]:
dollars_sold = sum(sales_in_dollars), avg_sales
= avg(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)
Trang 31Xác định sơ đồ bông tuyết trong
define dimension time as (time_key, day, day_of_week,
month, quarter, year)
define dimension item as (item_key, item_name, brand,
type, supplier(supplier_key, supplier_type))
define dimension branch as (branch_key, branch_name,
branch_type)
define dimension location as (location_key, street,
city(city_key, province_or_state, country))
Trang 32Xác định sơ đồ chòm sao sự kiện trong
DMQL
define cube sales [time, item, branch, location]:
dollars_sold = sum(sales_in_dollars), avg_sales = avg(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]:
dollar_cost = sum(cost_in_dollars), unit_shipped = count(*)
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
Trang 33Giá trị đo: Ba loại
Phân biệt : Nếu kết quả nhận được từ áp dụng hàm
tới n giá trị kết hợp giống như kết quả nhận được
bởi áp dụng chính hàm đó trên mọi giá trị không
phân hoạch.
Chẳng hạn, count(), sum(), min(), max().
Đại số (algebraic) : nếu nó được tính toán bởi một
hàm đại số với M đối số (M là một số nguyên hữu
hạn), mỗi đối số thu được bởi một hàm tích hợp
phân bố.
Chẳng hạn, avg(), min_N(), standard_deviation().
Lập luận (holistic): Nếu cần tới một hằng số hạn chế
Chẳng hạn, median(), mode(), rank().
Trang 34Một kiến trúc khái niệm: chiều (địa
danh)
all
Mexico Canada
Spain Germany
city
Trang 35Khung nhìn của các KDL và các kiến
trúc
Specification of hierarchies
Trang 36Dữ liệu đa chiều
Các chiều: SP, Địa danh, Thời gian Các đường tóm tắt phân cấp
Industry Region Year Category Country Quarter Product City Month Week Office Day
Trang 38Tương ứng Cuboids tới khối DL
all
product date country
product,date product,country date, country
product, date, country
0-D(apex) cuboid
1-D cuboids
2-D cuboids
3-D(base) cuboid
Trang 39Xem lướt một khối DL
Trực quan hóa (Visualization)
Năng lực OLAP (OLAP capabilities)
Vận động tương tác
Trang 40Thao tác OLAP điển hình (10/6)
Roll up (Cuộn lên/drill-up): tóm tắt dữ liệu (summarize data)
Nhờ leo theo phân cấp hoặc theo rút gọn chiều
Drill down (khoan xuống/roll down): ngược với cuộn lên
Từ tóm tắt mức cao tới tóm tắt mức thấp hoặc dữ liệu chi tiết,
or mở đầu một chiều mới
Thái và vạch ô (Slice and dice):
Chiếu và chọn (project and select )
Xoay Trục (quay) / Pivot (rotate):
Xoay chiều khối DL, trực quan hóa, 3D thành một dãy mặt hai
chiều.
Thao tác khác
Khoan chéo (drill across): cuốn hút nhiều hơn 1 bẳng sự kiện.
Khoan thẳng (drill through): xuyên quan mức đáy của KDL tới
các bảng quan hệ đáy của nó (dùng SQL)
Trang 41Mô hình truy vấn mạng ngôi sao
PRODUCT LINE PRODUCT ITEM
SALES PERSON
DISTRICT
DIVISION
CITY COUNTRY
REGION
Location
DAILY QTRLY
ANNUALY
Time
Mỗi chu trình được gọi là một vết
Trang 42Sử dụng kho dữ liệu
Xử lý thông tin (Information processing)
Hỗ trợ truy vấn, phân tích thống kê cơ bản, và lập báo cáo
sử dụng xuyên âm, bảng, sơ đồ cột và đồ thị
Xử lý phân tích
Phân tích đa chiều dữ liệu trong kho dữ liệu
Hỗ trợ thao tác OLAP cơ bản, cuộn lên, khoan xuống, xoay
KPDL
Phát hiện tri thức từ mẫu ẩn
Hỗ trợ mô hình phân tích kết hợp, xây dựng, thi hành phân lớp và dự báo, và trình diễn kết quả khai phá bằng tiện ích trực quan hóa.
Trang 43Chương 3: Cơ sở về kho dữ liệu
Trang 44Thiết kế KDL: Một khung phân tích
kinh doanh
4 khung nhìn đối với thiết kế một KDL
Khung trên-xuống (Top-down view)
Cho phép lựa chọn thông tin liên quan cần thiết cho KDL
Khung nguồn DL (Data source view)
Trình bày thông tin được nắm giữ, lưu trữ và quản lý bới
hệ thống tác nghiệp
Khung KDL (Data warehouse view)
Chứa các bảng sự kiện và các bảng chiều
Khung truy vấn kinh doanh (Business query view)
Thấy phối cảnh của dữ liệu trong kho từ khung nhìn của người sử dụng
Trang 45Quá trình thiết kế KDL
Top-down: Khởi đầu với thiết kế và lên kế hoạch khái quát
(hoàn thành)
Bottom-up: Khởi đầu từ kinh nghiệm và mẫu (nhanh)
Thác nước (Waterfall): Phân tích cấu trúc và hệ thống tại
mỗi bước trước khi tiến hành bước tiếp theo
Đài phun nước/xoán ốc (Spiral): Phát sinh nhanh hệ thống chức năng tăng trưởng, chu kỳ ngắn và nhanh
Chọn quá trình kinh doanh để mô hình hóa, như đặt hàng,
gửi danh đơn hàng, …
Chọn hạt/ grain (dữ liệu nguyên tử) của quá trình kinh
doanh
Chọn các chiều sẽ áp dụng tới mỗi bản ghi bảng sự kiện
Chọn độ đo sẽ cư trú mỗi bản ghi bảng sự kiện
Trang 46Kiến trúc đa tầng
Data Warehouse
Extract Transform Load
Refresh
Analysis Query Reports Data mining
Monitor
&
Integrator Metadata
Trang 47Kiến trúc ba tầng
Trang 48Ba mô hình KDL
Kho doanh nghiệp (Enterprise warehouse)
Tập hợp tất cả các thông tin về các chủ đề trải trên
toàn bộ hãng
KDL chuyên đề (Data Mart)
Một tập con dữ liệu toàn hãng có giá trị đối với một
nhóm người dùng chuyên biệt Phạm vi của KDL chuyên đề được tưh giới hạn trong các nhóm chuyên biệt, được chọn lọc, ví dụ như KDL chuyên đề tiếp thị.
KDL chuyên đề Độc lập <> Phụ thuộc (trực tiếp từ KDL)
Kho ảo (Virtual warehouse)
Một tập khung nhìn trên CSDL tác nghiệp
Chỉ một bộ phận khung tím tắt khả nang có thể hữu hình
Trang 49Phát triển KDL: Một tiếp cận đề
cử
Định nghĩa một mô hình dữ liệu hãng mức cao
Data Mart
Data Mart
Distributed Data Marts
KDL đa mức
KDL toàn
bộ hãng
Làm mịn mô hình Làm mịn mô hình
Trang 50Kiến trúc phục vụ OLAP
Dùng CSDL quan hệ hoặc quan hệ mở rộng để lưu trữ và quản
lý KDL và phần mềm lớp giữa để hỗ trợ các bộ phận bị thiếu hụt.
Bao gói tối ưu hóa lớp trong (backend) của DBMS, thi hành tổ
hợp lôgic dẫn đường và các tiện ích và dịch vụ bổ sung.
Tính khả cỡ lớn hơn
Hệ thống lưu giữ đa chiều theo mảng (kỹ thuật ma trận thưa)
Đánh chỉ mục nhanh tới dữ liệu mô tả (tóm tắt) được tính toán
trước
Mềm dẻo cho người dùng, chẳng hạn, mức thấp: quan hệ, mức
cao: mảng
Trang 51Mô hình dữ liệu đa chiều
Khuynh hướng suy nghĩ của người quản lý
(multidimensionally) Ví dụ, khuynh hướng
mô tả những gì mà công ty làm:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”.
Người thiết kế DWH thường lắng nghe cẩn thận và thêm vào các nhấn mạnh đặc biệt:
“Chúng tôi kinh doanh các sản phẩm trong nhiều thị trường khác nhau, và chúng tôi đánh giá hiệu quả thực hiện của chúng tôi qua thời gian”.
Trang 52Mô hình dữ liệu đa chiều (2)
Trực giác: việc kinh doanh như một khối (cube) dữ liệu:
Mỗi nhãn trên mỗi cạnh của khối.
Điểm trong khối là các giao điểm của các cạnh.
Với mô tả kinh doanh ở trên
Cạnh là Sản phẩm, Thị trường, và Thời gian
“hiểu” và “tưởng tượng” rằng: điểm trong khối là các độ đo hiệu
quả kinh doanh, kết hợp các giá trị Sản phẩm, Thị trường và Thời
Mô phỏng các chiều trong kinh doanh