2.5.3 Các thuật toán tối ưu hóa truy vấn trong môi trường phân tán
Nhưđã phân tích trong phần trước, việc sắp xếp các nối là một nội dung quan trọng trong quá trình tối ưu hóa truy vấn tập trung. Việc sắp xếp thứ tự nối trong môi trường phân tán càng quan trọng hơn, do chi phí cho các thao tác nối
để sắp xếp thứ tự các nối được chú ý đến:
Cách thứ nhất là tối ưu hóa trực tiếp dựa trên việc sắp xếp thứ tự nối (Ordering joins)
Cách thứ hai là thay các nối bằng các tổ hợp của nối nửa (Semijoin ordering), nhằm giảm thiểu chi phí truyền dữ liệu.
2.5.3.1 Các thuật toán dựa trên sắp xếp thứ tự nối (Ordering Joins)
Các thuật toán của hệ INGRES phân tán và System R* là đại diện cho nhóm này. Mục đích của phần này nhằm trình bày các vấn đề của việc sắp thứ tự nối và tạo tiền đề cho phần tiếp theo có sử dụng nối nửa để tối ưu các câu truy vấn phân tán.
Trước khi đi vào vấn đề chính chúng ta đưa ra một số giả thiết như sau:
Câu truy vấn được định vị trên các mảnh, ta dùng thuật ngữ quan hệ để chỉ một mảnh được lưu trữ tại một trạm cụ thể.
Tập trung vào việc sắp xếp thứ tự nối, bỏ qua thời gian xử lý cục bộ.
Chỉ xem xét các câu truy vấn nối mà các toán hạng quan hệđược lưu tại những trạm khác nhau.
Giả sử việc truyền dữ liệu (quan hệ) được truyền theo mỗi lần một tập (set at a time), chứ không phải mỗi lần một bộ (tuple at a time).
Bỏ qua chi phí truyền tại trạm kết quả.
Ta thử xét câu truy vấn chỉ có hai toán hạng R và S. Quan hệđược lựa chọn để truyền hiển nhiên là quan hệ nhỏ tới trạm chứa quan hệ lớn hơn.
R S
Nếu kích thước(R) > kích thước(S)
Nếu kích thước(R) < kích thước(S)
Kích thước (R)=|R|*độ dài theo byte của một bộ của R