Một số thuật toán tối ƣu hóa truy vấn phân tán

Một phần của tài liệu (LUẬN văn THẠC sĩ) luận văn thạc sĩ tối ưu hóa truy vấn trong các cơ sở dữ liệu phân tán (Trang 56 - 57)

Một câu truy vấn có thể tối ƣu hóa tại các thời điểm khác nhau liên quan đến thời gian thực hiện truy vấn. Việc tối ƣu hóa truy vấn có thể thực hiện theo 4 phƣơng pháp:

- Phƣơng pháp tĩnh: Việc tối ƣu hóa truy vấn tĩnh đƣợc thực hiện tại thời điểm biên dịch truy vấn. Vì vậy, chi phí truy vấn có thể đƣợc giảm dần qua nhiều lần thực hiện truy vấn, vì đây là các thời điểm thích hợp cho phƣơng pháp tìm kiếm vét cạn. Kích thƣớc của các quan hệ trung gian không đƣợc biết trƣớc trƣớc khi thực hiện. Vì vậy, cần phải đƣợc đánh giá ƣớc lƣợng theo số liệu thống kê CSDL. Các sai sót trong cách đánh giá này có thể dẫn đến lựa chọn một giải pháp gần tối ƣu, thuật toán tiêu biểu là R*.

- Phƣơng pháp động: Việc tối ƣu hóa động đƣợc thực hiện vào thời gian thực hiện truy vấn. Trong các thời điểm thực hiện tối ƣu hóa truy vấn, việc lựa chọn thao tác tiếp theo tốt nhất cho tối ƣu hóa truy vấn dựa trên những thông tin chính xác về kết quả của thao tác thực hiện trƣớc đó. Vì vậy, các số liệu thống kê không cần thiết cho việc đánh giá kích thƣớc của các quan hệ trung gian (nhƣng có ích trong việc lựa chọn các thao tác đầu tiên). Thuật toán tiêu biểu: INGRES phân tán hay còn gọi là D-INGRES

- Phƣơng pháp dựa trên phép nửa kết nối (semijoin): Phƣơng pháp này sẽ sử dụng phép nửa kết nối thay cho phép kết nối để giảm kích thƣớc của các kết quả trung gian, giảm chi phí truyền thông, từ đó giảm tổng thời gian truy vấn. Thuật toán tiêu biểu: SDD-1, AHY.

- Phƣơng pháp tối ƣu hóa truy vấn hỗn hợp có các ƣu điểm của tối ƣu hóa truy vấn tĩnh, tránh đƣợc các vấn đề đƣợc tạo ra bởi các đánh giá không chính xác gây ra.Về cơ bản phƣơng pháp này là tĩnh nhƣng quá trình truy vấn động có thể xảy ra lúc chạy khi phát hiện có sự khác biệt lớn giữa kích thƣớc dự đoán và kích thƣớc thực tế của các quan hệ trung gian. Thuật toán tối ƣu truy vấn 2 pha sử dụng phƣơng pháp này.

Ƣu điểm của phƣơng pháp động so với phƣơng pháp tĩnh là kích thƣớc thực sự của các quan hệ trung gian là phù hợp cho bộ xử lý truy vấn. Vì vậy, sẽ giảm thiểu xác suất cho việc lựa chọn một giải pháp tồi.

Nhƣợc điểm của phƣơng pháp động là các thao tác tối ƣu hóa có chi phí cao, lặp lại nhiều lần cho mỗi thao tác. Vì vậy, phƣơng pháp này sẽ rất phù hợp cho một số câu truy vấn đặc biệt.

Phần này sẽ trình bày một số thuật toán tối ƣu hóa truy vấn cơ bản trong CSDL phân tán nhƣ thuật toán INGRES phân tán, thuật toán R* và một thuật toán mới, kết hợp giữa thuật toán quy hoạch động (Dynamic Programming) và thuật toán đàn kiến (Ant Colony Optimization) đƣợc gọi là DP-ACO.

Một phần của tài liệu (LUẬN văn THẠC sĩ) luận văn thạc sĩ tối ưu hóa truy vấn trong các cơ sở dữ liệu phân tán (Trang 56 - 57)