Danh mục

Bài giảng Kho dữ liệu và kinh doanh thông minh - Bài 6: Tối ưu hóa

Số trang: 64      Loại file: pdf      Dung lượng: 1.44 MB      Lượt xem: 11      Lượt tải: 0    
Thu Hiền

Xem trước 7 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Kho dữ liệu và kinh doanh thông minh - Bài 6: Tối ưu hóa, trình bày các nội dung chính như sau: Phân mảnh/Partitioning; Kết nối/Joins; View lưu trữ/Materialized Views. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Kho dữ liệu và kinh doanh thông minh - Bài 6: Tối ưu hóa KHO DỮ LIỆU VÀKINH DOANH THÔNG MINH Bài 6: Tối ưu hóa Nội dung Phân mảnh/Partitioning Kết nối/Joins View lưu trữ/Materialized Views 2 Phân mảnh/Partitioning• Chia dữ liệu thành các đơn vị vật lý có thể quản lý riêng biệt• Mức chi tiết/Granularity và mức phân mảnh/partitioning là nhân tố chính để đạt hiệu quả của warehouse• Câu hỏi không phải là có nên dùng phân mảnh không mà là sử dụng nó thế nào 3 Phân mảnh• Tại sao phân mảnh? – Tạo sự dễ dàng trong quản lý dữ liệu – Các đơn vị vật lý nhỏ hơn cho phép • Tạo chỉ mục không tốn kém • Duyệt tuần tự khi cần • Dễ tổ chức lại • Dễ khôi phục • Dễ giám sát 4 Phân mảnh• Trong DW, phân mảnh được sử dụng để cải tiến: – Hiệu năng truy vấn nghiệp vụ, nghĩa là tối thiểu hóa số dữ liệu phải duyệt qua – Khả năng sẵn dùng của dữ liệu, thí dụ việc lưu dự phòng/khôi phục có thể thực hiện đối với từng mảnh – Điều hành CSDL, thí dụ thêm cột, lưu trữ, tạo lại index, tải các bảng dữ liệu 5 Phân mảnh• Có thể tiếp cận theo các cách sau: – Phân mảnh dữ liệu với dữ liệu thường được phân mảnh bởi • Ngày tháng/Date • Nghiệp vụ/Line of business • Địa lý/Geography • Đơn vị tổ chức/Organizational unit • Hay kết hợp của các nhân tố trên – Phân mảnh phần cứng • Làm cho dữ liệu sẵn dùng ở các node xử lý khác nhau • Các tiến trình con có thể chạy ở các node đặc biệt 6 1. Phân mảnh dữ liệu• Các mức phân mảnh dữ liệu – Mức ứng dụng – Mức CSDL• Phân mảnh dữ liệu mức CSDL là hiển nhiên, nhưng ta cũng có thể phân mảnh mức ứng dụng – E.g., allows different definitions for each year • Important, since DWs span many years and as business • evolves DWs change, too • Think for instance about changing tax laws 7 1. Phân mảnh dữ liệu• Phân mảnh dữ liệu bao gồm: – Cắt các hàng của một bảng vào nhiều bảng khác, gọi là phân mảnh ngang – Cắt các cột của một bảng vào nhiều bảng khác, gọi là phân mảnh dọc 8 1. Phân mảnh dữ liệu• Phân mảnh ngang – Tập các bản ghi được chia thành các tập con không giao nhau – Định nghĩa: Tập các quan hệ Relations {R1,…, Rn} thể hiện phân mảnh ngang của quan hệ chính/Master-Relation R, nếu và chỉ nếu Ri R, Ri Rj=Ø and R= iRi, for 1≤ i, j ≤n – Theo thủ tục phân mảnh chúng ta có các giải pháp phân mảnh khác nhau • Range partitioning, list partitioning và hash partitioning 9 1. Phân mảnh ngang• Phân mảnh theo dải/range – Chọn sự phân mảnh các khóa khi nó nằm trong các dải giá trị nào đó – Sự phân mảnh có thể được thể hiện như một quan hệ rang buộc trên quan hệ chính/master-relation • Ri = σPi(R), với Pi là điều kiện phân mảnh. Điều kiện phân mảnh có thể chứa nhiều thuộc tính: – P1: Country = ‘Germany’ and Year = 2016 – P2: Country = ‘Germany’ and Year < 2016 – P3: Country ≠ ‘Germany 10 1. Phân mảnh ngang• Phân mảnh danh sách/List Partitioning – Một mảnh được gán cho một danh sách các giá trị • Nếu khóa của một hàng nằm trong danh sách, hàng đó thuộc phân mảnh – Thí dụ: tất cả các hàng với cột Country là Iceland, Norway, Sweden, Finland hay Denmark được phân mảnh vào các nước Scandinavian – Có thể được thể hiện như một ràng buộc đơn trên quan hệ chính • Điều kiện phân mảnh chỉ chứa 1. thuộc tính – P1: City IN (‘Hamburg’, ‘Hannover’, ‘Berlin’) – P2: City IN (DEFAULT) thể hiện các bộ không được nhóm vào P1 11 1. Phân mảnh ngang• Phân mảnh theo hàm băm – Giá trị của hàm băm xác định các thành viên của một mảnh • Thường được sử dụng trong các tiến trình xử lý song song • Cần chọn hàm băm sao cho đạt được sự cân bằng của dữ liệu – Với mỗi bộ t, của bảng R, hàm băm sẽ liên kết nó với một bảng phân mảnh Ri • Ri = {t1, …, tm/tj R và H(tj) = H(tk) for 1. ≤ j, k ≤ m} 12 1. Phân mảnh ngang• Trong DW, dữ liệu được phân mảnh bởi – Chiều thời gian • Periods, such as week or month can be used or the data can be partitioned by the age of the data • E.g., if the analysis is usually done on last months data the table could be partitioned into monthly segments – Một số chiều khác • If queries usually run on a grouping of data: e.g. each branch tends to query on its own data and the dimension structure is not likely to change then partition the table on this dimension – Kích thước bảng • If a dimension cannot be used, partition the table by a predefined size. If this method is used, metadata must be created to identify what is contained in each partition 13 1. Phân mảnh dọc• Phân mảnh dọc – Chia các cột thành các nhóm tạo bảng phân mảnh • Usually called row splitting • Row splitting creates one-to-one relationships between the partitions – Có thể sử dụng lưu trữ vật lý khác nhau. Thí dụ lưu các trường thường được sử dụng ở thiết bị khác với các trường ít được ...

Tài liệu được xem nhiều:

Tài liệu cùng danh mục:

Tài liệu mới: