intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:64

1
lượt xem
0
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

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

  1. KHO DỮ LIỆU VÀ KINH DOANH THÔNG MINH Bài 6: Tối ưu hóa
  2. Nội dung  Phân mảnh/Partitioning  Kết nối/Joins  View lưu trữ/Materialized Views 2
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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 month's 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
  14. 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 sử dụng 14
  15. 1. Phân mảnh dọc • Trong DW, phân mảnh dọc thường – Chuyển các trường ít được sử dụng ra thành một bảng khác – Tạo view kết nối 2 bảng để tạo bảng gốc chấp nhận giảm hiệu năng • Hiệu năng sẽ tăng cao khi truy cập các dữ liệu có tần suất sử dụng cao 15
  16. 1. Phân mảnh dọc • Trong DW với các bảng dimension lớn như bảng customer của Amazon (nhiều triệu bản ghi) – Đại đa số các thuộc tính ít được sử dụng • Thí dụ thuộc tính địa chỉ sẽ không quan trọng đối với yêu cầu nhóm khách hàng theo độ tuổi – Tuy nhiên vẫn cần duy trì và phải gánh chịu mức suy giảm hiệu năng cao khi cần kết nối 16
  17. 1. Phân mảnh dọc • Giải pháp sử dụng Mini-Dimensions, là trường hợp đặc biệt của phân mảnh dọc – Many dimension attributes are used very frequently as browsing constraints • In big dimensions these constraints can be hard to find among the lesser used ones – Logical groups of often used constraints can be separated into small dimensions which are very well indexed and easily accessible for browsing 17
  18. 1. Phân mảnh dọc • Mini-Dimensions, thí dụ bảng Demography 18
  19. 1. Phân mảnh dọc • Tất cả các biến trong các mini-dimension được thể hiện như các lớp riêng biệt – Khóa của mini-dimension được bổ sung vào bảng fact và bảng chiều mà nó được tách ra – Mini-dimension cần nhỏ gọn 19
  20. 1. Phân mảnh • Ưu điểm – Các bản ghi được sử dụng cùng nhau được nhóm với nhau – Mỗi phân mảnh có thể được tối ưu hiệu năng – An toàn và dễ phục hồi – Các mảnh được lưu trên các đĩa khác nhau – Mang lại ưu điểm khi xử lý song song • Nhược điểm – Chậm khi truy cập giữa các phân mảnh (phép toán kết nối tốn kém) – Phức tạp 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2