4. Những nội dung nghiên cứu chính
2.2.1. Cực tiểu hóa chi phí phân mảnh lại
Phƣơng pháp phân chia dữ liệu song song, ở đây chỉ tập trung vào trƣờng hợp phân mảnh ngang các quan hệ trong cơ sở dữ liệu, phƣơng pháp này thƣờng yêu cầu dữ liệu phải đƣợc phân mảnh lại trƣớc khi thực hiện phép toán, điều này sẽ làm phát sinh thêm chi phí
Ví dụ 2.2.1:
Giả sử cho các quan hệ
NHANVIEN(MANV, TEN, MAVUNG, SDT) KHACH(MAKH, TEN, MAVUNG, SDT) Trong đó:
Quan hệ NHANVIEN: Nhân viên
- MANV: Mã nhân viên - TEN: Họ và tên nhân viên - MAVUNG: Mã vùng - SDT: Số điện thoại
Quan hệ KHACH: Khách hàng
Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn
- TEN: Họ và tên khách hàng - MAVUNG: Mã vùng
- SDT: Số điện thoại
Hai quan hệ trên đƣợc phân mảnh ngang cho hai nút theo thuộc tính đƣợc gạch dƣới. Cây truy vấn dƣới đây sẽ cho biết số lƣợng nhân viên cũng là khách hàng trong mỗi vùng. Một nhân viên đƣợc xem là một khách hàng nếu họ cùng tên và cùng số điện thoại.
SELECT MAVUNG, Count(*)
FROM KHACH INTERSECT (SELECT TEN, MAVUNG, SDT FROM NHANVIEN)
GROUP BY MAVUNG
Hình 2-3 và 2-4 cho chúng ta thấy cách tổ chức dữ liệu và chỉ ra sự khác nhau về cách thức dữ liệu đƣợc phân mảnh ngang trên hai cây truy vấn.
Nút 0 Nút 1
NHANVIEN0: Hash(TEN) mod 2 = 0 KHACH0: Hash(MAVUNG) mod 2 = 0
NHANVIEN1: Hash(TEN) mod 2 = 1 KHACH1: Hash(MAVUNG) mod 2 = 1
Hình 2-3. Sơ đồ phân mảnh ngang dữ liệu tại các nút
Group by (MAVUNG)
Intersect (MAVUNG)
NHANVIEN (TEN) KHACH (MAVUNG)
Group by (MAVUNG)
NHANVIEN (TEN) KHACH (MAVUNG)
a)
Intersect (MAVUNG)
b)
Hình 2-4. Các cây truy vấn khác nhau về phân hoạch dữ liệu, đường nét đứt cho thấy phải phân bố lại quan hệ
Do các bộ có cùng giá trị MAVUNG phải đƣợc đặt cùng nhau nên toán tử GROUP BY đƣợc phân mảnh ngang theo MAVUNG. Tuy nhiên toán tử
Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn
INTERSECT có thể phân mảnh ngang dựa vào bất kỳ thuộc tính nào. Nếu chọn phân mảnh ngang theo MAVUNG thì phải phân mảnh ngang lại quan hệ NHANVIEN cũng nhƣ kết quả của INTERSECT. Vì vậy, tùy thuộc vào kích thƣớc của các quan hệ trung gian mà cây truy vấn nào trong hai cây đƣợc xem là tốt hơn.