5. Các kết quả dự kiến đạt đƣợc
3.4. Tối ƣu hoá các truy vấn phân tán
Ta đã biết, một câu truy vấn trong phép tính quan hệ biểu diễn trên các quan hệ phân tán có thể được ánh xạ thành một câu truy vấn trên các đoạn quan hệ bằng cách phân rã và định vị dữ liệu. ánh xạ này sử dụng lược đồ phân đoạn. Trong xử lý này, việc áp dụng các luật biến đổi cho phép đơn giản hoá câu truy vấn bằng cách tìm các biểu thức con chung và loại bỏ các biểu thức vô ích. Câu truy vấn thu được từ giai đoạn phân rã và định vị dữ liệu có thể được thực thi một cách đơn giản bằng việc thêm vào các thao tác truyền thông. Tuy nhiên, hoán vị thứ tự các phép toán trong câu truy vấn có thể cung cấp nhiều chiến lược tương đương để thực thi chúng. Tìm một thứ tự “tối ưu” của các phép toán cho một câu truy vấn đã cho là chức năng chính của bộ tối ưu hoá câu truy vấn.
Sự lựa chọn thứ tự tối ưu đối với một câu truy vấn là bài toán khó thực hiện nên mục đích thực sự của bộ tối ưu là tìm một chiến lược gần tối ưu. Sau đây ta sẽ gọi chiến lược (hoặc thao tác sắp thứ tự) được đưa ra bởi bộ tối ưu là chiến lược tối ưu (hoặc sắp chiến lược tối ưu). Đầu ra của bộ tối ưu là một lịch trình được tối ưu bao gồm câu truy vấn đại số được xác định trên các trạm.
Sự lựa chọn các chiến lược tối ưu nói chung đòi hỏi dự đoán chi phí thực hiện của các cách sắp thứ tự có thể có trước khi thực hiện câu truy vấn. Chi phí thực hiện là tổ hợp có trọng số của chi phí truyền thông, I/O, CPU. Tuy nhiên để đơn giản ta bỏ qua chi phí xử lý địa phương (I/O, CPU), coi chi phí truyền
Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thông là song yếu. Phần này chủ yếu tập trung vào việc sắp thứ tự các phép kết nối với hai lý do: Thứ nhất là bài toán đã được tìm hiểu kỹ lưỡng, thứ hai là các câu truy vấn liên quan đến phép kết nối, chọn, chiếu được xem như kiểu thường gặp nhất. Hơn nữa, dễ dàng tổng quát hoá thuật toán cơ bản cho các phép toán hai ngôi khác, như phép hợp. Ta cũng sẽ luận bàn xem các phép nửa kết nối có thể hỗ trợ việc xử lý phép kết nối một cách hiệu quả như thế nào.
Trong phần này sẽ trình bày các vấn đề sau: đầu vào bộ tối ưu bao gồm mô hình chi phí, các thống kê cơ sở dữ liệu, các công thức để đánh giá kích thước của các kết quả trung gian; thứ tự kết nối trên các câu truy vấn đoạn; các thuật toán tối ưu hoá câu truy vấn phân tán.