Thuật toỏn INGRES phõn tỏn

Một phần của tài liệu tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 79 - 81)

6. Cỏc kết quả dự kiến

2.8.1. Thuật toỏn INGRES phõn tỏn

Thuật toỏn tối ưu hoỏ cõu truy vấn phõn tỏn của INGRES phõn tỏn bắt nguồn từ thuật toỏn INGRES tập trung. Hàm mục tiờu của thuật toỏn là tối thiểu tổng chi phớ và thời gian trả lời, nhưng hai mục tiờu này đối lập nhau (tăng chi phớ truyền thụng, cú thể giảm bớt thời gian trả lời) nờn hai hàm mục tiờu cú trọng số lớn hơn cho mục tiờu này hay mục tiờu kiạ Thuật toỏn tối ưu hoỏ cõu truy vấn này bỏ qua chi phớ truyền dữ liệu tới trạm kết quả. Thuật toỏn sử dụng cỏc phõn đoạn ngang và xột cả hai kiểu mạng (mạng cục bộ và mạng diện rộng).

Đầu vào của thuật toỏn xử lý cõu truy vấn là một cõu truy vấn viết trong phộp tớnh quan hệ bộ (trong dạng chuẩn hội) và thụng tin lược đồ (kiểu mạng, vị trớ và kớch thước của mỗi đoạn). Thuật toỏn này được thực hiện tại trạm ở đú cõu truy vấn được bắt đầu, gọi là trạm chủ (master site), thuật toỏn cú tờn D- INGRES-QOA[7].

Thuật toỏn: D-INGRES-QOA

Input: MVQ: Truy vấn đa biến với n biến

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

BEGIN

For mỗi OVQi cú thể tỏch ra in MVQ do {chạy tất cả cỏc truy vấn một biến}

Run(OVQi); (1) Endfor

MVQ’_listREDUCE(MVQ)

{thay thế MVQ bởi n truy vấn khụng thể rỳt gọn} (2)

While n 0 do {n- số truy vấn khụng thể rỳt gọn} (3) Begin

{Chọn truy vấn khụng thể rỳt gọn liờn quan đến cỏc đoạn nhỏ nhất}

MVQ’ select_query(MVQ’_list); (3.1) {Xỏc định cỏc đoạn để truyền và trạm xử lý MVQ‟}

Fragment-site-list SELECT_STRATEGY(MVQ’); (3.2)

{truyền cỏc đoạn đó chọn tới cỏc trạm đó chọn}

For mỗi cặp (F,S) trong Fragment-site-list do (3.3)

Chuyển đoạn F tới trạm S;

End-for

Run(MVQ’);

n n-1; (3.4)

End-while {đầu ra của thuật toỏn là kết quả của MVQ‟ cuối cựng} End. (D-INGRES-QOA)

Bước 1: Xử lý địa phương tất cả cỏc truy vấn một biến (phộp chọn và phộp chiếu).

Bước 2: Thuật toỏn thu gọn được ỏp dụng cho truy vấn ban đầu, tỏch cỏc truy vấn khụng thể rỳt gọn và cỏc truy vấn một biến rạ Bỏ qua cỏc truy vấn một biến vỡ đó xử lý ở bước 1

Bước 3: Áp dụng cho cỏc truy vấn khụng thể rỳt gọn.

Bước 3.1: Chọn cỏc truy vấn chưa được xử lý và liờn quan đến cỏc đoạn nhỏ hơn.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Bước 3.2: Chọn chiến lược tốt nhất để xử lý truy vấn MVQ‟ (truy vấn khụng thể rỳt gọn và cú ớt nhất hai biến). Chiến lược này được mụ tả bởi một danh sỏch cỏc cặp (F, S), trong đú F là một đoạn để truyền tới trạm xử lý S.

Bước 3.3: Truyền tất cả cỏc đoạn tới trạm xử lý chỳng.

Bước 3.4: Thực hiện MVQ‟. Nếu cú cỏc truy vấn con cũn lại, thuật toỏn quay lại bước 3 và thực hiện bước lặp tiếp theo, ngược lại thuật toỏn kết thỳc.

Đặc điểm của thuật toỏn INGRES phõn tỏn là tỡm kiếm trong khụng gian lời giải cú giới hạn, trong đú một quyết định tối ưu hoỏ được thực hiện ở mỗi bước với kết quả của nú trờn tối ưu hoỏ tổng thể. Tối ưu hoỏ cõu truy vấn động cú lợi vỡ kớch thước chớnh xỏc của kết quả trung gian được biết.

Một phần của tài liệu tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 79 - 81)