Tải bản đầy đủ (.pdf) (77 trang)

Mô hình tối ưu hóa truy vấn hai pha trong cơ sơ dữ liệu và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (957.35 KB, 77 trang )

..

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG

NGUYỄN VĂN CHUNG

MƠ HÌNH TỐI ƢU HĨA TRUY VẤN HAI PHA
TRONG CƠ SỞ DỮ LIỆU VÀ ỨNG DỤNG
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Ngƣời hƣớng dẫn khoa học: PGS.TS LÊ HUY THẬP

Thái Nguyên - 2013
Số hóa bởi Trung tâm Học liệu




i
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là do bản thân tự nghiên cứu và thực hiện
theo sự hƣớng dẫn khoa học của thầy PGS. TS. Lê Huy Thập
Tơi hồn tồn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa
học của luận văn này.
Ngƣời Cam Đoan

Nguyễn Văn Chung


Số hóa bởi Trung tâm Học liệu




ii
LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn đến thầy giáo PGS. TS. Lê Huy Thập
đã định hƣớng, hƣớng dẫn và giúp đỡ tôi rất nhiều về mặt chun mơn trong
q trình tìm hiểu và thực hiện luận văn.
Tôi xin gửi lời biết ơn sâu sắc đến các thầy, các cô đã dạy dỗ và truyền
đạt những kinh nghiệm quý báu cho chúng tôi trong suốt hai năm cao học ở
trƣờng Đại học Công nghệ thông tin và truyền thông Thái Nguyên.
Cuối cùng, xin chân thành cảm ơn gia đình và bạn bè đã động viên, quan
tâm, giúp đỡ tơi hồn thành khóa học và luận văn.
Thái nguyên, tháng 09 năm 2013
Tác giả
Nguyễn Văn Chung

Số hóa bởi Trung tâm Học liệu




iii
MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii
MỤC LỤC ........................................................................................................ iii
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT ...................................................... v

DANH MỤC CÁC BẢNG............................................................................... vi
DANH MỤC CÁC HÌNH VẼ ........................................................................ vii
MỞ ĐẦU ........................................................................................................... 1
1. Đặt vấn đề...................................................................................................... 1
2. Đối tƣợng và phạm vi nghiên cứu ................................................................. 1
3. Hƣớng nghiên cứu của đề tài ........................................................................ 1
4. Những nội dung nghiên cứu chính ................................................................ 1
Chƣơng 1: CƠ SỞ LÝ THUYẾT ...................................................................... 3
1.1. Giới thiệu về logic ...................................................................................... 3
1.2. Tổng quan về CSDL phân tán .................................................................... 9
1.2.1. Khơng gian tìm kiếm .......................................................................................10
1.2.2. Các chiến lƣợc tìm kiếm ..................................................................................13
1.2.3. Mơ hình chi phí phân tán .................................................................................15
1.2.4. Các dạng chi phí song song và mơ hình chi phí song song trên bộ tối ƣu hóa
truy vấn........................................................................................................................22
1.3. Kết luận chƣơng 1 .................................................................................... 25
Chƣơng 2: MƠ HÌNH TỐI ƢU HĨA TRUY VẤN HAI PHA ..................... 26
2.1. Mơ hình tối ƣu hóa truy vấn hai pha JOQR ............................................. 26
2.1.1. Cây truy vấn tiền xử lý ....................................................................................26
2.1.2. Cây toán tử........................................................................................................29
2.2. Tối ƣu hóa giai đoạn JOQR ..................................................................... 31
Số hóa bởi Trung tâm Học liệu




iv
2.2.1. Cực tiểu hóa chi phí phân mảnh lại ................................................................32
2.2.2. Khả phân mảnh và tốn tử cảm thuộc tính .....................................................34
2.2.3. Bài tốn tối ƣu hóa ...........................................................................................37

2.3. Kết luận chƣơng 2 .................................................................................... 48
Chƣơng 3: CHƢƠNG TRÌNH THỬ NGHIỆM.............................................. 49
3.1. Ứng dụng tại trƣờng Cao đẳng kinh tế - kỹ thuật Vĩnh Phúc (Dạng demo) .... 49
3.1.1. Giới thiệu CSDL của trƣờng Cao đẳng kinh tế - kỹ thuật Vĩnh Phúc........49
3.1.2. Cực tiểu hóa chi phí phân mảnh lại CSDL tại mục 3.1.1 .............................62
3.2. Kết luận chƣơng 3 .................................................................................... 66
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA LUẬN VĂN ....................... 67
TÀI LIỆU THAM KHẢO ............................................................................... 68

Số hóa bởi Trung tâm Học liệu




v
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT

DBMS (Database management system)
ESPS (Executor Sever Process)
JOQR (Join Ordering and Query Rewriting)
LAN (Local Area Network)
QEP (Query Execution Plan)
SPJ (Selection Projection Joint)
SQL (Structured Query Language)
WAN (Wide area network)
TW (Total Work)
RT (Response Time)
MC (Memory Consumption)

Số hóa bởi Trung tâm Học liệu





vi
DANH MỤC CÁC BẢNG
Bảng 1-1. Bảng chân trị các phép toán mệnh đề .............................................. 4
Bảng 1-2. Thứ tự ưu tiên của các phép tốn ..............................................................4

Số hóa bởi Trung tâm Học liệu




vii
DANH MỤC CÁC HÌNH VẼ
Hình 1-1. Q trình tối ưu hố vấn tin .......................................................................9
Hình 1-2. Sơ đồ kết nối các quan hệ .........................................................................11
Hình 1-3. Các cây nối tương đương .........................................................................12
Hình 1-4. Các loại cây ...............................................................................................13
Hình1–5. Xây dựng tối ưu hố một cách đơn định theo kiểu quy hoạch động ......14
Hình 1-6. Hành động của thể tối ưu hoá trong một chiến lược ngẫu nhiên hố ...15
Hình 1-7. Truyền dữ liệu trong câu vấn tin ..............................................................17
Hình 2-1. Cây truy vấn tiền xử lý ..............................................................................27
Hình 2-2. Cây tốn tử tương ứng với cây trong hình 2-1 ........................................31
Hình 2-3. Sơ đồ phân mảnh ngang dữ liệu tại các nút ............................................33
Hình 2-4. Các cây truy vấn khác nhau về phân hoạch dữ liệu, đường nét đứt cho
thấy phải phân bố lại quan hệ ...................................................................................33
Hình 2-5. Cây toán tử tương ứng với câu truy vấn ..................................................37
Hình 2-6. Cây gốc và các phương án tơ màu ...........................................................39

Hình 2-7. Đồ thị vấn tin .............................................................................................42
Hình 2-8. Cây nối của đồ thị vấn tin trên hình 2-7 ..................................................43
Hình 2-9. Ảnh hưởng của thứ tự phép nối đến chi phí phân mảnh ngang .............43
Hình 3-1. Sơ đồ kết nối các quan hệ .........................................................................53
Hình 3-2. Màn hình chính của chương trình ............................................................54
Hình 3-3. Cây truy vấn ban đầu của ví dụ 1.............................................................55
Hình 3-4. Cây sau khi sắp lại phép nối ví dụ 1 ........................................................55
Hình 3-5. Màn hình nhập câu truy vấn.....................................................................56
Hình 3-6. Câu truy vấn ban đầu và sau biểu diễn lại ví dụ 1 ..................................56
Hình 3-7. Kết quả của câu truy vấn ví dụ 1 ..............................................................57
Hình 3-8. Cây truy vấn ban đầu của ví dụ 2.............................................................58
Số hóa bởi Trung tâm Học liệu




viii
Hình 3-9. Cây sau khi sắp lại phép nối ví dụ 2 ........................................................58
Hình 3-10. Giao diện câu truy vấn ban đầu và sau biểu diễn lại ví dụ 2 ...............59
Hình 3-11. Kết quả của câu truy vấn ví dụ 2............................................................59
Hình 3-12. Cây truy vấn ban đầu của ví dụ 3 ..........................................................60
Hình 3-13. Cây sau khi xếp lại phép nối của ví dụ 3 ...............................................61
Hình 3-14. Giao diện câu truy vấn ban đầu và sau biểu diễn lại ví dụ 3 ...............61
Hình 3-15. Kết quả của câu truy vấn ví dụ 3............................................................62
Hình 3-16. Sơ đồ phân mảnh ngang dữ liệu tại các nút của ví dụ 1.......................62
Hình 3-17. Cây gốc và các phương án tơ màu của ví dụ 1 .....................................63
Hình 3-18. Giao diện pha 2 của ví dụ 1....................................................................63
Hình 3-19. Giao diện kết quả pha 2 của ví dụ 1.......................................................64
Hình 3-20. Sơ đồ phân mảnh ngang dữ liệu tại các nút của ví dụ 2.......................64
Hình 3-21. Cây gốc và các phương án tơ màu của ví dụ 2 .....................................65

Hình 3-22. Giao diện pha 2 của ví dụ 2....................................................................65
Hình 3-23. Giao diện kết quả pha 2 của ví dụ 1.......................................................66

Số hóa bởi Trung tâm Học liệu




1
MỞ ĐẦU
1. Đặt vấn đề
Tối ƣu hóa vấn tin là quá trình tìm một phƣơng án thực hiện câu vấn tin
QEP (Query Execution Plan) tối ƣu (theo nghĩa hạ thấp tối đa hàm chi phí,
hoặc cực đại hàm lợi ích ở một dạng nào đó). Tối ƣu câu truy vấn trong cơ sở
dữ liệu song song bằng mơ hình tối ƣu hóa truy vấn hai pha bao gồm:
i. Sắp xếp lại thứ tự các phép nối
ii. Biểu diễn lại cây truy vấn.
Bộ tối ƣu hóa thực hiện hai bƣớc này để tạo ra một cây truy vấn tiền xử
lý, xác định những yếu tố nhƣ thứ tự thực hiện các phép toán và chiến lƣợc
thực hiện mỗi phép toán. Bộ tối ƣu sẽ triển khai các mơ hình và giải thuật
song song để tìm kiếm một phƣơng án tốt nhất cho việc thi hành song song.
2. Đối tƣợng và phạm vi nghiên cứu
Các biểu thức logic
Cơ sở dữ liệu phân tán
Xử lý song song và phân tán
3. Hƣớng nghiên cứu của đề tài
Các dạng chi phí song song
Nghiên cứu mơ hình tối ƣu hóa hai pha.
4. Những nội dung nghiên cứu chính
Luận văn đƣợc trình bày trong 3 chƣơng, có phần mở đầu, phần kết luận,

phần mục lục, phần tài liệu tham khảo.
Chƣơng 1: Cơ sở lý thuyết
Chƣơng 2: Mô hình tối ƣu hóa truy vấn hai pha
Chƣơng 3: Chƣơng trình thử nghiệm
Kết luận và hƣớng phát triển của luận văn
Số hóa bởi Trung tâm Học liệu




2
5. Phƣơng pháp nghiên cứu
Nghiên cứu kỹ các kiến thức, chủ đề có liên quan đến đề tài.
Nghiên cứu các mơ hình chi phí song song và mơ hình chi phí song
song trên bộ tối ƣu hóa truy vấn.
Nắm vững các kiến thức cơ bản của tối ƣu hóa hai pha.
6. Ý nghĩa khoa học của đề tài
Luận văn giúp cho việc tối ƣu hóa câu truy vấn phân tán bằng phƣơng
pháp hai pha.

Số hóa bởi Trung tâm Học liệu




3
Chƣơng 1: CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu về logic
1.1.1. Khái niệm về mệnh đề và chân trị
Một mệnh đề là một phát biểu nào đó mà chỉ cho hai giá trị: True hoặc

False. Giá trị True, hoặc False của một mệnh đề đƣợc gọi là chân trị của mệnh
đề. Chân trị True đƣợc viết là 1, chân trị False đƣợc viết là 0
Ví dụ 1.1.1:

"6 là số chẵn" - mệnh đề đúng nên chân trị 1.
"6 là số nguyên tố" - mệnh đề sai nên chân trị 0.

1.1.2. Mệnh đề sơ cấp
Là mệnh đề không thể phân nhỏ hơn đƣợc nữa - có thể nói mệnh đề sơ
cấp là một phát biểu đơn giản nhất.
Ví dụ 1.1.2: "Số chẵn chia hết cho hai".
Các mệnh đề sơ cấp thƣờng đƣợc gắn với các ký hiệu là các ký tự viết
thƣờng: p, q, r, ... mà ta gọi là các biến mệnh đề hay biến logic.
1.1.3. Mệnh đề phức hợp
Mệnh đề phức hợp là mệnh đề đƣợc tạo ra từ các mệnh đề sơ cấp hoặc
các mệnh đề phức hợp khác bằng cách dùng các từ liên kết, AND - "và", OR "hoặc", ...
Ví dụ 1.1.3: "Số 2 là số chẵn và là số nguyên tố" gồm 2 mệnh đề "Số 2 là
số chẵn" từ nối "và" và "Số 2 là số nguyên tố"
1.1.4. Các phép toán mệnh đề
(phủ định);
theo);

(hội);

(tuyển);

(hoặc hay tổng trực giao);

(kéo


(kéo theo hai chiều),... chân trị từng trƣờng hợp đƣợc cho trong

bảng 1-1:

Số hóa bởi Trung tâm Học liệu




4
Bảng 1-1. Bảng chân trị các phép toán mệnh đề
P

q

0

0

1

0

0

0

1

1


0

0

1

1

0

1

1

1

0

1

1

0

0

0

1


1

0

0

1

1

1

0

1

1

0

1

1

0

p

p


q

p

q

p

q

p

q

p

q

p

q

1.1.5. Thứ tự ƣu tiên của các phép toán logic
Thứ tự ƣu tiên của các phép toán logic đƣợc liệt kê theo mức ƣu tiên từ
trên xuống dƣới, từ trái sang phải ở bảng 1-2:
Bảng 1-2. Thứ tự ưu tiên của các phép toán
Ký hiệu phép toán

Nghĩa của phép toán


, ,

Phủ định

,

Hội, tuyển

,

Kéo theo, Kéo theo hai chiều

Ghi chú:
Nếu các phép tốn trong cùng một dịng có thứ tự nhập nhằng hoặc
muốn chỉ ra mức ƣu tiên của phép tốn thì cần bổ sung thêm dấu ( ).
Ví dụ 1.1.4:
p

q có nghĩa là p

( q) .

Còn p q r để ƣu tiên phép toán

hay

cần cho thêm dấu () để chỉ rõ

sự ƣu tiên, chẳng hạn (p q ) r .

1.1.6. Biểu thức logic
Biểu thức logic có thể nói chính là mệnh đề phức hợp, biểu thức logic
thƣờng đƣợc ký hiệu bởi các chữ in hoa
Ví dụ 1.1.5:
E= p

(q

r) )

(r s)

Số hóa bởi Trung tâm Học liệu




5
P = E, F

G, (G

H)

( G

E),...; trong đó P, E, F, G, H là các biểu

thức logic.
Bảng chân trị của các biểu thức logic là bảng liệt kê chân trị có thể có

theo mọi khả năng chân trị của các biến mệnh đề có trong biểu thức
Hai biểu thức logic E và F đƣợc gọi là tƣơng đƣơng và viết E

F khi và

chỉ khi E và F ln có cùng chân trị.
Để kiểm tra xem hai biểu thức logic có tƣơng đƣơng với nhau hay không
chúng ta dựa vào bảng chân trị hay bằng phƣơng pháp chứng minh logic.
Ví dụ 1.1.6:
Cho hai biểu thức logic E = p

q và F = p

q thì E

F.

Biểu thức logic E đƣợc gọi là hằng True nếu chân trị của E luôn luôn là
1, tức là E

1.

Ví dụ 1.1.7:
p thì E là hằng đúng vì E

E=p

1.

Biểu thức logic E đƣợc gọi là hằng False nếu chân trị của E luôn luôn là

0, tức là E

0.

Ví dụ 1.1.8:
E=p

p thì E

0.

Chú ý:
Theo định nghĩa E1

F1 khi và chỉ khi E1

F1, điều này có thể viết

gọn nhƣ sau:
E1

F1

1.

Ví dụ 1.1.9:
E1 = p

p thì E1


E1 = (p

q)

( p

1.
q) thì E1

Quan hệ bắc cầu: Nếu E

Số hóa bởi Trung tâm Học liệu

F và F

1.
G thì E

G.




6
1.1.7. Các luật logic
i. Luật phủ định của phủ định
p

p


ii. Luật giao hoán
p

q

q

p

p

q

q

p

iii. Luật kết hợp
p

(q

r)

(p

q)

r


p

(q

r)

(p

q)

r

iv. Luật phân phối
p

(q

r)

(p

q)

(p

r)

p

(q


r)

(p

q)

(p

r)

v. Luật Demorgan
(p

q)

p

q

(p

q)

p

q

vi. Luật về phản tử bù
p


p

1

p

p

0

vii. Luật kéo theo
p

q

p

q

viii. Luật tƣơng đƣơng
p

q

(p

q)

(q


p)

ix. Các luật đơn giản của phép tuyển
p

p

p

p

1

1

p

0

p

Số hóa bởi Trung tâm Học liệu




7
p


(p

q)

p

x. Các luật đơn giản của phép hội
p

p

p

p

1

p

p

0

0

p

(p

q)


p

1.1.8. Quy tắc thay thế tƣơng đƣơng
Cho E là một biểu thức logic, nếu thay thế một biểu thức con của nó bởi
một biểu thức tƣơng đƣơng với biểu thức con đó, biểu thức logic E' mới nhận
đƣợc sẽ tƣơng đƣơng với E
Ví dụ 1.1.10:
E= p

q
q, do đó ta có thể thay thế q bởi

Vì q
E' = = p

q và đƣợc

q

Dùng bảng chân trị cho E và E' ta sẽ thấy E

E'.

1.1.9. Quy tắc bất biến đối với biểu thức logic hằng True
Cho E là một biểu thức logic hằng True, nếu thay thế một biến mệnh đề
p nào đó trong E bởi một biểu thức logic bất kỳ ta sẽ nhận đƣợc biểu thức
logic E' mới cũng là hằng True.
Ví dụ 1.1.11:
E = (p


q)

( p

q) thì E

1(E là hằng True).

Bây giờ ta thay thế q trong E bởi q
E' = (p

(q

r))

( p

(q

r ta sẽ đƣợc:

r)) theo quy tắc 2 ta cũng có E'

1.

1.1.10. Biểu thức hội cơ bản
Biểu thức logic F = F (p1, p2, ..., pn), trong đó pi (i = 1, n ) là các biến
mệnh đề sơ cấp, đƣợc gọi là biểu thức hội cơ bản, nếu:
Số hóa bởi Trung tâm Học liệu





8
F = q1

q2

qn : với qi = pi hoặc qi = p i (i = 1, n ).

....

Ví dụ 1.1.12:
F(x, y, z) = x

z, trong đó x, y, z là các biến mệnh đề sơ cấp.

y

1.1.11. Biểu thức tuyển cơ bản
Biểu thức logic E = E (p1, p2, ..., pn), trong đó pi (i = 1, n ) là các biến
mệnh đề sơ cấp, đƣợc gọi là biểu thức tuyển cơ bản, nếu:
E = q1

q2

....

qn : với qi = pi hoặc qi = p i (i = 1, n ).


Ví dụ 1.1.13:
F(x, y, z) = x

z, trong đó x, y, z là các biến mệnh đề sơ cấp.

y

1.1.12. Biểu thức tuyển chính tắc
Biểu thức logic E = E (p1, p2, ..., pn), trong đó pi (i = 1, n ) là các biến
mệnh đề sơ cấp, đƣợc gọi là dạng tuyển chính tắc, nếu:
E = E1

E2

En : với Ei (i = 1, n ) là biểu thức hội cơ bản của các pi

....

Ví dụ 1.1.14:
E(x, y, z) = (x

y

z)

(x

y


chính tắc vì E1 = (x

y

z), E2 = ( x

z)
y

(x

y

z), là biểu thức tuyển

z), E3 = (x

y

z) là các biểu

thức hội cơ bản
Định lý 1.1.1:
Mọi biểu thức logic E (p1, p2, ..., pn) đều tƣơng đƣơng với một biểu thức
tuyển chính tắc duy nhất. Tức E (p1, p2, ..., pn)

E1

E2


....

Em (duy

nhất) với Ei (i = 1, m ) là các biểu thức hội cơ bản.
Ei = q1

q2

....

qn với qi = pi hoặc qi = p i (i = 1, n ).

1.1.13. Biểu thức hội chính tắc
Biểu thức logic F = F (p1, p2, ..., pn), trong đó pi (i = 1, n ) là các biến
mệnh đề sơ cấp, đƣợc gọi là dạng hội chính tắc, nếu:

Số hóa bởi Trung tâm Học liệu




9
F = F1

F2

....

Fn : với Fi (i = 1, n ) là biểu thức tuyển cơ bản của các pi


Ví dụ 1.1.15:
F(p1, p2, p3) = (p1

p2

tuyển chính tắc vì F1 = (p1

p3)
p2

( p1

p2

p3), F2 = ( p1

p3)
p2

(p1

p2

p3), là biểu thức

p3), F3 = ( p1

p2


p3) là

các biểu thức tuyển cơ bản.
Định lý 1.1.2:
Mọi biểu thức logic F (p1, p2, ..., pn) đều tƣơng đƣơng với một biểu thức
hội chính tắc duy nhất. Tức F (p1, p2, ..., pn)

F1

F2

....

Fm (duy nhất)

với Fi (i = 1, m ) là các biểu thức tuyển cơ bản.
Ei = q1

q2

....

qn với qi = pi hoặc qi = p i (i = 1, n ).

1.2. Tổng quan về CSDL phân tán
Tối ƣu hóa vấn tin là tìm phƣơng án thực hiện câu vấn tin để tiêu tốn ít
nhất thời gian hoặc kinh phí (một hàm mục tiêu nào đó). Thể tối ƣu hóa vấn
tin, là một phần mềm chịu trách nhiệm thực hiện tối ƣu hóa câu vấn tin, nó
đƣợc tạo ra bới ba thành phần: Khơng gian tìm kiếm, mơ hình chi phí và
chiến lƣợc tìm kiếm (xem hình l-1).

CÂU VẤN TIN

Tạo ra khơng gian
tìm kiếm

Qui tắc biến đổi
câu vấn tin

QEP TƢƠNG ĐƢƠNG

Phƣơng pháp
tìm kiếm

Mơ hình chi phí,
hay hàm mục
tiêu

QEP TỐT NHẤT

Hình 1-1. Q trình tối ưu hố vấn tin

Số hóa bởi Trung tâm Học liệu




10
Khơng gian tìm kiếm là tập các phƣơng án có thể thực hiện câu vấn tin.
Những phƣơng án này là tƣơng đƣơng, theo nghĩa là chúng sinh ra cùng một
kết quả nhƣng khác nhau về cách thực hiện. Do khác nhau về cách thực hiện vì

thế khác nhau về hiệu năng. Khơng gian tìm kiếm thu đƣợc bằng cách áp dụng
các qui tắc biến đổi, chẳng hạn những qui tắc của phép tốn đại số quan hệ.
Mơ hình chi phí làm nhiệm vụ tiên đoán chi phi của một phƣơng án thực
hiện đã cho. Để làm điều này, mơ hình chi phí phải có đủ thơng tin cần thiết
về mơi trƣờng thực hiện phân tán.
Chiến lƣợc tìm kiếm sẽ tìm trong khơng gian tìm kiếm để chọn ra
phƣơng án tốt nhất dựa theo mơ hình chi phí. Nó xác định các phƣơng án nào
cần đƣợc kiểm tra và theo thứ tự nào. Chi tiết về môi trƣờng (tập trung hay
phân tán) đƣợc ghi nhận trong khơng gian tìm kiếm và mơ hình chi phí.
1.2.1. Khơng gian tìm kiếm
Khơng gian tìm kiếm là tập các QEP biểu diễn cho câu vấn tin. Các QEP
là tƣơng đƣơng, theo nghĩa chúng sinh ra cùng một kết quả nhƣng khác nhau
ở thứ tự thực hiện các thao tác cài đặt, vì thế sẽ khác nhau về hiệu năng.
Khơng gian tìm kiếm thu đƣợc bằng cách áp dụng các qui tắc biến đổi. Mơ
hình (hàm) chi phí đƣợc dùng để chỉ ra chi phí của QEP tƣơng ứng. Chiến
lƣợc tìm kiếm làm nhiệm vụ tìm kiếm, khám phá khơng gian tìm kiếm và chọn
ra QEP tốt nhất dựa theo mơ hình chi phí. Nó xác định xem QEP nào đƣợc
kiểm tra và theo thứ tự nào. Một QEP tƣơng đƣơng với một cây toán tử.
Cây tốn tử là một đồ thị vơ hƣớng, khơng chu trình, đƣợc dùng để thể
hiện một câu vấn tin bậc thấp (Đại số quan hệ), gốc là các trƣờng nằm sau
SELECT, lá là các quan hệ cơ sở nằm sau FROM, và các nút là các phép toán
nằm sau WHERE nhƣng đƣợc chuyển sang dạng phép toán đại số quan hệ.
Cách thực hiện các phép toán trên cây theo hƣớng từ lá về gốc.

Số hóa bởi Trung tâm Học liệu




11

Để nêu bật các đặc trƣng của thể tối ƣu hoá vấn tin, chúng ta thƣờng tập
trung nghiên cứu các cây nối là loại cây toán tử với các phép tốn nối hoặc
phép tốn tích Descartes hoặc phép tốn hợp.
Ví dụ 1.2.1:
Xét cơ sở dữ liệu của công ty, với các quan hệ (hình 1-2) nhƣ sau:

Hình 1-2. Sơ đồ kết nối các quan hệ
Trong đó:
Quan hệ PROJ: Projects - Các dự án
PNO: Mã dự án
PNAME: Tên dự án
BUDGET: Ngân sách dự án
LOC: Location - Nơi triển khai dự án
Quan hệ PAY: Payments - Chi trả lương
TITLE - Trình độ chuyên môn
SAL: Salary - Lƣơng
Quan hệ EMP: Employees - Nhân cơng
ENO: Mã nhân cơng
ENAME: Tên nhân cơng
TITLE - Trình độ chun mơn
Số hóa bởi Trung tâm Học liệu




12
Quan hệ ASG: Assignments - Phân công công việc
ENO, PNO
RESP: Responsibility - Đảm trách (Nhiệm vụ)
DUR: Duration - Thời gian làm việc

Xét câu vấn tin “Cho biết tên nhân viên đang tham gia một dự án nào đó”
SELECT ENAME
FROM

EMP , ASG , PROJ

WHERE

(EMP.ENO = ASG.ENO)

AND

(ASG.PNO = PROJ.PNO)

Câu vấn tin này sinh ra ba cây nối tƣơng đƣơng ở hình 1-3
PNO

ENO

EMP

ASG

ENO

PROJ

PNO

ASG


ENO, PNO

EMP

PROJ

ASG

PROJ

(b)

(a)

EMP

(c)

Hình 1-3. Các cây nối tương đương
Với câu vấn tin đã cho, số cây toán tử tƣơng đƣơng sẽ rất nhiều có thể
lên tới O(n!) với n quan hệ, nên ngƣời ta thƣờng dùng các phƣơng pháp
heuristic chẳng hạn: thực hiện phép chọn và chiếu khi truy xuất đến các quan
hệ cơ sở, hoặc tránh lấy các cây có tích Descartes (tức là bỏ cây c trong hình
1-3, vì phép tích Descartes tạo ra nhiều bộ).
Một cây tốn tử đƣợc gọi là tuyến tính nếu tại mỗi nút tốn tử có ít nhất
một tốn hạng là một quan hệ cơ sở (hình 1-4a).

Số hóa bởi Trung tâm Học liệu





13
Một cây xum x thì tổng qt hơn và có thể có các nút tốn tử khơng có
quan hệ cơ sở làm toán hạng, nghĩa là các toán hạng đều là quan hệ trung gian
(hình 1-4b).
Nếu chỉ xét các cây tuyến tính, kích thƣớc của khơng gian tìm kiếm sẽ
đƣợc rút gọn lại O(2N). Tuy nhiên cây xum xuê sẽ rất tiện lợi khi thực hiện
song song trong môi trƣờng phân tán.
Nếu chỉ xét cây tuyến tính, thì kích thƣớc khơng gian tìm kiếm chỉ cịn
O(2N) với N quan hệ. Trong mơi trƣờng phân tán cây xum x rất có lợi cho
việc thực hiện song song.

R4

R3

R1

R2 R3

R4

R2
R1
(a) Cây tuyến tính

(b) Cây xum xuê


Hình 1-4. Các loại cây
1.2.2. Các chiến lƣợc tìm kiếm
Quy hoạch động. Chiến lƣợc tìm kiếm tối ƣu hoá vấn tin sử dụng nhiều
nhất là quy hoạch động với tính chất đơn định. Chiến lƣợc đơn định tiến hành
bằng cách xây dựng các QEP nhƣ sau: Bắt đầu từ các quan hệ cơ sở sau đó
nối thêm quan hệ tại mỗi bƣớc cho đến khi thu đƣợc tất cả các QEP có thể có.
Hình 1-5 cho thấy cách quy hoạch động xây dựng (đơn định) tất cả các QEP
có thể có theo chiều ngang trƣớc khi nó chọn ra QEP tốt nhất.

Số hóa bởi Trung tâm Học liệu




14

Hình1–5. Xây dựng tối ưu hố một cách đơn định theo kiểu quy hoạch động
Để hạ thấp chi phí tối ƣu hố, trong q trình xây dựng phƣơng án có thể
có, một phƣơng án khơng có khả năng dẫn đến QEP tối ƣu sẽ đƣợc xén bỏ.
Ngƣợc lại chiến lƣợc đơn định sẽ xét QEP theo chiều sâu.
Việc dùng quy hoạch động và các phƣơng án trên bảo đảm tìm ra tất cả
các QEP tuy nhiên với chi phí cao, vì thế ngƣời ta đang tập trung vào lối tiếp
cận chiến lƣợc ngẫu nhiên hoá (randomised strategy) để làm giảm độ phức tạp
của tối ƣu hoá, nhƣng tất nhiên là khơng đảm bảo tìm đƣợc phƣơng án tối ƣu
tồn cục.
Ngẫu nhiên hố. Quy trình tiếp cận chiến lƣợc ngẫu nhiên hoá nhƣ sau:
Trƣớc tiên một hoặc nhiều QEP khởi đầu đƣợc xây dựng trực tiếp (theo
ý muốn chủ quan), sau đó cải thiện phƣơng án bằng cách thăm dị các lân cận
của QEP đã có, ví dụ ở hình 1-6 là một cách biến đổi điển hình bằng cách
hốn đổi hai quan hệ toán hạng đƣợc chọn ngẫu nhiên từ QEP hình 1-6(a)

sang QEP hình 1-6(b).

Số hóa bởi Trung tâm Học liệu




15

R3

R1

R2

R2

R1

(a)

R3
(b)

Hình 1-6. Hành động của thể tối ưu hố trong một chiến lược ngẫu nhiên hố
1.2.3. Mơ hình chi phí phân tán
1.2.3.1. Hàm chi phí (hàm mục tiêu)
Hàm chi phí có thể là tổng thời gian, hoặc là một chi phí nào đó, nếu
hiểu theo thời gian thì hàm chi phí có thể là:
Total_Time = TCPU * #insts + TI/O * I/Os + TMSG * #msgs + TTR * #bytes

Hai thành phần đầu là thời gian xử lý cục bộ, trong đó TCPU là thời gian xử
lý một chỉ thị (lệnh) của CPU và #insts là số chỉ thị; TI/O là thời gian cho một
xuất, nhập đĩa và I/Os số lần xuất nhập đĩa; TMSG là thời gian cố định để khởi
hoạt và nhận một thông báo và #msgs là số thông báo; TTR là thời gian cần để
truyền một đơn vị dữ liệu từ vị trí này sang vị trí khác, đơn vị dữ liệu ở đây tính
theo byte (#bytes là số đơn vị dữ liệu), nhƣng cũng có thể tính theo những đơn
vị khác. Những nghiên cứu đầu tiên cho thấy trên WAN, tỷ số giữa thời gian
truyền và thời gian xuất nhập là 20:1, vì vậy đa phần các hệ DBMS phân tán
đƣợc thiết kế trên WAN đều bỏ qua chi phí xử lý cục bộ, hơn nữa chi phí TMSG
* #msgs cũng đƣợc xem là nhƣ nhau và chúng ta giả thiết TTR là một giá trị
khơng đổi. Điều này có thể khơng đúng trong các mạng WAN, vì khoảng cách
giữa các vị trí khơng bằng nhau. Tuy nhiên giả thiết ấy làm đơn giản quá trinh
tối ƣu hóa rất nhiều. Vì thế thời gian truyền #bytes dữ liệu từ vị trí này đến vị
trí khác đƣợc giả thiết là một hàm tuyến tính theo #bytes:
Số hóa bởi Trung tâm Học liệu




16
CT(#bytes) = TMSG + TTR * #byte
Chi phí nói chung đƣợc diễn tả theo đơn vị thời gian, và từ đó cũng có
thể chuyển thành đơn vị tính tốn khác nhƣ tiền tệ chẳng hạn.
Topo mạng có ảnh hƣởng rất lớn đến tỷ số giữa các thành phần này.
Trong mạng WAN và Internet, thời gian truyền thông thƣờng chiếm đa phần.
Tuy nhiên trong các mạng LAN thì vì tốc độ lớn nên thành phần truyền thơng
cân bằng hơn. Vì thế phần lớn các hệ DBMS phân tán đƣợc thiết kế trên các
mạng WAN đều bỏ qua chi phí xứ lý cục bộ và tập trung vào vấn đề cực tiểu
hóa chi phí truyền. Ngƣợc lại các DBMS phân tán đƣợc thiết cho mạng LAN
đều xét đến cả ba thành phần chi phí này. Các mạng nhanh hơn, cả loại WAN

lẫn LAN thiên về chi phí truyền khi tất cả mọi thứ khác đều nhƣ nhau. Tuy
nhiên thời gian truyền vẫn là một yếu tố chiếm đa phần trong các mạng WAN
và lnternet bởi vì dữ liệu cần phải đƣợc di chuyển đi đến các vị từ xa hơn.
Khi thời gian đáp ứng vấn tin là hàm mục tiêu của thể tối ƣu hoá, chúng
ta cần phải xét đến vấn đề xử lý cục bộ song song và truyền song song. Cơng
thức tổng chi phí là:
Total_time

= TCPU * seq_#insts + TI/O * seg_#I/Os
+ TMSG * seg_#msgs + TTR * seg_#bytes

trong đó seq_#x, với x có thể là số các chỉ thị (insts), số các xuất nhập I/O, số
các thông báo (msgs) hoặc số bytes. Ở đây mọi xử lý truyền dữ liệu thực hiện
song song đang đƣợc bỏ qua.
Ví dụ 1.2.2:
Chúng ta minh họa sự khác biệt giữa tổng chi phí và thời gian đáp ứng qua
ví dụ ở hình 1-7, trong đó tổng thời gian đƣợc tính tại vị trí 3, dữ liệu đƣợc lấy
từ vị trí 1 và 2. Để đơn giản, chúng ta giả sử rằng chỉ xét đến chi phí truyền.

Số hóa bởi Trung tâm Học liệu




×