Các tầng của quá trình xử lý truy vấn phân tán

Một phần của tài liệu luận văn thạc sĩ xây dựng cơ sở dữ liệu phân tán phục vụ thông tin nhanh về nhân sự tại quảng bình (Trang 64 - 70)

6. Tổng quan tài liệu nghiên cứu

2.3.2.Các tầng của quá trình xử lý truy vấn phân tán

Câu truy vấn phải được phân rã thành một chuỗi các phép toán quan hệ được gọi là truy vấn đại số. Dữ liệu cần truy vấn phải được cục bộ hoá để các

bao gồm các thao tác trao đổi thông tin giữa các vị trí và được tối ưu hoá. Đầu vào là một câu truy vấn trên dữ liệu phân tán được xác định dưới

dạng các phép tính quan hệ. Câu truy vấn phân tán được đặt trên các quan hệ toàn cục. Bốn tầng lược đồ ánh xạ truy vấn phân tán thành một chuỗi các thao tác cục bộ được tối ưu hoá, hoạt động trên cơ sở dữ liệu cục bộ. Chức năng các tầng bao gồm: phân rã truy vấn, cục bộ hoá dữ liệu, tối ưu hoá truy vấn toàn cục và tối ưu hoá truy vấn cục bộ.

Chức năng của ba tầng đầu tiên được thực hiện tại một vị trí tập trung và sử dụng các thông tin toàn cục còn chức năng của tầng thứ tư được thực hiện ở vị trí cục bộ.

đại số quan hệ tuơng đương và hiệu quả. Phân rã truy vấn chưa đề cập đến sự phân tán dữ liệu, thực hiện qua 4 bước:

- Chuẩn hóa câu truy vấn

Biến đổi một câu truy vấn sang một dạng chuẩn để xử lý tiếp:

- Dạng chuẩn giao : ( P11 v P12 v…v P1n ) ^…^ (Pm1 v Pm2 v…v Pmn )

- Dạng chuẩn hợp : ( P11 ^ P12 ^…^ P1n) v … v (Pm1 ^ Pm2 ^…^ Pmn )

Trong đó, Pij là một biến lý luận (có giá trị là true hoặc false) hoặc là một vị từ đơn giản có dạng: a R b với a, b là các biểu thức số học và R là một trong những phép toán so sánh (=; < > ; < ; <= ; > ; >= ). Sử dụng các phép biến đổi tương đương của các phép toán lý luận.

- Phân tích

Cho phép loại bỏ câu truy vấn đã được chuẩn hoá nhưng sai kiểu hoặc không đúng ngữ nghĩa.

- Sai về kiểu dữ liệu: các thuộc tính của nó hoặc các tên quan hệ không được định nghĩa trong lược đồ toàn cục, hoặc nếu các phép toán được áp dụng cho các thuộc tính bị sai về kiểu dữ liệu.

- Sai về ngữ nghĩa: có chứa các thành phần không tham gia vào quá trình tạo ra kết quả của truy vấn.

- Loại bỏ dư thừa

C

ó thể loại bỏ các vị từ dư thừa và các thao tác dư thừa bằng cách giản ước các lượng từ hoá bằng các quy tắc luỹ đẳng.

- Viết lại câu truy vấn

b. Cục bộ hóa dữ liệu (tối ưu hóa truy vấn trên lược đồ phân mảnh)

Đầu vào là một truy vấn đại số trên quan hệ phân tán. Chức năng chủ yếu của tầng này là cục bộ hoá dữ liệu truy vấn sử dụng các thông tin dữ liệu phân tán. Nó xác định mảnh quan hệ nào sẽ được sử dụng trong truy vấn và chuyển đổi câu truy vấn phân tán thành một truy vấn trên mảnh cụ thể.

Để tạo một truy vấn trên mảnh được thực hiện bởi hai bước:

-Truy vấn phân tán được ánh xạ sang một truy vấn trên mảnh bằng việc thay thế mỗi quan hệ phân tán bằng chương trình xây dựng lại có chứa các phép toán đại số quan hệ thao tác trên mảnh.

- Truy vấn trên mảnh được đơn giản hoá và xây dựng lại để tạo ra một truy vấn khác tốt hơn. Quá trình đơn giản hoá và xây dựng lại có thể được thực hiện dựa theo cùng một quy tắc được sử dụng trong tầng phân rã.

- Rút gọn cho phân mảnh ngang nguyên thuỷ

Việc rút gọn các truy vấn trên các quan hệ đã được phân mảnh ngang bao gồm việc xác định câu truy vấn sau khi đã cấu trúc lại cây con. Điều này sẽ sinh ra một số quan hệ rỗng, và sẽ loại bỏ chúng. Phân mảnh ngang có thể được khai thác để làm đơn giản cả phép chọn và phép nối.

a) Rút gọn với phép chọn: cho một quan hệ R được phân mảnh ngang thành R1, R2,..., Rn với Rj =ϖpj(R).

Luật 1: σpj(Rj) = ∅ nếu σxR : ∈(pi(x) ¬ pj(x)).

Trong đó, pi, pj là tân từ chọn, x là bộ dữ liệu, p(x) là tân từ p chiếm giữ x

b) Rút gọn với phép nối : Các phép nối trên quan hệ đã được phân mảnh ngang có thể đơn giản khi chúng được phân mảnh theo thuộc tính nối. Việc rút gọn được thực hiện dựa trên tính phân phối giữa phép nối và phép hợp và

phân mảnh, có thể xác định được các phép nối vô ích của các mảnh khi các điều kiện nối mâu thuẫn nhau. Khi đó, dùng luật 2 dưới đây để loại bỏ các phép nối vô ích.

Luật 2: Ri  Rj =∅ nếu ϖx∀Ri, ∈y∀Rj : ∈ (pi(x)¬pj(y)). (adsbygoogle = window.adsbygoogle || []).push({});

Trong đó Ri, Rj được xác định theo các tân từ pi, pj trên cùng thuộc tính. Việc xác định các phép nối vô ích được thực hiện bằng cách chỉ xem xét các tân từ mảnh. Truy vấn rút gọn không phải luôn tốt hơn hoặc đơn giản hơn truy vấn ban đầu. Thuận lợi của truy vấn rút gọn là những phép nối có thể thực hiện song song.

- Rút gọn cho phân mảnh dọc

Phân mảnh dọc phân tán một quan hệ dựa trên các thuộc tính chiếu. Vì vậy phép kết nối là phép toán tái xây dựng các phân mảnh dọc, cục bộ hoá cho quan hệ phân mảnh dọc bao gồm các kết nối của các mảnh trên các thuộc tính chung.

Các truy vấn trên phân mảnh dọc có thể rút gọn bằng cách xác định những quan hệ trung gian vô ích và loại bỏ các cây con chứa chúng. Các phép chiếu trên một phân mảnh dọc không có thuộc tính chung với các thuộc tính chiếu (ngoại trừ khóa) là vô ích, mặc dù các quan hệ là khác rỗng.

Luật 3: πD,K(Ri) là vô ích nếu DA’=∅.

Trong đó, quan hệ R xác định trên A={A1, ..., An}; R = πA’(R), A’∩A ,

K là khoá của quan hệ, KA, D là tập các thuộc tính chiếu, DA.

- Rút gọn theo phân mảnh gián tiếp

Phân mảnh ngang gián tiếp là một cách tách hai quan hệ để việc xử lý nối của các phép chọn và phép nối.

các bộ của R được đặt tuỳ theo những bộ của S, thì sự phân mảnh gián tiếp chỉ nên sử dụng mối quan hệ một- nhiều từ SR (một bộ của S có thể phù hợp với

n bộ của R, nhưng một bộ của R chỉ phù hợp với một bộ của S).

Truy vấn trên các phân mảnh gián tiếp cũng có thể rút gọn được, nếu các tân từ phân mảnh mâu thuẫn nhau thì phép nối sẽ đưa ra quan hệ rỗng. Chương trình định vị một quan hệ đã được phân mảnh ngang gián tiếp là hợp của các mảnh.

- Rút gọn theo phân mảnh hỗn hợp

Các truy vấn trên các mảnh hỗn hợp có thể được rút gọn bằng cách kết hợp các luật sử dụng trong phân mảnh ngang nguyên thủy, phân mảnh dọc, phân mảnh ngang gián tiếp, tương ứng như sau:

- Loại bỏ các quan hệ rỗng sinh bởi sự mâu thuẫn giữa các phép chọn trên các phân mảnh ngang.

- Loại bỏ các quan hệ vô ích sinh bởi các phép chiếu trên các phân mảnh dọc.

- Phân phối các phép nối với các phép hợp để tách và loại bỏ các phép nối vô ích.

c. Tối ưu hoá truy vấn toàn cục

Tối ưu hóa truy vấn toàn cục tìm ra một thứ tự thực hiện các phép toán trong biểu thức truy vấn sao cho ít tốn thời gian nhất. Khâu tốn kém thời gian trong cơ sở dữ liệu phân tán là khâu truyền dữ liệu do tốc độ và băng thông giới hạn. Trong trường hợp nhân bản thì còn phải tính xem nhân bản nào được sử dụng nhằm giảm chi phí truyền thông.

Vấn đề quan trọng của tối ưu hoá truy vấn là thứ tự thực hiện các phép nối phân tán. Nhờ tính giao hoán của các phép nối, có thể làm giảm chi phí

giữa các vị trí và tăng tính xử lý cục bộ tại các vị trí.

R ®A = B S = S A = B (R ωA = B <BS)

d. Tối ưu hoá truy vấn cục bộ

Thực hiện các truy vấn con được phân tán tại mỗi vị trí, gọi là truy vấn cục bộ có chứa các mảnh, sau đó được tối ưu hoá trên lược đồ cục bộ tại mỗi vị trí. Tối ưu hoá truy vấn cục bộ sử dụng các thuật toán tối ưu hoá truy vấn của cơ sở dữ liệu tập trung.

Một phần của tài liệu luận văn thạc sĩ xây dựng cơ sở dữ liệu phân tán phục vụ thông tin nhanh về nhân sự tại quảng bình (Trang 64 - 70)