2. Định vị dữ liệu phân tán
2.4 Rút gọn phân mảnh hỗn hợp
Phân mảnh hỗn hợp bao gồm việc phân mảnh ngang và phân mảnh dọc. Mục đích của phân mảnh hỗn hợp là hỗ trợ một cách hiệu quả các câu truy vấn có chứa các phép chọn, phép chiếu và phép kết nối. Chương trình hóa cục bộ cho một quan hệ
44
phân mảnh hỗn hợp có sử dụng phép hợp và kết nối các mảnh. Để tối ưu hóa một phép toán hay tổ hợp các phép toán luôn luôn phải trả chi phí cao cho các phép toán khác. Ví dụ phân mảnh hỗn hợp dựa trên phép chiếu-chọn sẽ làm cho phép chiếu hoặc phép chọn kém hiệu quả hơn so với phân mảnh ngang hoặc phân mảnh dọc.
Ví dụ: phân mảnh hỗn hợp của quan hệ EMP như sau:
(EMP)) (π
σ
=
EMP1 ENO≤"E4" ENO,ENAME
(EMP)) (π
σ
=
EMP2 ENO>"E4" ENO,ENAME (EMP)
π
=
EMP3 ENO,ENAME
Chương trình cục bộ hóa như sau:
3 ENO 2 1∪EMP) EMP (EMP = EMP
Các truy vấn trên những mảnh hỗn hợp có thể được rút gọn bằng cách kết hợp lần lượt các quy tắc trong phân mảnh ngang nguyên thủy, phân mảnh dọc và phân mảnh ngang dẫn xuất. Các quy tắc có thể tóm tắt như sau:
1. Loại bỏ các quan hệ rỗng được tạo ra do các phép chọn mâu thuẫn nhau trên các mảnh ngang.
2. Loại bỏ các kết nối vô dụngđược tạo ra do các phép chiếu trên các phân mảnh dọc 3. Phân phối các kết nối cho các phép hợp nhằm cô lập và loại bỏ các kết nối vô dụng
Ví dụ: Xét câu truy vấn sau: SELECT ENAME FROM EMP
WHERE EMP = “E5”
Hình 17: Rút gọn phân mảnh hỗn hợp