1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xử lý truy vấn trong cơ sở dữ liệu phân tán

123 810 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 123
Dung lượng 5,23 MB

Nội dung

Ưu điểm của cách biểu diễn câu truy vấn bằng đại số quan hệ là thể hiện rõ thứ tự thực hiện các phép toán..  Một biểu thức đại số quan hệ là một chuỗi các phép toán và có thể được biểu

Trang 1

GVHD: PGS.TS Đồng Thị Bích Thuỷ Nhóm 2:

Hoàng Tuấn Trần Đức Dũng Nguyễn Thanh Tuấn Phạm Thị Hồng Thanh

Xử lý truy vấn trong cơ sở dữ liệu

phân tán

Nhóm 2

Trang 2

Nội dung trình bày

Biến đổi câu truy vấn toàn cục thành câu truy vấn trên các mảnh

Trang 3

Mô hình dữ liệu phân tán sử dụng trong slide này (tham khảo sách 1 trang 46)

Cấu trúc dữ liệu

Vị từ phân mảnh

3

Nhóm 2

Trang 4

Biến đổi câu truy vấn – CS lý thuyết

Mọi câu truy vấn đều có thể biểu diễn bằng đại số quan hệ Ưu điểm của cách biểu diễn câu truy vấn bằng đại số quan hệ là thể hiện rõ thứ tự thực hiện các phép toán.

Một biểu thức đại số quan hệ là một chuỗi các phép toán và có thể được biểu diễn bằng một cây toán tử (operator tree)

Ví dụ: Hãy cho biết các nhà cung cấp có đơn hàng cung cấp ở phía Bắc, được biểu diễn

bằng biểu thức đại số quan hệ sau

Biểu thức trên được biểu diễn bằng cây toán tử sau:

4

Nhóm 2

Trang 5

Biến đổi câu truy vấn – CS lý thuyết

Cây toán tử cho ta thấy rõ thứ tự thực hiện các toán tử và kết quả trong từng bước Ở đây ta thấy thứ tự thực hiện là: kết, chọn, chiếu

Nhưng, chúng ta thấy

ra, thứ tự thực hiện tốt

nhất nên là: chọn, kết,

chiếu Ứng với cách

thực hiện này, cây

toán tử sẽ được biến

đổi như sau :

Các phép chuyển đổi trên cây toán tử sẽ tạo ra một phép biến đổi tương đương trên biểu thức quan hệ

5

Nhóm 2

Trang 6

Biến đổi câu truy vấn – CS lý thuyết

Khái niệm tương đương:

 Ηαι θυαν η Ρ1 ϖ◊ Ρ2 ệ đượ χ γ ι λ◊ τ νγ ọ ươ đươ νγ

Trang 7

Các tính chất của 1 phép toán đại số

quan hệ

7

Nhóm 2

Trang 8

Các tính chất của 1 phép toán đại số

quan hệ

Tính phân phối (distributivity) của phép toán 1 ngôi với phép toán 2 ngôi

U(R B S) U(R) B U(S)

Tính đặt thừa số chung (fratorization) của phép toán 1 ngôi

U(R) B U(S) U(R B S)

8

Nhóm 2

Trang 9

Biến đổi tương đương trong đại số quan hệ - Tính giao hoán

)) (

)) (

S

R ∩ = ∩

R S S

R × = ×

R S

S

R ∪ = ∪

)) ( (

)) (

)) (

Trang 10

Tính giao hoán của phép chọn và phép tích, phép kết

Phép biến đổi tương đương Ghi chú

Nếu Attr(F) ⊆ (Attr(R) – Attr(S))

Nếu Attr(F1) ⊆ (Attr(R) –

( ((

Trang 11

Biến đổi tương đương trong đại số quan hệ - Tính giao

Trang 12

Biến đổi tương đương trong đại số quan hệ

) ( R × S × T = R × S × T

) (

) ( RST = RST

) (

) ( RST = RST

()

)) ( (

) ( R F1 F2 R

12

Nhóm 2

Trang 13

Cây biểu diễn tính kết hợp và luỹ đẳng

Trang 14

Biến đổi tương đương trong đại số quan hệ

- Tính phân phối của phép chọn

Phép biến đổi tương đương Ghi chú và điều kiện

( )

) ( )

( )

) ( )

( )

F3 F3

14

Nhóm 2

Trang 15

Biến đổi tương đương trong đại số quan hệ

- Tính phân phối của phép chiếu

Phép biến đổi tương đương Ghi chú và điều kiện

AR = A – Attr(S), AS = A- Attr(R)

πA (R S) → πAR (R) πAS(S) AR = A – Attr(S), AS = A-

Attr(R) Attr(F3) ⊆ A (dẫn xuất

từ điều kiện tích Đề các)

πA (R S) → πAR (R) πAS (S) AR = A – Attr(S),

AS = Attr(S) ∩ Attr (F3) Attr(F3) ⊆ A

) ( )

( )

( R S A R A S

) ( )

( )

Trang 16

Biến đổi tương đương trong đại số quan hệ

- Tính nhân tử hóa của phép chọn

Phép biến đổi tương đương Ghi chú và điều kiện

FR = FS = F

F = FR, FR→FS F= FR ∧ FS

σFR (R) σFS (S) → σF (R S) F= FR ∧ FS

σFR (R) σFS (S) → σF (R S) F= FR, FS = true

) (

) ( )

σ

) (

) ( )

σ

) (

) ( )

Trang 17

Biến đổi tương đương trong đại số quan hệ

- Tính nhân tử hóa của phép chiếu

Phép biến đổi tương đương Ghi chú và điều kiện

AR = A= AS

πAR (R) πAS(S) → πA (R S)

πAR (R) πAS(S) → πA (R S) A = AR

) (

) ( )

( R AS S A R S

π

) (

) ( )

A = ∪

AS AR

A = ∪

17

Nhóm 2

Trang 18

Mô hình hoá tính phân phối và tính nhân tử

Trang 19

Biến đổi tương đương trong đại số quan hệ (tt)

Từ các phép biến đổi trên, ta dẫn xuất ra một phép biến đổi rất hữu ích khi sử dụng trong

môi trường phân tán

19

Nhóm 2

Trang 20

Nguyên tắc biến đổi tương đương

Trong cơ sở dữ liệu cục bộ, việc biến đổi tương đương được thực hiện theo 2 nguyên tắc

sau, nhằm làm giảm kích thước các toán hạng trong phép toán 2 ngôi trước khi thực hiện :

Trang 21

Nguyên tắc biến đổi tương đương (tt)

Trang 22

Đồ thị toán tử và biểu thức con chung

Biểu thức con chung (common subexpression) là biểu thức xuất hiện nhiều lần trong câu

truy vấn

Việc tìm ra các biểu thức con chung giúp chúng ta có thể áp dụng các luật sau để rút gọn

câu truy vấn, đơn giản cây toán tử:

Trang 23

Biểu thức con chung (tt)

Các luật rút gọn dựa trên biểu thức con chung

Trang 24

Tìm biểu thức con chung - Biến đổi cây toán

tử thành đồ thị toán tử

Xét ví dụ: Hãy cho biết các tên của các nhân viên làm việc trong phòng ban có mã người

quản lý là 373 nhưng tiền lương của họ không lớn hơn $35.000

Câu truy vấn viết bằng đại số quan hệ như sau:

24

Nhóm 2

Trang 25

Biến đổi cây toán tử thành đồ thị toán tử

Trang 26

Biểu thức chuẩn tắc

Biểu thức chuẩn tắc (canonical expression): của một biểu thức đại số quan hệ trên lược đồ toàn cục có được bằng cách thay thế mỗi tên quan hệ toàn cục xuất hiện trong nó bởi biểu thức đại số quan hệ tái tạo các quan hệ toàn cục từ các mảnh

Sử dụng tính phân phối của phép chọn và phép chiếu đối với phép hợp và phép kết để phân phối việc xử lý đến các mảnh

26

Nhóm 2

Trang 27

đó cây biểu diễn cho biểu thức chuẩn tắc như sau

DEPT 2

27

Nhóm 2

Trang 28

Đại số quan hệ định tính

Quan hệ định tính (qualified relation) là một quan hệ được mở rộng bởi một vị từ định tính.

Ký hiệu một quan hệ định tính là một cặp [R: qR], trong đó:

Trang 29

Các luật trong đại số quan hệ định tính

Trang 30

Các luật trong đại số quan hệ định tính (tt)

Trang 31

Đại số quan hệ định tính (tt)

Hai quan hệ định tính là tương đương nếu các thân của chúng là các quan hệ tương đương

và các vị từ định tính của chúng biểu diễn cùng hàm chân trị (nghĩa là, nếu áp dụng cả hai

vị từ định tính cho cùng một bộ thì chúng có cùng một giá trị chân trị)

Sử dụng các vị từ định tính để loại bỏ các mảnh không dùng để tạo ra kết quả của truy vấn.

Các phép biến đổi tương đương (liên quan đến quan hệ rỗng) dùng để đơn giản hóa cây

toán tử

31

Nhóm 2

Trang 32

Nguyên tắc biến đổi tương đương 3 và 4

Nguyên tắc 3: Đẩy các phép chọn xuống phía các nút lá của cây, và sau đó thực hiện chúng bằng cách dùng đại số quan hệ định tính Thay thế kết quả của phép chọn bởi quan hệ rỗng

nếu vị từ định tính của kết quả bị mâu thuẫn.

Nguyên tắc 4: Sử dụng đại số quan hệ định tính để định trị vị từ định tính của các toán

hạng của các phép kết Thay thế cây con, bao gồm phép kết và các toán hạng của nó, bởi

quan hệ rỗng nếu vị từ định tính của kết quả của phép kết bị mâu thuẫn

Mục đích của việc làm này là đơn giản các quan hệ được phân mảnh ngang và các phép kết giữa các quan hệ được phân mảnh dọc.

32

Nhóm 2

Trang 33

Đơn giản hóa trong các quan hệ phân

[DEPT3: DEPTNUM>20]

33

Nhóm 2

Trang 35

Đơn giản hóa của phép kết trong các

quan hệ phân mảnh ngang

Ví dụ : Cho biết các nhà cung ứng có đơn hàng cung ứng

Π SNUM (SUPPLY SUPPLIER)

= ‘LA’]

[SUPPLIER 1 : CITY = ‘SF’]

[SUPPLIER 2 : CITY = ‘LA’]

35

Nhóm 2

Trang 36

Đơn giản hóa của phép kết trong các

quan hệ phân mảnh ngang

Ví dụ : Π SNUM (SUPPLY SUPPLIER)

(b) Dạng đơn giản của phép kết giữa các

quan hệ phân mảnh ngang

= ‘LA’]

[SUPPLIER 1 :

CITY = ‘SF’]

[SUPPLIER 2 :

CITY = ‘LA’]

SNUM=SNUM

36

Nhóm 2

Trang 37

Dùng suy diễn cho các phép đơn giản

hóa

Ở phần trên việc xác định mâu thuẫn giữa tiêu chí chọn của câu truy vấn với vị từ định tính của phân mảnh là rất hữu dụng, dễ phát hiện bởi vì cả hai sử dụng chung thuộc tính hay nhóm thuộc tính.

Tuy nhiên, việc xác định một công thức là mâu thuẫn có thể dùng bằng thông tin nội hàm phức tạp hơn và yêu cầu sử dụng bộ chứng định lý (theoem prover)

Xét ví dụ: Cho biết các nhà cung ứng có đơn hàng cung ứng cung cấp ở phía Bắc

Π SNUM σ AREA = ‘NORTH’(SUPPLY DEPTNUM = DEPTNUM DEPT)

37

Nhóm 2

Trang 38

Dùng suy diễn cho các phép đơn giản hóa

= ‘LA’]

[DEPT 2 : 10<DEPTNUM≤20]

[DEPT 1 : DEPTNUM≤10]

[DEPT 3 : DEPTNUM>20]

Trang 39

Dùng suy diễn cho các phép đơn giản

Trang 40

Dùng suy diễn cho các phép đơn giản hóa

Π SNUM

SNUM=SNUM

(a) Dạng đơn giản của cây toán tử dùng suy diễn

[SUPPLY 2 :SNUM = SUPPLIER.SNUM and SUPPLIER.CITY

= ‘LA’]

[DEPT 2 : 10<DEPTNUM≤20]

[DEPT 1 : DEPTNUM≤10]

[DEPT 3 : DEPTNUM>20]

Trang 41

Đơn giản hóa trong các quan hệ phân

mảnh dọc

Xác định chính xác một tập con các mảnh đủ để trả lời câu truy vấn, sau đó loại bỏ các mảnh còn

lại từ biểu thức cũng như loại bỏ phép kết dùng để tái tạo các mảnh lại thành các quan hệ toàn cục

Xét ví dụ: Hãy cho biết tên và lương của các nhân viên

Π SNUM, SAL EMP

41

Nhóm 2

Trang 42

Đơn giản hóa trong các quan hệ phân

mảnh dọc

Π NAME, SAL

EMPNUM=EMPNUM

[EMP2: 10<DEPTNUM≤20]

[EMP1: DEPTNUM≤10]

[EMP3: DEPTNUM>20]

Trang 43

A, B là những thuộc tính (hay tập thuộc tính)

Chương trình kết nữa cho phép kết bằng là:

S A=B (R A=B PB S)

43

Nhóm 2

Trang 44

Chương trình kết nửa

Trang 48

Tính chất của phép gom nhóm

Tính phân phối theo hàm union:

G,AF (R1 R ∪ 2) → (G,AF R1) ( ∪G,AF R2)

Điều kiện cần và đủ: mỗi nhóm Gi hoặc được chứa hoặc không giao với mọi toán hạng Rj.

∀i, j: (Gi R ⊆ j) v (Gi∩Rj= )

Trang 50

Tính chất của Hàm kết hợp

Để có thể sử dụng hàm kết hợp trong phân tán nếu bất cứ đa tập hợp (multiset) S và sự phân tách của S thành đa tập hợp S1, S2, …, Sn, có thể xác định một tập hàm kết hợp F1, F2, …, Fm và một biểu thức E(F1,…., Fm) sao cho:

F(S) = E(F1(S1),…, F1(Sn), F2(S1),…,F2(Sn), …, Fm(S1),…,Fm(Sn))

Một đa tập hợp có các thành phần tái tạo.

Mỗi phần tử của S được ánh xạ đến một và chỉ một phần tử của một trong những đa tập hợp S1, , Sn

50

Nhóm 2

Trang 51

Tính chất của Hàm kết hợp

S1, S2, …, Sn là những đa tập hợp được đưa ra bởi các giá trị của một cột đã cho của các phân mảnh R1, R2, …, Rn

S là đa tập hợp được đưa ra bởi các giá trị của cột tương ứng đó trên quan hệ toàn cục R

Hàm kết hợp tính trung bình với các hàm Fi và biểu thức E(Fi) là hàm tính trung bình

S SUM

F1 = ( i), = 1

n i

S COUNT

F2 = ( i), = 1 F1 = SUM ( Si), i = 1 n

51

Nhóm 2

Trang 53

Tính chất của Hàm kết hợp

Tính toán phân tán của hàm kết hợp là một tính chất rất quan trọng trong cơ sở dữ liệu phân tán bởi vì:

 Χ〈χ κ τ θυ χ α χ〈χ η◊µ Φ ế ả ủ 1(Σ1), , Φµ(Σµ) σαυ κηι τνη χ⌠ τη α ν µ τ ϖ τρ πην µ νη τηχη η π ν ι ể đư đế ộ ị ả ợ ơ

µ◊ η◊µ Ε đượ χ τη χ ηι ν τ ι ψ τηαψ ϖ πη ι ự ệ ạ đ ả đư α

τ τ χ δ λι υ ν τ ι ϖ τρ ⌠ ϖ◊ τνη η◊µ κ τ η π ấ ả ữ ệ đế ạ ị đ ế ợ

Tính chất này có thể áp dụng cho truy vấn

AVG(QUAN) σ PNUM=‘P1’ SUPPLY

Không thể áp dụng nguyên tắc 6 cho truy vấn này bởi vì điều kiện cần và đủ của nguyên tắc không

có hiệu lực với nó

53

Nhóm 2

Trang 54

Tính chất của Hàm kết hợp

Tạo ra hai truy vấn con độc lập thực hiện trên 2 phân mảnh SUPPLY1, SUPPLY2

SUM(QUAN),COUNT σ PNUM=‘P1’ SUPPLYi , i = 1, 2

Gọi S1và C1 là giá trị trả về SUM(QUAN) và COUNT của biểu thức ứng với SUPPLY1 Tương tự S2 và C2 là của SUPPLY2

Sau đó, S1, S2, C1, và C2 sẽ được chuyển đến vị trí nơi mà câu truy vấn được tạo và giá trị AVG(QUAN) được tính và:

AVG(QUAN) = (S1 + S2)/(C1 + C2)

54

Nhóm 2

Trang 56

Truy vấn có tham số

Truy vấn có tham số: là truy vấn mà trong đó các công thức trong các điều kiện chọn của truy vấn bao gồm các tham số mà các giá trị của chúng chưa được biết khi biên dịch truy vấn.

Truy vấn có tham số cho phép thực hiện truy vấn nhiều lần với nhiều giá trị khác nhau của các tham số; ở mỗi lần thực hiện sẽ trả về kết quả khác nhau

56

Nhóm 2

Trang 57

Đơn giản hóa truy vấn có tham số

Trang 58

Đơn giản hóa truy vấn có tham số

Đơn giản hóa truy vấn có tham số: áp dụng đại số quan hệ định tính để xác định các vị từ

định tính của các biểu thức con là mâu thuẫn với nhau.

Biểu diễn phép đơn giản hóa ở thời gian chạy:

Trang 59

Đơn giản hóa truy vấn có tham số

Phép toán CUT có một đặc tả cho mỗi toán hạng đó là một công thức dùng các tham số của câu

truy vấn và vị từ định tính của phân mảnh

Mỗi công thức sẽ được chuẩn bị ở thời gian biên dịch và thực hiện tính toán ở thời gian chạy

Nếu công thức trả về true thì toán hạng tương ứng sẽ đưa vào phép hợp, false thì loại bỏ khỏi cây.

59

Nhóm 2

Trang 60

Đơn giản hóa truy vấn có tham số

[DEPT3: DEPTNUM>20]

60

Nhóm 2

Trang 61

Đơn giản hóa truy vấn có tham số

[DEPT3: DEPTNUM>20]

OR ($Y > 10 AND $Y≤ 20)

$X ≤ 10 OR

$Y ≤ 10

61

Nhóm 2

Trang 62

Sử dụng vùng nhớ tạm khi truy vấn có

tham số nhiều lần

Thực hiện truy xuất mà phải lặp lại nhiều lần sẽ gây ra tốn một khoảng chi phí nhất định

Để giảm chi phí thực hiện sử dụng các quan hệ tạm thời ở nơi gốc của truy vấn

Ví dụ:

Hãy cho biết tên của các nhân viên đang làm việc ở phòng ban 12 mà có mã người quản lý

là $X ( tham số của truy vấn):

Π NAME σ MGRNUM = $X AND DEPTNUM = 12 EMP

62

Nhóm 2

Trang 63

σ DEPTNUM=12

Τ ≡ Π NAME, MGRNUM

63

Nhóm 2

Trang 64

• Chọn chiến lược nào có chi phí nhỏ nhất trong số các

chiến lược có thể có

hưởng của chi phí truyền các kết quả trung gian)

Tối ưu hóa các chiến lược truy xuất

64

Nhóm 2

Trang 65

• Tăng hiệu suất (performance) của chương trình

• Trong cơ sở dữ liệu phân tán cần cân nhắc giữa khả năng

truyền dữ liệu và khả năng xử lý cục bộ (truy xuất đĩa,

khả năng xử lý CPU)

• Giả định rằng tối ưu toàn cục có thể thực hiện một cách

độc lập với tối ưu cục bộ Các giải thuật trong chương

này tính toán tối ưu hóa chỉ dựa trên chi phí truyền dữ

liệu giữa các site, với giả định rằng trước đó dữ liệu đã

được tối ưu hóa cục bộ ở mỗi site, sử dụng kỹ thuật của

cơ sở dữ liệu tập trung

Các mục tiêu của tối ưu hóa xử lý truy vấn

65

Nhóm 2

Trang 66

Chi phí bao gồm 2 phần: chi phí truyền dữ liệu và độ trễ thời gian

Tối ưu hóa độ trễ thời gian sẽ tăng khả năng thực thi song

song của chương trình Tuy nhiên, tối ưu độ trễ thời gian

không thoả hiệp với tối ưu chi phí truyền

Chi phí truyền và độ trễ thời gian là hàm tuyến tính đối với kích thước dữ liệu truyền:

TC(x) = C0 + x.C1

TD(x) = D0 + x.D1

C0: chi phí khởi động quá trình truyền (hằng số)

D0: chi phí thiết lập kết nối

Chi phí trong quá trình truyền dữ liệu

66

Nhóm 2

Trang 67

• Chỉ xem xét các thao tác quan trọng (phép kết)

• Thêm vào các thông tin định lượng cần thiết

cho việc đánh giá các chiến lược xử lý truy vấn

khác nhau

• Các thông tin thống kê cần thiết cho phân

tích định lượng của 1 mảnh Ri (gọi là profile):

 Tổng số bộ dữ liệu trong mảnh Ri, ký hiệu là

Trang 68

 Kích thước của mảnh, ký hiệu là size(Ri), là tổng các kích

thước của tất cả các thuộc tính: size(Ri) = Σsize(Ai) (Ai є Ri)

 Tổng số các giá trị phân biệt của thuộc tính A ở site Ri, ký hiệu

là val(A[Ri])

là đồ thị tối ưu, nút là các mảnh đã thu gọn và cung biểu diễn cho phép kết

Mô hình mới cho xử lý câu truy vấn

68

Nhóm 2

Trang 70

Ví dụ về profile cho mảnh SUPPLY:

Mô hình mới cho xử lý câu truy vấn

card(Supply) = 50,000

size

6 val

Trang 71

• Ước lượng nhằm mục đích đánh giá ảnh hưởng của việc áp

dụng các thao tác khác nhau trong quá trình tối ưu hóa xử lý truy vấn

• Ký hiệu T là kết quả của việc áp dụng các thao tác trên các

Trang 72

• Tổng số các giá trị phân biệt của thuộc tính B không nằm

trong biểu thức điều kiện chọn được xác định bởi hàm

thống kê toán học sau đây:

r, r < m/2

m, r ≥ 2m với n = card(R), m = val(B[R]), r = card(T)

Ước lượng profiles cho kết quả của các phép toán đại số quan hệ

72

Nhóm 2

Trang 73

• Lực lượng:

 Nếu chỉ chiếu trên 1 thuộc tính A: card(T) = val(A[R])

 Nếu val(A1[R]).val(A2[R])…val(Ai[R]) < card(R)

thì card(T) = val(A1[R]).val(A2[R])…val(Ai[R])

 Nếu phép chiếu có chứa khóa của R:

card(T) = card(R)

• Kích thước:

size(T) = sum(size(A i )), A i thuộc T.

• Các giá trị phân biệt của các thuộc tính chiếu giống như trong

quan hệ ban đầu

Ước lượng profiles: Phép chiếu

73

Nhóm 2

Ngày đăng: 29/06/2015, 14:18

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w