Thuật toán tối ưu hóa truy vấn phân tán SDD-1

Một phần của tài liệu Đề tài nghiên cứu một số vấn đề về truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin (Trang 48 - 50)

3. Tối ưu hóa các truy vấn phân tán

4.1 Thuật toán tối ưu hóa truy vấn phân tán SDD-1

Ý tưởng chính của thuật toán là dựa trên phép toán bán kết nối.

Phép kết nối làm việc như một thuật toán rút gọn kích thước cho một quan hệ trước khi truyền. Kết nối 2 quan hệ R và S trên thuộc tính A, lưu tại trạm 1 và trạm 2 tương ứng, có thể tính toán bằng cách thay một hoặc 2 toán hạng quan hệ bởi phép bán kết nốivới các quan hệ khác, sử dụng các quy tắc sau:

Việc chọn một trong ba chiến lược bán kết nối trên đòi hỏi đánh giá các chi phí tương ứng của chúng. Sử dụng phép bán kết nối có lợi khi chi phó kết xuất và truyền nó tới trạm khác là nhỏ hơn chi phí truyền toàn bộ toán hạng quan hệ và thực hiện phép kết nối. Để thấy được lợi ích tiềm tang của phép bán kết nối, ta so sánh chi phí của hai lựa chọn RA Svà , giả sử size(R)<size(S).

Chương trình sử dụng phép bán kết nối sau: 1. ∏A(S)trạm 1.

2. Trạm 1 tính toán

3. R’ trạm 2

4. Trạm 2 tính toán

49

Cách tiếp cận bán kết nối là tốt hơn nếu phép bán kết nối hoạt động như một toán tử rút gọn đầy đủ, tức là nếu một số ít bộ của R tham gia vào kết nối.

- Thuật toán SDD-1:

Thuật toán sử dụng phép bán kết nối, hàm mục tiêu tối thiểu tổng chi phí truyền thông (chi phí địa phương và thời gian trả lời không được xét). Bước chính của thuật toán bao gồm việc xác định và sắp thứ tự các phép kết nối có lợi, tức là các phép bán kết nối có chi phí nhỏ hơn lợi ích của nó. Để chọn ra phép bán kết nốihiệu quả, thuật toán sử dụng các đánh giá về chi phí (cost) và lợi ích (benefit) được xác định như sau:

+ Chi phí truyền của phép bán kết nối: Cost(Râ A S)=CMSG + CTR * size(∏A(S)) + Đánh giá về lợi ích: Benefit(Râ A S)=(1 – SFSJ(S.A)) * size(R) * CTR

Thuật toán SDD-1 nhận đầu vào là đồ thị câu truy vấn với n quan hệ, các thống kê cơ sở dữ liệu của mỗi quan hệ. Đầu ra của thuật toán là chiến lược để thực thi câu truy vấn. Thuật toán được tiến hành theo 4 giai đoạn: khởi đầu, chọn các phép bán kết nốicó lợi, chọn trạm thực hiện và tối ưu hóa.

Thuật toán SDD – 1 – QOA:

Input: QG: Đồ thị truy vấn với n quan hệ, các thống kê của mỗi quan hệ

Output: ES: Chiến lược thực hiện

BEGIN

ES local-operations(QG)

Sửa đổi các thống kê để phản ánh kết quả xử lý của địa phương BSΦ {Tập các phépbán kết nốicó lợi}

For mỗi phépbán kết nối SJ trong QG do

If (cost(SJ)<benefit(SJ) then BS BS SJ

Endif Endfor

While BS <>do {Chọn các phép kết nối có lợi} Begin

SJ most_benefit(BS) {SJ: semijoin có benefit_cost lớn nhất}

BSBS-SJ {Loại SJ khỏi BS}

ESES+SJ

Sửa đổi cácthống kê để phản ánh kết quả của SJ thêm vào BSBS-các phép bán kết nốikhông có lợi

50

End Endwhile

{Chọn trạm thực hiện}

AS(ES)  chọn trạm i mà i chứa số lượng dữ liệu lớn nhất sau tất cả các phép toán cục bộ

ES ES  sự truyền của các quan hệ trung gian tới AS(ES) {Tối ưu hóa sau}

For mỗi quan hệ Ritại AS(ES) do

For mỗi phép nửa kết nỗi SJ của Rivới Rj do

If (cost(ES)<cost(ES-SJ) then ES  ES - SJ Endif Endfor Endfor END. {SDD – 1 – QOA}

Thuật toán này được diễn giải như sau:

Giai đoạn khởi đầu: sinh ra một tập những phép bán kết nốicó lợi (BS), vào một chiến lược thực thi(ES) bao gồm các xử lý địa phương.

Giai đoạn tiếp theo: Lặp lại lựa chọn ra các phép bán kết nối có lợi (SJi) từ BS, sửa đổi các thống kê cơ sở dữ liệu và BS. Sự sửa đổi ảnh hưởng đến các thống kê của quan hệ R liên quan trong SJi và phép bán kết nối còn lại trong BS mà sử dụng quan hệ R. Vòng lặp kết thúc khi tất cả các phép bán kết nối được thêm vào ES sẽ là thứ tự thực thi của chúng.

Giai đoạn chọn các trạm thực hiện: Với mỗi trạm đề cử đánh giá chi phí truyền tất cả dữ liệu được yêu cầu tới nó và chọn trạm có chi phí nhỏ nhất.

Giai đoạn tối ưu hoá sau: Loại bỏ những phép kết nối trong chiến lược thực thi chỉ ảnh hưởng đến quan hệ được lưu trữ tại trạm thực hiện.

Một phần của tài liệu Đề tài nghiên cứu một số vấn đề về truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin (Trang 48 - 50)