ab9ef13fa17cf33d5cad7d2fc2de9112.ppt
- Количество слайдов: 129
Bài giảng môn học 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: 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 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 1
Nội dung n Khái niệm kho dữ liệu n Mô hình dữ liệu đa chiều n Kiến trúc kho dữ liệu n Thi hành kho dữ liệu n Từ xây dựng kho dữ liệu tới KPDL n Sự phát triển mới của công nghệ khối dữ liệu 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 2
Khái niệm kho dữ liệu n Kho dữ liệu (KDL) được định nghĩa theo nhiều cách song không nghiêm ngặt (chính xác). n n n CSDL hỗ trợ quyết định được duy trì tách biệt với CSDL tác nghiệp của tổ chức. Hỗ trợ xử lý thông tin nhờ cung cấp một nền tảng vững chắc dữ liệu hợp nhất, lịch sử để phân tích. “KDL là một tập hợp dữ liệu hướng chủ đề, tích hợp, có 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 [Inm 02] n Bốn “đặc trưng”: hướng chủ đề, tích hợp, có tính thời gian và không thay đổi [Inm 02] W. H. Inmon (2002). Building the Data Warehouse (Third Edition). John Wiley & Sons, Inc. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 3
Kho dữ liệu: khái niệm n Kho dữ liệu là một môi trường thông tin [Pon 01]: n Cung cấp một khung nhìn tích hợp và tổng thể về doanh nghiệp n 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 n 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 n Cung cấp tính nhất quán thông tin doanh nghiệp n 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” [Pon 01] Paulraj Ponniah, Data warehousing fundamentals, John Wiley & Sons Inc. , 2001 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 4
Kiến trúc kho dữ liệu: sơ bộ [Ora 02] Oracle 9 i. Data Warehousing Guide, Release 2 (9. 2), March 2002, Part No. A 96520 -01 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 5
Tạ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 KDL 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 6
KDL — đặc trưng hướng chủ đề n Đượ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. n 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. n 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. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 7
KDL — đặc trưng hướng chủ đề Ứng dụng tác nghiệp 15 March 2018 chủ đề KDL Kho dữ liệu và khai phá dữ liệu: Chương 2 8
KDL - đặc trưng tích hợp n n KDL đươc xây dựng từ việc tích hợp các nguồn dữ liệu phức, không đồng nhất n 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 Sử dụng các kỹ thuật làm sạch dữ liệu và tích hợp dữ liệu. n Đả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 n n 15 March 2018 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. Kho dữ liệu và khai phá dữ liệu: Chương 2 9
KDL - đặc trưng tích hợp 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 10
KDL: các vấn đề tích hợp 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 11
KDL: chủ đề - tích hợp 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 12
KDL - đặc trưng thời gian n Chiều thời gian đối với KDL là đáng kể dài hơn so với hệ thống CSDL tác nghiệp. n n n 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ứ) Mọi cấu trúc cốt lõi trong KDL n n 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”. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 13
KDL - đặc trưng thời gian • • • Chiều thời gian hiện thời tới 6090 ngày Cập nhật hồ sơ Cấu trúc chính chứa / không chứa yếu tố thời gian 15 March 2018 • Chiều thời gian 5=10 năm • • Anbum ảnh chụp dữ liệu Cấu trúc chính chứa yếu tố thời gian Kho dữ liệu và khai phá dữ liệu: Chương 2 14
KDL - đặc trưng không thay đổi n Lưu trữ vật lý riêng biệt các dữ liệu được chuyển từ môi trường tác nghiệp sang. n Cập nhật tác nghiệp dữ liệu không xuất hiện trong môi trường KDL. n Không có xử lý giao dịch, phục hồi và cơ chế điều khiển đồng thời. n Chí có hai thao tác truy nhập dữ liệu: n 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. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 15
KDL - đặc trưng không thay đổi 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 16
KDL ≠ HQT CSDL không đồng nhất n Tích hợp CSDL không đồng nhất truyền thống: n Xây dựng bộ bao gói/bộ hòa hợp trên đỉnh CSDL không đồng nhất n Tiếp cận theo truy vấn 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 n 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 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 17
KDL và Hệ QTCSDL tác nghiệp n OLTP (xử lý giao dịch trực tuyến / on-line transaction processing) n n n 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) n n n 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): n Định hướng người dùng và hệ thống: khách hàng <>thị trường n Nội dung dữ liệu: hiện thời, cụ thể <> lịch sử, hợp nhất n Thiết kế CSDL: ER + ứng dụng <> hình sao + chủ đề n Khung nhìn: hiện thời, cục bộ <> tiến hóa, tích hợp n Mẫu truy cập: truy nhập <> chỉ đọc với câu hỏi phức 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 18
OLTP <> OLAP 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 19
Kho dữ liệu riêng biệt n Hiệu năng cao cho cả hai hệ thống n n n 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 Chức năng khác nhau và dữ liệu khác nhau: n n n 15 March 2018 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 hợp) Kho dữ liệu và khai phá dữ liệu: Chương 2 20
Kho dữ liệu riêng biệt 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 21
Từ các bảng và bảng tính tới khối dữ liệu n n 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 n n n 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. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 22
Khối dữ liệu sales: Dàn các Cuboid all time 0 -D(apex) cuboid item location time, location item, location time, supplier time, item supplier location, supplier item, supplier time, item, location 1 -D cuboids item, location, supplier 2 -D cuboids 3 -D cuboids time, location, supplier 4 -D(base) cuboid time, item, location, supplier 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 23
Chương 3: Cơ sở về kho dữ liệu n Khái niệm kho dữ liệu n Mô hình dữ liệu đa chiều n Kiến trúc kho dữ liệu n Thi hành kho dữ liệu n Từ xây dựng kho dữ liệu tới KPDL n Sự phát triển mới của công nghệ khối dữ liệu 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 24
Mô hình khái niệm của KDL n Mô hình KDL: chiều và giá trị đo n n n Sơ đồ hình sao (star schema): Một bảng sự kiện ở trung tâm được kết nối với một tập các bảng chiều Sơ đồi bông tuyết (Snowflake schema): Một mở 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. Sơ đồ chòm sao sự kiện (Fact constellations schema): Bảng sự kiện phức chia sẻ các bảng chiều, 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 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 25
Ví dụ về sơ đồ hình sao time item time_key day_of_the_week month quarter year Sales Fact Table time_key item_key branch location_key branch_name branch_type units_sold dollars_sold avg_sales item_key item_name brand type supplier_type location_key street city state_or_province country Measures 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 26
Ví dụ về sơ đồ bông tuyết time_key day_of_the_week month quarter year item Sales Fact Table time_key item_key branch location_key branch_name branch_type units_sold dollars_sold avg_sales Measures 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 item_key item_name brand type supplier_key supplier_type location_key street city_key city state_or_province country 27
Example of Fact Constellation time_key day_of_the_week month quarter year item Sales Fact Table time_key item_key item_name brand type supplier_type location_key branch_name branch_type units_sold dollars_sold avg_sales item_key shipper_key location to_location_key street city province_or_state country dollars_cost Measures 15 March 2018 time_key from_location branch_key branch Shipping Fact Table Kho dữ liệu và khai phá dữ liệu: Chương 2 units_shipped shipper_key shipper_name location_key shipper_type 28
Một ngôn ngữ hỏi KPDL: DMQL Data Mining Query Language: DMQL n Định nghĩa khối - Cube Definition (Bảng sự kiện) define cube <cube_name> [<dimension_list>]: <measure_list> n Dimension Definition ( Dimension Table ) define dimension <dimension_name> as (<attribute_or_subdimension_list>) n Special Case (Shared Dimension Tables) n First time as “cube definition” n define dimension <dimension_name> as <dimension_name_first_time> in cube <cube_name_first_time> 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 29
Xá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_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) 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 30
Xác định sơ đồ bông tuyết trong DMQL define cube sales_snowflake [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_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)) 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 31
Xá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_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 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 32
Giá trị đo: Ba loại n 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. n n Đạ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ố. n n Chẳng hạn, count(), sum(), min(), max(). 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ế theo kích thước lưu trữ để mô tả một tập hợp con. n 15 March 2018 Chẳng hạn, median(), mode(), rank(). Kho dữ liệu và khai phá dữ liệu: Chương 2 33
Một kiến trúc khái niệm: chiều (địa danh) all Europe region country city office 15 March 2018 Germany Frankfurt . . Spain North_America Canada Vancouver. . . L. Chan . . . Kho dữ liệu và khai phá dữ liệu: Chương 2 . . . Mexico Toronto M. Wind 34
Khung nhìn của các KDL và các kiến trúc Specification of hierarchies n Schema hierarchy day < {month < quarter; week} < year n Set_grouping hierarchy {1. . 10} < inexpensive 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 35
Dữ liệu đa chiều Khối lượng bán hàng là một hàm của sản phẩm, tháng, và quận Các chiều: SP, Địa danh, Thời gian Các đường tóm tắt phân cấp gi on n Re Industry Region Year Product Category Country Quarter Product City Office Month Week Day Month 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 36
2 Qtr 3 Qtr 4 Qtr od TV PC VCR sum 1 Qtr Date sum Total annual sales of TV in U. S. A. Pr U. S. A Canada Mexico Country uc t Một khối dữ liệu ví dụ sum 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 37
Tương ứng Cuboids tới khối DL all 0 -D(apex) cuboid product, date country product, country 1 -D cuboids date, country 2 -D cuboids product, date, country 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 3 -D(base) cuboid 38
Xem lướt một khối DL n n n 15 March 2018 Trực quan hóa (Visualization) Năng lực OLAP (OLAP capabilities) Vận động tương tác (Interactive manipulation) Kho dữ liệu và khai phá dữ liệu: Chương 2 39
Thao tác OLAP điển hình (10/6) n Roll up (Cuộn lên/drill-up): tóm tắt dữ liệu (summarize data) n n Drill down (khoan xuống/roll down): ngược với cuộn lên n n Chiếu và chọn (project and select ) Xoay Trục (quay) / Pivot (rotate): n 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): n n Nhờ leo theo phân cấp hoặc theo rút gọn chiều Xoay chiều khối DL, trực quan hóa, 3 D thành một dãy mặt hai chiều. Thao tác khác n n 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) 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 40
Mô hình truy vấn mạng ngôi sao Customer Orders Shipping Method Customer CONTRACTS AIR-EXPRESS ORDER TRUCK Time PRODUCT LINE ANNUALY QTRLY DAILY CITY Product PRODUCT ITEM PRODUCT GROUP SALES PERSON COUNTRY DISTRICT REGION Location 15 March 2018 Mỗi chu trình được gọi là một vết DIVISION Promotion Kho dữ liệu và khai phá dữ liệu: Chương 2 Organization 41
Sử dụng kho dữ liệu n Ba kiểu ứng dụng KDL n Xử lý thông tin (Information processing) n n 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 n n n 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 n n n 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. Phân biết ba kiểu bài toán này 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 2 42
Chương 3: Cơ sở về kho dữ liệu n Khái niệm kho dữ liệu n Mô hình dữ liệu đa chiều n Kiến trúc kho dữ liệu n Thi hành kho dữ liệu n Từ xây dựng kho dữ liệu tới KPDL n Sự phát triển mới của công nghệ khối dữ liệu 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 43
Thiết kế KDL: Một khung phân tích kinh doanh n 4 khung nhìn đối với thiết kế một KDL n Khung trên-xuống (Top-down view) n n Khung nguồn DL (Data source view) n n 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) n n Cho phép lựa chọn thông tin liên quan cần thiết cho KDL 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) n 15 March 2018 Thấy phối cảnh của dữ liệu trong kho từ khung nhìn của người sử dụng Kho dữ liệu và khai phá dữ liệu: Chương 3 44
Quá trình thiết kế KDL n n n Tiếp cận Top-down, bottom-up hoặc kết hợp cả hai n Top-down: Khởi đầu với thiết kế và lên kế hoạch khái quát (hoàn thành) n Bottom-up: Khởi đầu từ kinh nghiệm và mẫu (nhanh) Theo quan điểm của kỹ nghệ phần mềm n 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 n Đài phun nước/xoán ốc (Spiral): Phát sinh nhanh hệ thống chức năng trưởng, chu kỳ ngắn và nhanh Quá trình thiết kế KDL điển hình n Chọn quá trình kinh doanh để mô hình hóa, như đặt hàng, gửi danh đơn hàng, … n Chọn hạt/grain (dữ liệu nguyên tử) của quá trình kinh doanh n Chọn các chiều sẽ áp dụng tới mỗi bản ghi bảng sự kiện n Chọn độ đo sẽ cư trú mỗi bản ghi bảng sự kiện 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 45
Kiến trúc đa tầng other Metadata sources Operational DBs Extract Transform Load Refresh Monitor & Integrator Data Warehouse OLAP Server Serve Analysis Query Reports Data mining Data Marts Data Sources 15 March 2018 Data Storage OLAP Engine Front-End Tools Kho dữ liệu và khai phá dữ liệu: Chương 3 46
Kiến trúc ba tầng 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 47
Ba mô hình KDL n Kho doanh nghiệp (Enterprise warehouse) n 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 n KDL chuyên đề (Data Mart) n 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ị. n n KDL chuyên đề Độc lập <> Phụ thuộc (trực tiếp từ KDL) Kho ảo (Virtual warehouse) n Một tập khung nhìn trên CSDL tác nghiệp n Chỉ một bộ phận khung tím tắt khả nang có thể hữu hình 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 48
Phát triển KDL: Một tiếp cận đề cử KDL đa mức Distributed Data Marts Data Mart Làm mịn mô hình KDL toàn bộ hãng Làm mịn mô hình Định nghĩa một mô hình dữ liệu hãng mức cao 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 49
Kiến trúc phục vụ OLAP n n OLAP quan hệ (Relational ROLAP) n 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. n 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. n Tính khả cỡ lớn hơn OLAP đa chiều (Multidimensional MOLAP) n Hệ thống lưu giữ đa chiều theo mảng (kỹ thuật ma trận thưa) n Đánh chỉ mục nhanh tới dữ liệu mô tả (tóm tắt) được tính toán trước OLAP lai – kết hợp (Hybrid HOLAP) n Mềm dẻo cho người dùng, chẳng hạn, mức thấp: quan hệ, mức cao: mảng Phục vụ SQL đặc tả n Hỗ trợ đặc biệt truy vấn SQL trên các sơ đồ SAO/BÔNG TUYẾT 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 50
Mô hình dữ liệu đa chiều n Khuynh hướng suy nghĩ của người quản lý kinh doanh: “nhiều chiều” (multidimensionally). Ví dụ, khuynh hướng mô tả những gì mà công ty làm: n n “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: n 15 March 2018 “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”. Kho dữ liệu và khai phá dữ liệu: Chương 3
Mô hình dữ liệu đa chiều (2) Mô phỏng các chiều trong kinh doanh v Trực giác: việc kinh doanh như một khối (cube) dữ liệu: v Mỗi nhãn trên mỗi cạnh của khối. v Điểm trong khối là các giao điểm của các cạnh. v Với mô tả kinh doanh ở trên v. Cạnh là Sản phẩm, Thị trường, và Thời gian. v “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 gian. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
XỬ LÝ PH N TÍCH TRỰC TUYẾN n Hệ thống OLAP (On_Line Analysis Processing - Xử lý phân tích trực tuyến) n HT quản lý dữ liệu giàu năng lực cho phép phân tích dữ liệu: n n Bản chất cốt lõi của OLAP n n n 15 March 2018 cắt lát (slice) dữ liệu theo nhiều cạnh khác nhau, khoan xuống (drill down) mức chi tiết hơn cuộn lên (roll up) mức tổng hợp hơn. dữ dữ liệu được lấy ra từ KDL hoặc từ Datamart (kho liệu chủ đề) liệu được chuyển thành mô hình đa chiều liệu được lưu trữ trong một kho dữ liệu đa chiều. Kho dữ liệu và khai phá dữ liệu: Chương 3
XỬ LÝ PH N TÍCH TRỰC TUYẾN n n n Đối tượng chính của OLAP là khối (cube): một sự biểu diễn đa chiều của dữ liệu chi tiết và tổng thể. n Nhắc lại: Khối bao gồm một bảng sự kiện (Fact), một/nhiều bảng chiều (Dimensions), các đơn vị đo (Measures) và các phân hoạch (Partitions). Khối (Cube) : Khối là phần tử chính trong xử lý phân tích trực tuyến, là tập con (subset) dữ liệu từ kho dữ liệu, được tổ chức và tổng hợp trong các cấu trúc đa chiều Chiều (Dimension): Chiều là cách mô tả chủng loại, theo đó các dữ liệu số trong khối được phân bố để phân tích. Đơn vị đo lường (Measures): Đơn vị đo của khối là cột trong bảng Fact. Các đơn vị đo xác định những giá trị số từ bảng Fact, được tổng hợp phân tích như định giá, trị giá, hoặc số lượng bán. Các phân hoạch (Partitions) : Tất cả các khối đều có tối thiểu một phân hoạch để chứa dữ liệu của nó; một phân hoạch đơn được tự động tạo ra khi khối được định nghĩa. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
Các yêu cầu OLAP n n Đưa ra tập yêu cầu như một chuẩn mực mà các mô hình dữ liệu đa chiều và các ngôn ngữ truy vấn của OLAP phải đáp ứng. Những yêu cầu này xuất phát từ những thiết kế chủ yếu tổng quát đã thành công với mô hình quan hệ và từ những nét đặc thù của các ứng dụng OLAP: 1. 2. 3. 4. 15 March 2018 Các nguyên tắc thiết kế chung Cấu trúc phức tạp của các chiều Các ô giá trị có cấu trúc phức tạp (về độ đo) Các truy vấn điển hình Kho dữ liệu và khai phá dữ liệu: Chương 3
CÁC NGUYÊN TẮC THIẾT KẾ CHUNG n n Hình thức thực hiện độc lập: Một mô hình chuẩn phải trong suốt về quan niệm. n không chứa bất kỳ 1 chi tiết nào của sự thực hiện. n đặc biệt quan trọng trong ứng dụng OLAP như một số hệ thông đã có (gọi là hệ thống ROLAP) thực hiện đa chiều hoá bằng cách sắp đặt mô hình đa chiều logic tới một mô hình quan hệ. n Ở đây, tầng quan hệ xem như cấu trúc vật lý lưu trữ dữ liệu Có sự tách biệt giữa cấu trúc và nội dung: n Cho phép tách biệt của cấu trúc dữ liệu (tức là khối đa chiều và chiều của các khối đó) và các nội dung (tức là các giá trị ô) Sự mô tả ngôn ngữ truy vấn: n Tương tự SQL: ngôn ngữ truy vấn đa chiều cho phép tối ưu hoá các truy vấn và dữ liệu độc lập. n Một phép toán logic hay phép toán đại số cho phép các sự tối ưu hoá được xem xét tới cho mục đích này. Một phần yêu cầu chung, các ứng dụng OLAP phải có một số yêu cầu đặc biệt mà không áp dụng cho các lĩnh vực khác của ứng dụng phân tích đa chiều (Ví dụ phân tích hình ảnh, GIS, PACS). 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
CẤU TRÚC PHỨC TẠP CHIỀU Ví dụ: Nhà máy ô tô muốn n n Phân tích việc sửa chữa phương tiện Để cải tiến sản phẩm, mô tả hợp đồng bảo hiểm mới và đánh giá chất lượng của gara. n n vấn đề phân tích chính là sửa chữa phương tiện. Các chiều đặc trưng của ứng dụng này là các phương tiện được sửa chữa n n gara đã sửa chữa n n ví dụ, Munich, Main Street 5, và ngày sửa chữa n n ví dụ ô tô của ông Simpson 27 -6. Các chiều này trải dài trên khối không gian 3 chiều. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
CẤU TRÚC PHỨC TẠP CHIỀU(2) n n Mảng chiều của không gian dữ liệu đa chiều chỉ được cấu trúc bởi các đường được mô tả theo chỉ số (thường mang giá trị nguyên). n ứng dụng OLAP: các chỉ số này không đủ do từ khung nhìn của người dùng cuối OLAP, các yếu tố (ví dụ tương ứng) của một chiều OLAP (các chiều thành viên) là không thẳng hàng (ví dụ garage). n Tuỳ thuộc vào thứ bậc chứa trong các tầng mà xây dựng các chiều. Mỗi tầng thứ bậc chứa một tập các thành viên. n Một ở tầng L 1 có thể cuộn lên tầng L 2. Ý nghĩa của mối quan hệ này n tầng L 2 đưa ra một sự phân loại về khái niệm của L 1. n Việc mô tả thứ bậc rất cần thiết cho mô hình có cấu trúc tầng. n rất cần thiết xác định xem yếu tố nào của tầng thấp sẽ tương đương với yếu tố nào ở tầng cao. n Cấu trúc này: cấu trúc thành viên. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
CẤU TRÚC PHỨC TẠP CHIỀU (3) Các thứ bậc được sử dụng trong cấu trúc các chiều v Cả cấu trúc thành viên và cấu trúc tầng của một chiều: như dùng đồ thị vẽ các thành viên, tầng: nút; quan hệ: cạnh. v. Hình vẽ: đồ thị thành viên là một cấu trúc cây. Trường hợp đặc biệt: các tầng có thứ tự thẳng hàng nhau do quan hệ với bên trên. v. Thông thường: cấu trúc thành viên và cấu trúc tầng được mô tả bởi các đồ thị không chu trình. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
CẤU TRÚC PHỨC TẠP Ô GIÁ TRỊ n Nội dung tại một ô của khối đa chiều n n n được xây dựng bởi nhiều cách tính khác nhau. một ô có thể chứa một vài độ đo được tạo ra từ một bản ghi. ứng dụng OLAP thường chứa đựng một số lượng lớn các độ đo. n n các độ đo không là nguyên tử được ước lượng từ các độ đo khác (độ đo nguyên tử/độ đo nhận được) ở trong khối. Phụ thuộc vào các công thức tính toán nhận được từ các độ đo để mô tả các thứ bậc trong các độ đo nguyên tử. Xử lý độ đo phức hợp trong phạm vi tập hợp n n 15 March 2018 Vấn đề cần được quan tâm đến. Sự ước lượng của tập hợp các chức năng có thể mang ý nghĩa đầy đủ cho tất cả mọi độ đo Kho dữ liệu và khai phá dữ liệu: Chương 3
CẤU TRÚC PHỨC TẠP Ô GIÁ TRỊ (2) n Khái niệm độ đo tương tự với khái niệm khung nhìn trong hệ thống quan hệ n Mô tả các độ đo nhận được n Cách thức tính toán: một phần của lược đồ cơ sở dữ liệu. n Các độ đo nhận được và các độ đo nguyên tử n n được xử lý bằng các ngôn ngữ truy vấn. Ngôn ngữ truy vấn cũng có thể hỗ trợ các tính toán đặc biệt được mô tả trong truy vấn đó 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TRUY VẤN ĐIỂN HÌNH n Các truy vấn OLAP điển hình n n n chọn từ không gian chiều (hầu hết là 2 chiều). Để hạn chế các chiều của khối kết quả, xác định các tầng có thể được tính toán (ví dụ năm = 1997). Mỗi chiều của một tầng được đưa ra bởi các chiều khác n do sự hạn chế hay bởi trạng thái của một kết quả yêu cầu n n Giới hạn có thể được tạo thành theo công thức sử dụng độ đo trong các vị từ n 15 March 2018 ví dụ: đưa ra cho mỗi tháng. ví dụ số lượng người lớn hơn 3 Kho dữ liệu và khai phá dữ liệu: Chương 3
TRUY VẤN ĐIỂN HÌNH (2) n Một môi trường OLAP còn được mô tả bởi truy cập dữ liệu. n Người dùng tạo các truy vấn sử dụng công thức phụ thuộc vào kết quả của các truy vấn trước đó n n Thao tác thông thường là thao tác đi xuống /đi lên dùng cấu trúc chiều. Phụ thuộc vào kiểu phân tích mà người dùng muốn Chức năng phân tích đặc biệt trở nên cần thiết n n ví dụ chia các giá trị của năm 1997 theo tháng. Ví dụ cho phân tích ABC. Thực tiễn, ngôn ngữ truy vấn có thể kết hợp các hàm người dùng. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TRUY VẤN ĐIỂN HÌNH (3) Lược đồ đa chiều của ví dụ sử dụng ký hiệu ME/R v Ví dụ: Truy vấn: ”Đưa ra trung bình của tổng giá trị mỗi tháng của gara ở Baravia theo loại gara trong suốt năm 1997”. v Truy vấn này có nhiều cách hiểu, giả sử hiểu theo nghĩa: ü Truy vấn hạn chế trên chiều năm (năm =1997) và vùng địa lý (vùng=Baravia). ü Truy vấn chứa thao tác đi lên từ ngày tới tháng sử dụng phép tính tổng như là một tập hợp các hàm (thực tế chỉ theo một phương tiện sửa chữa), ü truy vấn liên quan tới tất cả phương tiện sửa chữa cả tháng) 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
Các phương pháp tiếp cận Agrawal, Gupta, Sarawagi Cabibbo, Torlone Li, Wang Gyssens, Lakshmanan Lehner Vassiliadis 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA Agrawal, Gupta, Sarawagi n n Phương pháp [AGS 97] n biểu diễn mô hình dữ liệu đa chiều và các phép toán đại số. n tổ chức dữ liệu trong một /nhiều khối lập phương ảo. n Giá trị của tất cả các ô có thể là một bộ n hoặc nằm trong tập hợp {0, 1}. n Ô mang giá trị “ 1” nghĩa là tổ hợp các giá trị của chiều không gian này tồn tại. Một bộ n biểu diễn một bản ghi có n đơn vị. n Ô không mang nội dung được gán giá trị “ 0”. n Chiều không gian không có cấu trúc hoặc thứ tự và các nhân tố được biểu diễn bằng tên. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA Agrawal, Gupta, Sarawagi (2) n Phương pháp [AGS 97] n Trong khối lập phương C n có k chiều với n bộ, n giá trị của một ô được định nghĩa bằng bộ ba giá trị (D, E(C), N), trong đó D là tập hợp gồm k tên của chiều không gian đó. n Mỗi chiều không gian có một miền domi. E(C) là hàm ánh xạ dom 1 x. . . x domk đến một bộ n (các giá trị của ô nằm trong khối lập phương C) hoặc đến {0, 1}. n N là một bộ n, chứa tên các thành phần của bộ n nằm trong khối lập phương. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA Cabibbo, Torlone n Mô hình đa chiều và ngôn ngữ mô tả tương ứng dựa trên tính toán logic ([CT 97]) n Mô hình dữ liệu đa chiều được định nghĩa bằng bảng f như cấu trúc dữ liệu cơ bản. n Bảng f là bảng quan hệ chứa một bộ vì mỗi ô trong khối lập phương dữ liệu đều chứa một giá trị. n Chiều không gian được định nghĩa bằng cấu trúc đồ thị (DAG) bao gồm các tầng không gian. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA Cabibbo, Torlone (2) n n Một chiều không gian n được định nghĩa là một bộ gồm 3 giá trị (L, ≤, R-UP). n L là tập xác định các tầng được sắp xếp theo thứ tự nhỏ đến lớn (ví dụ: gara ≤ vùng). n R-UP là tập các hàm định nghĩa ánh xạ từ nhân tố nằm ở tầng thấp đến nhân tố nằm ở tầng cao hơn. (ví dụ gara A, B và C thuộc vùng Bavaria). n Mỗi tầng l ϵ L được ánh xạ đến một tập các giá trị gọi là miền của L (ví dụ: dom(gara) = {A, B, C. . . }) Bảng f n chiều: n mô hình thực thể trung tâm có dạng như sau: n n 15 March 2018 f[A 1: l 1, . . An: ln]: l 0. f là tên của bảng f, li (0≤i≤n) là tên của tầng không gian và Aj (l≤j≤n) là tên của một thuộc tính. Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA LI WANG n Mô hình dữ liệu đa chiều dành cho các ứng dụng OLAP: n n Cốt lõi của phương pháp này là ngôn ngữ truy vấn đại số, còn gọi là đại số nhóm. Khái niệm cơ bản là một khối lập phương đa chiều chứa các quan hệ, các chiều không gian. Đối với mỗi tổ hợp chiều không gian, có một dữ liệu vô hướng tương ứng đại diện cho một thuộc tính đơn lẻ. một mô hình khái niệm biểu diễn tốt qua nhiều công cụ mạnh n n 15 March 2018 cần mở rộng để cung cấp thêm nhiều giá trị phức tạp thay vì chỉ một giá trị vô hướng đơn. cho phép lập mô hình các sự kiện phức tạp trong một khối lập phương thay vì nhiều khối lập phương trên cùng chiều không gian Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA Gyssens, Lakshmanan n Phương pháp Gyssens và Lakshmanan [GL 97] n giới thiệu khái niệm mô hình dữ liệu đa chiều cho ứng dụng OLAP. n Ưu điểm chính là khả năng tách biệt cấu trúc và nội dung. n Đưa ra các phép toán đại số và phép tính toán tương đương cho mô hình. n Một cơ sở dữ liệu dạng bảng đa hướng là tập hợp các bảng. n Gợi nhớ đến lược đồ hình sao, tuy nhiên, ở mức khái niệm n Chứa các toán tử đại số gồm lựa chọn, chiếu, đổi tên, hợp, phân đoạn, tách biệt, tích Đề-các, các toán tử xây dựng cấu trúc (trải (thêm chiều không gian), gấp (xóa chiều không gian)), phân loại và tóm tắt. 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
TIẾP CẬN CỦA Lehner n [LRT 97] mở rộng mô hình đa chiều, cung cấp: n n n 15 March 2018 2 cơ chế cấu trúc trực giao cho các chiều: sự phân loại các cấp bậc và các đặc trưng. một ngôn ngữ truy vấn (gọi là CQL) dành cho mô hình dữ liệu đa chiều. gồm một mô tả chính thức các mô hình dữ liệu đa chiều cùng với các hỗ trợ mở rộng này và một đại số thao tác dữ liệu. Các mức chiều được sắp xếp thứ tự Cân bằng các cấp bậc cây cấu trúc có thể được mô hình hóa. Cấu trúc chiều chỉ được mô tả một cách không chính thức Kho dữ liệu và khai phá dữ liệu: Chương 3
TiẾP CẬN CỦA Vassiliadis [Vas 98] n Mục đích: n n n cung cấp một mô hình gồm các toán tử OLAP tự nhiên (như silicing và drilling) như các toán tử. đưa ra mô hình dữ liệu chính thức và một đại số có thứ tự: đại số quan hệ thích hợp với các cấu trúc dữ liệu mảng tự nhiên. Định nghĩa cơ bản của chiều n n n giống với mô hình MD [CT 97]. Một chiều được định nghĩa như một lưới (H, ). H = {DL 1, …, DLm} là một tập các mức với tên miền dom(DLi) ứng với mỗi mức DLi. Một thuộc tính đặc biệt là cách sử dụng các chiều đa giá trị n n 15 March 2018 chiều gồm nhiều hơn một thành viên. Cho phép toán tử chiều tinh vi. Quan hệ ≤ xác định thứ tự bộ phận các mức chiều. Kho dữ liệu và khai phá dữ liệu: Chương 3
TiẾP CẬN CỦA Vassiliadis n Mỗi chiều gồm một tập đường dẫn chiều n n n với chỉ một yếu tố duy nhất nếu không đa chiều cấp bậc được định nghĩa trong chiều đó) Các mức chiều của các chiều khác nhau phải được tháo rời ra. một thuộc tính đặc biệt của công việc: toán tử drilldown n n 15 March 2018 hiển thị rõ ràng trong mô hình của chúng. Trong khi cube đúng như một toán tử không được rõ ràng trong hầu hết các mô hình, một toán tử tương đương cũng được giơi thiệu trong [Leh 98]. Kho dữ liệu và khai phá dữ liệu: Chương 3
So sánh 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3
Chương 3: Cơ sở về kho dữ liệu n Khái niệm kho dữ liệu n Mô hình dữ liệu đa chiều n Kiến trúc kho dữ liệu n Thi hành kho dữ liệu n Từ xây dựng kho dữ liệu tới KPDL n Sự phát triển mới của công nghệ khối dữ liệu 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 76
HiỆU LỰC TÍNH TOÁN KHỐI DỮ LiỆU n Khối dữ liệu dược nhìn như dàn các cuboids n n cuboid cao nhất (apex) chứa chỉ một ô n n cuboid thấp nhất là cuboid cơ sở Số lượng cuboids trong 1 khối n-chiều với Li mức: Sự thực hiện của khối dữ liệu n n Thực hiện ở mọi (cuboid) (thực hiện hoàn toàn), không (không thực hiện) hoặc bộ phận (thực hiện bộ phận) Lựa chọn các cuboids để thực hiện n 15 March 2018 Dựa theo kích thước, sự phân bổ, tần suất truy nhập vv. Kho dữ liệu và khai phá dữ liệu: Chương 3 77
Tính toán khối n Định nghĩa khối và tính toán khối trong DMQL define cube sales[item, city, year]: sum(sales_in_dollars) compute cube sales n Biến đổi vào ngôn ngữ kiểu SQL (với toán tử mới cube by, xem Gray và cộng sự ’ 96) () SELECT item, city, year, SUM (amount) FROM SALES n (city) (item) (year) CUBE BY item, city, year Cần tính theo các Group-Bys sau đây (city, item) (city, year) (item, year) (date, product, customer), (date, product), (date, customer), (product, customer), (date), (product), (customer) (city, item, year) () 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 78
Tính toán khối: Phương pháp theo ROLAP n Các phương pháp tính toán khối hiệu quả n n n ROLAP-based cubing algorithms (Agarwal et al’ 96) Array-based cubing algorithm (Zhao et al’ 97) Bottom-up computation method (Beyer & Ramarkrishnan’ 99) H-cubing technique (Han, Pei, Dong & Wang: SIGMOD’ 01) Thuật toán khối dựa theo ROLAP (Agarwal et al’ 96) n n n 15 March 2018 Áp dụng các thao tác sorting, hashing, and grouping tới các thuộc tính chiều theo tứ tự để sắp lạii và phân cụm các bộ liên quan Gộp nhóm được thi hành theo tống hợp con như “bước gom nhóm thành phần” Tổng hợp được tính toán từ các tống hợp tính toán có sẵn hớn là từ bảng sự kiện Kho dữ liệu và khai phá dữ liệu: Chương 3 79
Tính toán khối: Phương pháp theo ROLAP (2) n Phương pháp dựa trên Hash/sort (Agarwal et. al. VLDB’ 96) n Smallest-parent: tính toán một cuboid từ khối được tính toán trước, nhỏ nhất n Cache-results: kết quả lưu giữ của một cuboid từ đó các cuboids khác được tính nhằm rút gọn I/O đĩa n Amortize-scans: tính toán được nhiều có thể được cuboids tại cùng một thời điểm để hoàn trả đọc đĩa n Share-sorts: chia sẽ giá sắp xếp cuboids phức khi dùng phương pháp dựa theo sắp xếpd n Share-partitions: chia sẽ giá phân hoạch dọc theo cuboids phức khi dùng thuật toán dựa theo băm 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 80
Tổng hợp mảng đa cách cho tính toán khối n n n Phân các mảng thành các khúc (các khối con có thể đặt vào bộ nhớ trong). Địa chỉ mảng rời rạc đwocj nén: (chunk_id, offset) Tính tổng hợp theo “multiway” qua thăm ô cube theo tứh tạ mà cực tiếu số lần thăm mỗi ô, và thu gọn giá truy nhập và lưu trữ bộ nhớ C c 3 61 62 63 64 c 2 45 46 47 48 c 1 29 30 31 32 c 0 b 3 B 13 b 2 9 b 1 5 b 0 15 March 2018 15 16 1 2 3 4 a 0 B 14 a 1 a 2 a 3 A 60 44 28 56 40 24 52 36 20 What is the best traversing order to do multi-way aggregation? Example 3 -D data array of A, B, C Kho dữ liệu và khai phá dữ liệu: Chương 3 81
Tổng hợp mảng đa cách cho tính toán khối C c 3 61 62 63 64 c 2 45 46 47 48 c 1 29 30 31 32 c 0 b 3 B b 2 B 13 14 15 16 28 9 24 b 1 5 b 0 1 2 3 4 a 0 a 1 a 2 44 40 60 56 52 a 3 20 36 A 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 82
Tổng hợp mảng đa cách cho tính toán khối C c 3 61 62 63 64 c 2 45 46 47 48 c 1 29 30 31 32 c 0 b 3 B b 2 B 13 14 15 16 28 9 24 b 1 5 b 0 1 2 3 4 a 0 a 1 a 2 44 40 60 56 52 a 3 20 36 A 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 83
Tổng hợp mảng đa cách cho tính toán khối n n Method: the planes should be sorted and computed according to their size in ascending order. n See the details of Example 3 -D data array of A, B, C n Idea: keep the smallest plane in the main memory, fetch and compute only one chunk at a time for the largest plane Limitation of the method: computing well only for a small number of dimensions n If there a large number of dimensions, “bottomup computation” and iceberg cube computation methods can be explored 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 84
Chỉ mục dữ liệu OLAP: Chỉ mục Bitmap n n n Index on a particular column Each value in the column has a bit vector: bit-op is fast The length of the bit vector: # of records in the base table The i-th bit is set if the i-th row of the base table has the value for the indexed column not suitable for high cardinality domains Base table 15 March 2018 Index on Region Kho dữ liệu và khai phá dữ liệu: Chương 3 Index on Type 85
Chỉ mục dữ liệu OLAP: kết nối chỉ mục n n n Join index: JI(R-id, S-id) where R (R-id, …) S (S-id, …) Traditional indices map the values to a list of record ids n It materializes relational join in JI file and speeds up relational join — a rather costly operation In data warehouses, join index relates the values of the dimensions of a start schema to rows in the fact table. n E. g. fact table: Sales and two dimensions city and product n A join index on city maintains for each distinct city a list of R-IDs of the tuples recording the Sales in the city n Join indices can span multiple dimensions 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 86
Xử lý hiệu quả câu hỏi OLAP n Determine which operations should be performed on the available cuboids: n transform drill, roll, etc. into corresponding SQL and/or OLAP operations, e. g, dice = selection + projection n Determine to which materialized cuboid(s) the relevant operations should be applied. n Exploring indexing structures and compressed vs. dense array structures in MOLAP 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 87
Kho chứa Metadata n Meta data is the data defining warehouse objects. It has the following kinds n Description of the structure of the warehouse n n Operational meta-data n n data lineage (history of migrated data and transformation path), currency of data (active, archived, or purged), monitoring information (warehouse usage statistics, error reports, audit trails) The algorithms used for summarization The mapping from operational environment to the data warehouse Data related to system performance n n schema, view, dimensions, hierarchies, derived data defn, data mart locations and contents warehouse schema, view and derived data definitions Business data n 15 March 2018 business terms and definitions, ownership of data, charging policies Kho dữ liệu và khai phá dữ liệu: Chương 3 88
Công cụ và tiện ích có sẵn KDL n Data extraction: n n Data cleaning: n n convert data from legacy or host format to warehouse format Load: n n detect errors in the data and rectify them when possible Data transformation: n n get data from multiple, heterogeneous, and external sources sort, summarize, consolidate, compute views, check integrity, and build indicies and partitions Refresh n propagate the updates from the data sources to the warehouse 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 89
Chương 3: Cơ sở về kho dữ liệu n Khái niệm kho dữ liệu n Mô hình dữ liệu đa chiều n Kiến trúc kho dữ liệu n Thi hành kho dữ liệu n Từ xây dựng kho dữ liệu tới KPDL n Sự phát triển mới của công nghệ khối dữ liệu 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 90
Thăm dò theo phát hiện các khối dữ liệu n Hypothesis-driven n n Thăm dò theo người dùng, không gian tìm kiếm lớn Discovery-driven (Sarawagi, et al. ’ 98) n n Dẫn dường hiệu quả khối dữ liệu OLAP lớn Tính toán được độ đo biểu lộ loại trừ, hướng người dùng vào phân tích dữ liệu, tại mọimức của tổng hợp Loại trừ: khác biệt đáng kể từ giá trị được đoán trước, dựa theo mô hình thống kê Dốc trực quan như màu nền được dùng để phản ánh độ loại trừ của mỗi ô 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 91
Kiểu loại trừ cad tính toán chúng n Tham số n n n Self. Exp: chụp các ô liên quan tới các ô khác cùngmức tổng hợp In. Exp: chụp phía dưới của ô Path. Exp: chụp phía dưới của ô theo mỗi đường khoan xuống Tính toán chỉ số loại trừ (thiết đặt mô hình và tính các giá trị Self. Exp, In. Exp, and Path. Exp) có thể gối vào xây dựng khối Loại từ tự chính có thể được bảo quản, chỉ mục và tìm kiếm như một tổng hợp tính toán trước 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 92
Ví dụ: Khối dữ liệu theo phát hiện 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 93
Complex Aggregation at Multiple Granularities: Multi-Feature Cubes n n Multi-feature cubes (Ross, et al. 1998): Compute complex queries involving multiple dependent aggregates at multiple granularities Ex. Grouping by all subsets of {item, region, month}, find the maximum price in 1997 for each group, and the total sales among all maximum price tuples select item, region, month, max(price), sum(R. sales) from purchases where year = 1997 cube by item, region, month: R such that R. price = max(price) n Continuing the last example, among the max price tuples, find the min and max shelf live, and find the fraction of the total sales due to tuple that have min shelf life within the set of all max price tuples 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 94
Cube-Gradient (Cubegrade) n n Analysis of changes of sophisticated measures in multi-dimensional spaces n Query: changes of average house price in Vancouver in ‘ 00 comparing against ’ 99 n Answer: Apts in West went down 20%, houses in Metrotown went up 10% Cubegrade problem by Imielinski et al. n Changes in dimensions changes in measures n Drill-down, roll-up, and mutation 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 95
From Cubegrade to Multi-dimensional Constrained Gradients in Data Cubes n Significantly more expressive than association rules n n Capture trends in user-specified measures Serious challenges n n n Many trivial cells in a cube “significance constraint” to prune trivial cells Numerate pairs of cells “probe constraint” to select a subset of cells to examine Only interesting changes wanted “gradient constraint” to capture significant changes 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 96
MD Constrained Gradient Mining n n n Significance constraint Csig: (cnt 100) Probe constraint Cprb: (city=“Van”, cust_grp=“busi”, prod_grp=“*”) Gradient constraint Cgrad(cg, cp): (avg_price(cg)/avg_price(cp) 1. 3) Probe cell: satisfied Cprb Base cell Aggregated cell Siblings Ancestor 15 March 2018 (c 4, c 2) satisfies Cgrad! Dimensions Measures cid Yr City Cst_grp Prd_grp Cnt Avg_price c 1 00 Van Busi PC 300 2100 c 2 * Van Busi PC 2800 1800 c 3 * Tor Busi PC 7900 2350 c 4 * * busi PC 58600 2250 Kho dữ liệu và khai phá dữ liệu: Chương 3 97
A Live. Set-Driven Algorithm n Compute probe cells using Csig and Cprb n n The set of probe cells P is often very small Use probe P and constraints to find gradients n n n Pushing selection deeply Set-oriented processing for probe cells Iceberg growing from low to high dimensionalities Dynamic pruning probe cells during growth Incorporating efficient iceberg cubing method 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 98
From On-Line Analytical Processing to On Line Analytical Mining (OLAM) n Why online analytical mining? n n n High quality of data in data warehouses n DW contains integrated, consistent, cleaned data Available information processing structure surrounding data warehouses n ODBC, OLEDB, Web accessing, service facilities, reporting and OLAP tools OLAP-based exploratory data analysis n mining with drilling, dicing, pivoting, etc. On-line selection of data mining functions n integration and swapping of multiple mining functions, algorithms, and tasks. Architecture of OLAM 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 99
OLAP Mining: Integration of Data Mining and Data Warehousing n Data mining systems, DBMS, Data warehouse systems coupling n n On-line analytical mining data n n No coupling, loose-coupling, semi-tight-coupling, tight-coupling integration of mining and OLAP technologies Interactive mining multi-level knowledge n Necessity of mining knowledge and patterns at different levels of abstraction by drilling/rolling, pivoting, slicing/dicing, etc. n Integration of multiple mining functions n 15 March 2018 Characterized classification, first clustering and then association Kho dữ liệu và khai phá dữ liệu: Chương 3 100
An OLAM Architecture Mining query Mining result Layer 4 User Interface OLAM Engine User GUI API OLAP Engine Layer 3 OLAP/OLAM Data Cube API Layer 2 MDDB Meta Data Filtering&Integration Databases 15 March 2018 Database API Data cleaning Data integration Filtering Data Warehouse Kho dữ liệu và khai phá dữ liệu: Chương 3 Layer 1 Data Repository 101
Kinds of Exceptions and their Computation 01/6/09 n Parameters (thăm dò có điều khiển) ba chỉ số hấp dẫn n Self. Exp: surprise of cell relative to other cells at same level of aggregation n n In. Exp: surprise beneath the cell Path. Exp: surprise beneath cell for each drill-down path Computation of exception indicator (modeling fitting and computing Self. Exp, In. Exp, and Path. Exp values) can be overlapped with cube construction Exception themselves can be stored, indexed and retrieved like precomputed aggregates 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 102
Examples: Discovery-Driven Data Cubes ví dụ item, time, region 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 103
Complex Aggregation at Multiple Granularities: Multi-Feature Cubes n n Multi-feature cubes (Ross, et al. 1998): Compute complex queries involving multiple dependent aggregates at multiple granularities Ex. 4. 17: Grouping by all subsets of {item, region, month}, find the maximum price in 2004 for each group, and the total sales among all maximum price tuples – cú pháp SQL mở rộng select item, region, month, max(price), sum(R. sales) from purchases where year = 2004 cube by item, region, month: R (mở rộng group by) such that R. price = max(price) n Continuing the example 4. 18, among the max price tuples, find the min and max shelf live, and find the fraction of the total sales due to tuple that have min shelf life within the set of all max price tuples 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 104
Cube-Gradient (Cubegrade) n n Analysis of changes of sophisticated measures in multi-dimensional spaces n Query: changes of average house price in Vancouver in ‘ 00 comparing against ’ 99 n Answer: Apts in West went down 20%, houses in Metrotown went up 10% Cubegrade problem by Imielinski et al. n Changes in dimensions changes in measures n Drill-down, roll-up, and mutation 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 105
From Cubegrade to Multi-dimensional Constrained Gradients in Data Cubes n Significantly more expressive than association rules n n Capture trends in user-specified measures Serious challenges n n n Many trivial cells in a cube “significance constraint” to prune trivial cells Numerate pairs of cells “probe constraint” to select a subset of cells to examine Only interesting changes wanted “gradient constraint” to capture significant changes 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 106
MD Constrained Gradient Mining n n n Significance constraint Csig: (cnt 100) Probe constraint Cprb: (city=“Van”, cust_grp=“busi”, prod_grp=“*”) Gradient constraint Cgrad(cg, cp): (avg_price(cg)/avg_price(cp) 1. 3) Probe cell: satisfied Cprb Base cell Aggregated cell Siblings Ancestor 15 March 2018 (c 4, c 2) satisfies Cgrad! Dimensions Measures cid Yr City Cst_grp Prd_grp Cnt Avg_price c 1 00 Van Busi PC 300 2100 c 2 * Van Busi PC 2800 1800 c 3 * Tor Busi PC 7900 2350 c 4 * * busi PC 58600 2250 Kho dữ liệu và khai phá dữ liệu: Chương 3 107
A Live. Set-Driven Algorithm sig: ràng buộc dấu, ràng buộ dò n Compute probe cells using Csig and Cprb n n The set of probe cells P is often very small Use probe P and constraints to find gradients n n n Pushing selection deeply Set-oriented processing for probe cells Iceberg growing from low to high dimensionalities Dynamic pruning probe cells during growth Incorporating efficient iceberg cubing method 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 108
Chương 3: Cơ sở về kho dữ liệu n Khái niệm kho dữ liệu n Mô hình dữ liệu đa chiều n Kiến trúc kho dữ liệu n Thi hành kho dữ liệu n Từ xây dựng kho dữ liệu tới KPDL n Sự phát triển mới của công nghệ khối dữ liệu 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 109
Iceberg Cube n Computing only the cuboid cells whose count or other aggregates satisfying the condition: HAVING COUNT(*) >= minsup n Motivation n 15 March 2018 Only a small portion of cube cells may be “above the water’’ in a sparse cube Only calculate “interesting” data—data above certain threshold Suppose 100 dimensions, only 1 base cell. How many aggregate (non-base) cells if count >= 1? What about count >= 2? Kho dữ liệu và khai phá dữ liệu: Chương 3 110
Bottom-Up Computation (BUC) n n BUC (Beyer & Ramakrishnan, SIGMOD’ 99) Bottom-up vs. top-down? — depending on how you view it! Apriori property: n Aggregate the data, then move to the next level n If minsup is not met, stop! If minsup = 1 Þ compute full CUBE! 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 111
Partitioning n n Usually, entire data set can’t fit in main memory Sort distinct values, partition into blocks that fit Continue processing Optimizations n Partitioning n External Sorting, Hashing, Counting Sort n Ordering dimensions to encourage pruning n Cardinality, Skew, Correlation n Collapsing duplicates n Can’t do holistic aggregates anymore! 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 112
Drawbacks of BUC n Requires a significant amount of memory n n On par with most other CUBE algorithms though Does not obtain good performance with dense CUBEs Overly skewed data or a bad choice of dimension ordering reduces performance Cannot compute iceberg cubes with complex measures CREATE CUBE Sales_Iceberg AS SELECT month, city, cust_grp, AVG(price), COUNT(*) FROM Sales_Infor CUBEBY month, city, cust_grp HAVING AVG(price) >= 800 AND COUNT(*) >= 50 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 113
Non-Anti-Monotonic Measures n The cubing query with avg is non-anti-monotonic! n (Mar, *, *, 600, 1800) fails the HAVING clause n (Mar, *, Bus, 1300, 360) passes the clause Month City Cust_grp Prod Cost Price Jan Tor Edu Printer 500 485 Jan Tor Hld TV 800 1200 Jan Tor Edu Camera 1160 1280 Feb Mon Bus Laptop 1500 2500 Mar Van Edu HD 540 520 … … … 15 March 2018 CREATE CUBE Sales_Iceberg AS SELECT month, city, cust_grp, AVG(price), COUNT(*) FROM Sales_Infor CUBEBY month, city, cust_grp HAVING AVG(price) >= 800 AND COUNT(*) >= 50 Kho dữ liệu và khai phá dữ liệu: Chương 3 114
Top-k Average n Let (*, Van, *) cover 1, 000 records n n n Avg(price) is the average price of those 1000 sales Avg 50(price) is the average price of the top-50 sales (top-50 according to the sales price Top-k average is anti-monotonic n The top 50 sales in Van. is with avg(price) <= 800 the top 50 deals in Van. during Feb. must be with avg(price) <= 800 Month Cust_grp Prod Cost Price … 15 March 2018 City … … … Kho dữ liệu và khai phá dữ liệu: Chương 3 115
Binning for Top-k Average n n Computing top-k avg is costly with large k Binning idea 50 n Avg (c) >= 800 n Large value collapsing: use a sum and a count to summarize records with measure >= 800 n n Small value binning: a group of bins n n 15 March 2018 If count>=800, no need to check “small” records One bin covers a range, e. g. , 600~800, 400~600, etc. Register a sum and a count for each bin Kho dữ liệu và khai phá dữ liệu: Chương 3 116
Approximate top-k average Suppose for (*, Van, *), we have Range Sum Count Over 800 28000 20 600~800 10600 15 400~600 15200 30 … … … Approximate avg 50()= (28000+10600+600*15)/50=952 Top 50 The cell may pass the HAVING clause Month Cust_grp Prod Cost Price … 15 March 2018 City … … … Kho dữ liệu và khai phá dữ liệu: Chương 3 117
Quant-info for Top-k Average Binning n Accumulate quant-info for cells to compute average iceberg cubes efficiently n Three pieces: sum, count, top-k bins n Use top-k bins to estimate/prune descendants n Use sum and count to consolidate current cell weakest strongest Approximate avg 50() real avg 50() avg() Anti-monotonic, can be computed efficiently Anti-monotonic, but computationally costly Not antimonotonic 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 118
An Efficient Iceberg Cubing Method: Top-k H-Cubing n One can revise Apriori or BUC to compute a top-k avg iceberg cube. This leads to top-k-Apriori and top-k BUC. n Can we compute iceberg cube more efficiently? n Top-k H-cubing: an efficient method to compute iceberg cubes with average measure n H-tree: a hyper-tree structure n H-cubing: computing iceberg cubes using H-tree 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 119
H-tree: A Prefix Hyper-tree Header table Attr. Val. Edu Hhd Bus … Jan Feb … Tor Van Mon … Quant-Info Sum: 2285 … … … Side-link root Jan bus hhd edu Mar Jan Feb Tor Van Tor Mon Quant-Info Q. I. Month City Cust_grp Prod Cost Price Jan Tor Edu Printer 500 485 Jan Tor Hhd TV 800 1200 Jan Tor Edu Camera 1160 1280 Feb Mon Bus Laptop 1500 2500 Sum: 1765 Cnt: 2 Mar Van Edu HD 540 520 bins … … … 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 120
Properties of H-tree n Construction cost: a single database scan n Completeness: It contains the complete information needed for computing the iceberg cube n Compactness: # of nodes n*m+1 n n 15 March 2018 n: # of tuples in the table m: # of attributes Kho dữ liệu và khai phá dữ liệu: Chương 3 121
Computing Cells Involving Dimension City Header Table HTor Attr. Val. Edu Hhd Bus … Jan Feb … Tor Van Mon … 15 March 2018 Attr. Val. Edu Hhd Bus … Jan Feb … Quant-Info Sum: 2285 … … … Q. I. … … … … Side-link From (*, *, Tor) to (*, Jan, Tor) root Hhd. Edu. Jan. Side-link Tor. Quant-Info Mar. Jan. Bus. Feb. Van. Tor. Mon. Q. I. Sum: 1765 Cnt: 2 bins Kho dữ liệu và khai phá dữ liệu: Chương 3 122
Computing Cells Involving Month But No City 1. Roll up quant-info 2. Compute cells involving month but no city Attr. Val. Edu. Hhd. Bus. … Jan. Feb. Mar. … Tor. Van. Mont. … 15 March 2018 Quant-Info Sum: 2285 … … … Side-link root Hhd. Edu. Jan. Q. I. Tor. Mar. Jan. Q. I. Van. Tor. Bus. Feb. Q. I. Mont. Top-k OK mark: if Q. I. in a child passes top-k avg threshold, so does its parents. No binning is needed! Kho dữ liệu và khai phá dữ liệu: Chương 3 123
Computing Cells Involving Only Cust_grp root Check header table directly Attr. Val. Edu Hhd Bus … Jan Feb Mar … Tor Van Mon … 15 March 2018 Quant-Info Sum: 2285 … … … hhd edu Side-link bus Jan Mar Jan Feb Q. I. Van Tor Kho dữ liệu và khai phá dữ liệu: Chương 3 Mon 124
Properties of H-Cubing n Space cost n n n an H-tree a stack of up to (m-1) header tables One database scan Main memory-based tree traversal & side-links updates Top-k_OK marking 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 125
Scalability w. r. t. Count Threshold (No min_avg Setting) 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 126
Computing Iceberg Cubes with Other Complex Measures n Computing other complex measures n Key point: find a function which is weaker but ensures certain anti-monotonicity n Examples n Avg() v: avgk(c) v (bottom-k avg) n Avg() v only (no count): max(price) v n Sum(profit) (profit can be negative): n n p_sum(c) v if p_count(c) k; or otherwise, sumk(c) v Others: conjunctions of multiple conditions 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 127
Discussion: Other Issues n Computing iceberg cubes with more complex measures? n n n A research theme even for complex algebraic functions, e. g. , standard_dev, variance Dynamic vs. static computation of iceberg cubes n n n No general answer for holistic measures, e. g. , median, mode, rank v and k are only available at query time Setting reasonably low parameters for most nontrivial cases Memory-hog? what if the cubing is too big to fit in memory? —projection and then cubing 15 March 2018 Kho dữ liệu và khai phá dữ liệu: Chương 3 128
Condensed Cube n n W. Wang, H. Lu, J. Feng, J. X. Yu, Condensed Cube: An Effective Approach to Reducing Data Cube Size. ICDE’ 02. Icerberg cube cannot solve all the problems n n Suppose 100 dimensions, only 1 base cell with count = 10. How many aggregate (non-base) cells if count >= 10? Condensed cube n n Only need to store one cell (a 1, a 2, …, a 100, 10), which represents all the corresponding aggregate cells Adv. n n 15 March 2018 Fully precomputed cube without compression Efficient computation of the minimal condensed cube Kho dữ liệu và khai phá dữ liệu: Chương 3 129
ab9ef13fa17cf33d5cad7d2fc2de9112.ppt