chuong 4 xu ly truy van phan tan 4097

20
NGUYỄN MẬU HÂN, PhD. NGUYỄN MẬU HÂN, PhD. HUE COLLEGE OF SCIENCES HUE COLLEGE OF SCIENCES CH NG 4: ƯƠ CH NG 4: ƯƠ X LÝ TRUY V N X LÝ TRUY V N TRONG CSDL PHÂN TÁN TRONG CSDL PHÂN TÁN

Upload: daikadaudo

Post on 04-Feb-2016

3 views

Category:

Documents


0 download

DESCRIPTION

Xử lý truy vấn

TRANSCRIPT

Page 1: Chuong 4 Xu Ly Truy Van Phan Tan 4097

NGUYỄN MẬU HÂN, PhD. NGUYỄN MẬU HÂN, PhD. HUE COLLEGE OF SCIENCESHUE COLLEGE OF SCIENCES

CH NG 4:ƯƠCH NG 4:ƯƠ

X LÝ TRUY V N Ử ẤX LÝ TRUY V N Ử ẤTRONG CSDL PHÂN TÁNTRONG CSDL PHÂN TÁN

Page 2: Chuong 4 Xu Ly Truy Van Phan Tan 4097

2

CH NG 4: X LÝ TRUY V N TRONG CSDL PHÂN TÁNƯƠ Ử Ấ

NỘI DUNG4.1 Gi i thi u v x lý truy v nớ ệ ề ử ấ

4.2 X lý truy v n trong môi tr ng t p trungử ấ ườ ậ

4.3 X lý truy v n trong môi tr ng phân tán ử ấ ườ

4.4 T i u hoá truy v n trong CSDL phân tánố ư ấ

MỤC ĐÍCH•Gi i thi u m t b c tranh t ng quát c a b t i u ớ ệ ộ ứ ổ ủ ộ ố ưhóa truy v n trong môi tr ng t p trung và phân tán ấ ườ ậ•Trình bày các quy trình x lý truy v n trong h th ng ử ấ ệ ố phân tán

Page 3: Chuong 4 Xu Ly Truy Van Phan Tan 4097

3

M c đích c a x lý truy v nụ ủ ử ấ :• Gi m thi u th i gian x lýả ể ờ ử• Gi m vùng nh trung gian ả ớ• Gi m chi phí truy n thông gi a các tr m. ả ề ữ ạ• S d ng ít tài nguyênử ụCh c năng c a x lý truy v nứ ủ ử ấ :• Bi n đ i m t truy v n ph c t p thành m t truy v n t ng ế ổ ộ ấ ứ ạ ộ ấ ươ

đ ng đ n gi n h n. ươ ơ ả ơ• Phép bi n đ i này ph i đ t đ c c v tính ế ổ ả ạ ượ ả ề đúng đ nắ và

hi u quệ ả • M i cách bi n đ i d n đ n vi c s d ng tài nguyên máy ỗ ế ổ ẫ ế ệ ử ụ

tính khác nhau, nên v n đ đ t ra là l a ch n ph ng án ấ ề ặ ự ọ ươnào dùng tài nguyên ít nh tấ .

4.1 GI I THI U V X LÝ TRUY V N Ớ Ệ Ề Ử Ấ

Page 4: Chuong 4 Xu Ly Truy Van Phan Tan 4097

4

Các ph ng pháp x lý truy v n c b nươ ử ấ ơ ảCác ph ng pháp x lý truy v n c b nươ ử ấ ơ ả• Ph ng pháp bi n đ i đ i sươ ế ổ ạ ố::

Đ n gi n hóa câu truy v n nh các phép bi n đ i đ i s ơ ả ấ ờ ế ổ ạ ốt ng đ ng nh m gi m thi u th i gian th c hi n các ươ ươ ằ ả ể ờ ự ệphép toán.

Ph ng pháp này không quan tâm đ n kích th c và c u ươ ế ướ ấtrúc d li u. ữ ệ

• Ph ng pháp c l ng chi phí:ươ ướ ượXác đ nh kích th c d li u, th i gian th c hi n m i phép ị ướ ữ ệ ờ ự ệ ỗtoán trong câu truy v n. ấPh ng pháp này quan tâm đ n kích th c d li u và ph i ươ ế ướ ữ ệ ảtính toán chi phí th i gian th c hi n m i phép toán.ờ ự ệ ỗ

4.1 GI I THI U V X LÝ TRUY V N Ớ Ệ Ề Ử Ấ

Page 5: Chuong 4 Xu Ly Truy Van Phan Tan 4097

5

4.2.1 So sánh x lý truy v n t p trung và phân tánử ấ ậ4.2.1 So sánh x lý truy v n t p trung và phân tánử ấ ậ • T p trungậ :

Ch n m t truy v n đ i s quan h t t nh t trong s t t ọ ộ ấ ạ ố ệ ố ấ ố ấc các truy v n đ i s t ng đ ng. ả ấ ạ ố ươ ươ

Các chi n l c x lý truy v n có th bi u di n trong s ế ượ ử ấ ể ể ễ ựm r ng c a đ i s quan h . ở ộ ủ ạ ố ệ

• Phân tán K th a chi n l c x lý truy v n nh môi tr ng t p ế ừ ế ượ ử ấ ư ườ ậ

trung Còn ph i quan tâm thêmả

Các phép toán truy n d li u gi a các tr m ề ữ ệ ữ ạ Ch n các tr m t t nh t đ x lý d li uọ ạ ố ấ ể ử ữ ệ Cách truy n d li u ề ữ ệ

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Page 6: Chuong 4 Xu Ly Truy Van Phan Tan 4097

6

T I Ố ƯU HOÁ TRUY V NẤ

TRONG MÔI TRƯ NG T P TRUNGỜ Ậ

Câu truy v n ấSQL

Ki m tra ng phápể ữ

Ki m tra s h p lể ự ợ ệ

D ch truy v nị ấ

Truy v n ấ đúng ng phápữ

Truy v n SQL h p lấ ợ ệ

Truy v n ấ đ i s quan hạ ố ệ

T i ố ưu hoá đ i s quan hạ ố ệ

Truy v n ấ đ i s quan h ạ ố ệ đã t i ố ưu

Ch n chi n lọ ế ư c t i ợ ố ưu

T o sinh mãạ

K ho ch th c hi nế ạ ự ệ

Mã c a truy v nủ ấ

S đ chungơ ồ

Page 7: Chuong 4 Xu Ly Truy Van Phan Tan 4097

7

L c đ t ng ượ ồ ổthể

Truy v n m nh đ c t i u v i các phép toán truy n thôngấ ả ượ ố ư ớ ề

T i u hoá c c bố ư ụ ộ

Các truy v n c c b đã t i uấ ụ ộ ố ư

S đ phân l p chung cho x lý truy v n phân tánơ ồ ớ ử ấS đ phân l p chung cho x lý truy v n phân tánơ ồ ớ ử ấ

Các tr m ạđ a ph ngị ươ

Câu truy v n phân tánấ

Phân rã truy v nấ

Truy v n đ i s trên các quan h phân tánấ ạ ố ệ

Đ nh v d li uị ị ữ ệ

Truy v n m nhấ ả

T i u hoá toàn c cố ư ụ

Tr m ạđi u ềkhi nể

L c đ ượ ồphân m nhả

Các th ng kê ốtrên các m nhả

L c đ đ a ượ ồ ịph ngươ

T i u hoá truy v nố ư ấ Trong môi trư ng phõn t n ờ ỏ

Page 8: Chuong 4 Xu Ly Truy Van Phan Tan 4097

8

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

4.4.2 Chi n l c t i u trong CSDL t p trungế ượ ố ư ậ4.4.2 Chi n l c t i u trong CSDL t p trungế ượ ố ư ậ

T i sao ph i nghiên c u x lý truy v n t p trung?ạ ả ứ ử ấ ậ

Đ hi u đ c các k thu t t i u phân tán vì ba lí do:ể ể ượ ỹ ậ ố ư

• Th nh tứ ấ , câu truy v n phân tán ph i đ c d ch thành các ấ ả ượ ị

câu truy v n c c b , và đ c x lí theo ph ng pháp t p ấ ụ ộ ượ ử ươ ậ

trung.

• Th haiứ , các k thu t t i u hoá phân tán th ng là các ỹ ậ ố ư ườ

m r ng c a k thu t t p trung.ở ộ ủ ỹ ậ ậ

• Th baứ , t i u hoá t p trung th ng đ n gi n. ố ư ậ ườ ơ ả

Page 9: Chuong 4 Xu Ly Truy Van Phan Tan 4097

9

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Thu t toán INGRESậThu t toán INGRESậ

Ý t ng thu t toánưở ậ : Thu t toán t h p hai giai đo n ậ ổ ợ ạ phân rã

và t i u hoáố ư .

• Đ u tiên phân rã câu truy v n d ng phép toán quan h thành ầ ấ ạ ệ

các ph n nh h n. ầ ỏ ơ

• Câu truy v n đ c phân rã thành m t chu i các truy v n có ấ ượ ộ ỗ ấ

m t quan h chung duy nh t. ộ ệ ấ

• Sau đó m i câu truy v n đ n quan h đ c x lí b i m t “ỗ ấ ơ ệ ượ ử ở ộ th ểth ể

x lý truy v n m t bi nử ấ ộ ếx lý truy v n m t bi nử ấ ộ ế ” (one variable query processor-OVQP)

Page 10: Chuong 4 Xu Ly Truy Van Phan Tan 4097

10

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Thu t toán INGRESậThu t toán INGRESậ (cont.)

•Tr c tiên OVQP s th c hi n các phép toán đ n ngôi và c ướ ẽ ự ệ ơ ố

g ng gi m thi u kích th c c a các k t qu trung gian b ng ắ ả ể ướ ủ ế ả ằ

các phép tách (detachment) và Phép th ế (substitution)

•Kí hi u ệ qi-1→qi đ ch câu truy v n ể ỉ ấ q đ c phân rã thành hai ượ

câu truy v n con ấ qi-1và qi, trong đó qi-1 đ c th c hi n tr c và ượ ự ệ ướ

k t qu s đ c ế ả ẽ ượ qi s d ng.ử ụ

•Phép tách: OVQP s d ng đ tách câu truy v n q thành các ử ụ ể ấ

truy v n ấ q’→q” d a trên m t quan h chung là k t qu c a ự ộ ệ ế ả ủ q’.

Page 11: Chuong 4 Xu Ly Truy Van Phan Tan 4097

11

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ ẬN u câu truy v n q đ c bi u di n b ng SQL có d ng:ế ấ ượ ể ễ ằ ạq: SELECT R2.A2, R3.A3,. . ., Rn.An

FROM R1, R2,. . . , Rn

WHERE P1(R1.A’1) AND P2(R1.A1, R2.A2, . . . , Rn.An)Trong đó: A1 và A’1 là các thu c tính c a quan h Rộ ủ ệ 1, P1 là v t có ch a các thu c tính c a các quan h Rị ừ ứ ộ ủ ệ 1, R2, . . ., Rn. Câu truy v n trên có th phân rã thành hai câu truy v n con, q’ theo ấ ể ấsau là q” qua phép tách d a trên quan h chung Rự ệ 1 nh sau:ưq’: SELECT R1A1 INTO R’1

FROM R1

WHERE P1(R1.A1)Trong đó R’1 là m t quan h t m th iộ ệ ạ ờ ch a các thông tin c n thi t đ ứ ầ ế ểth c hi n ti p t c câu truy v n: ự ệ ế ụ ấ q”:SELECT R2A2,. . ., RnAn

FROM R’1, R2,. . . , Rn

WHERE P2(R1.A1, R2.A2,. . ., Rn.An)

Page 12: Chuong 4 Xu Ly Truy Van Phan Tan 4097

12

NHANVIEN (E) HOSO (G)

Ví d minh h a: xét CSDL c a m t công ty ph n m mụ ọ ủ ộ ầ ề

MANV TENNV CHUCVU

A1A2A3A4A5A6A7A8

NamTrungĐôngB cắTâyHùngDũngChi nế

Phân tích HTL p trình ậviênPhân tích HTPhân tích HTL p trình ậviênK s đi nỹ ư ệPhân tích HTThi t k DLế ế

MANV MADA NHIEMVU THOIGIAN

A1A2A2A3A3A4A5A6A7A8

D1D1D2D3D4D2D2D4D3D3

Qu n lý ảPhân tích Phân tích K thu t ỹ ậL p trình ậQu n lý ảQu n lý ảK thu t ỹ ậQu n lý ảL p trình ậ

123461210620364815

MADA TENDA NGANSACH

D1D2D3D4

CSDLCÀI Đ TẶB O TRÌẢPHÁT TRI NỂ

20000120002800025000

CHUCVU LUONG

K s đi nỹ ư ệPhân tích HTL p trình viênậThi t k DLế ế

1000250030004000

DUAN (J) TLUONG (S)

Page 13: Chuong 4 Xu Ly Truy Van Phan Tan 4097

13

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ ẬXét câu truy v nấ q1=“Cho bi t tên c a các nhân viên đang làm ế ủvi c trong d án có tên CSDLệ ự ” Di n t qễ ả 1 b ng SQL:ằq1: SELECT E.TENNV FROM E, G, J

WHERE E.MANV = G.MANVAND G.MADA = J.MADAAND TENDA = “CSDL”

q1 đ c tách thành qượ 11→q’, trong đó TGIAN1 là quan h trung gian.ệ

q11: SELECT J.MADA INTO TGIAN1

FROM J WHERE TENDA = “CSDL”

q’: SELECT E.TENNV FROM E, G, TGIAN1 WHERE E.MANV = G.MANV

AND G.MADA =TGIAN1.MADA

Page 14: Chuong 4 Xu Ly Truy Van Phan Tan 4097

14

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Các b c tách ti p theo cho q’ có th t o ra:ướ ế ể ạ

q12: SELECT G.MANV INTO TGIAN2

FROM G, TGIAN1

WHERE G.MADA =TGIAN1.MADA

q13: SELECT E.TENNV

FROM E, TGIAN2

WHERE E.MANV = TGIAN2.MANV

Truy v n ấ q1 đã đ c rút g n thành chu i truy v n ượ ọ ỗ ấ q11→q12→q13. Truy

v n ấ q11 là lo i đ n quan h và có th cho th c hi n b i OVQP. Tuy ạ ơ ệ ể ự ệ ở

nhiên các truy v n ấ q12 và q13 không ph i lo i đ n quan h và cũng ả ạ ơ ệ

không th rút g n h n n a b ng phép tách.ể ọ ơ ữ ằCác câu truy v n đa quan h không th tách ti p đ c n a (ch ng h n ấ ệ ể ế ượ ữ ẳ ạ

q12 và q13) đ c g i là ượ ọ b t kh gi nấ ả ả (irreducible).

Page 15: Chuong 4 Xu Ly Truy Van Phan Tan 4097

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Các truy v n b t kh gi n đ c bi n đ i thành câu truy v n ấ ấ ả ả ượ ế ổ ấđ n quan h nh ơ ệ ờ phép th bế ộ (tuple substitution). Phép th b :ế ộ Cho câu truy v n n-quan h q, các b c a m t ấ ệ ộ ủ ộbi n đ c thay b ng các giá tr c a chúng, t o ra đ c m t t p ế ượ ằ ị ủ ạ ượ ộ ậcác truy v n (n-1) bi n. ấ ếPhép th b đ c th c hi n nh sau:ế ộ ượ ự ệ ư Ch n m t quan h trong truy v n q đ thay th , g i Rọ ộ ệ ấ ể ế ọ 1 là quan h đó. ệ V i m i b tớ ỗ ộ 1i trong R1, các thu c tính đ c tham chi u trong q ộ ượ ếđ c thay b ng các giá tr th t s trong tượ ằ ị ậ ự 1i, t o ra m t câu truy ạ ộv n q’ có (n-1) quan h . Nh v y s câu truy v n q’ đ c sinh ấ ệ ư ậ ố ấ ượra b i phép th b là card(Rở ế ộ 1). T ng quát, phép th b có th mô t nh sau:ổ ế ộ ể ả ưq(R1, R2, . . . , Rn) đ c thay b i {q’(tượ ở 1i, R2, R3, . . . , Rn), t1i∈ R1}Vì th đ i v i m i b thu đ c, câu truy v n con đ c x lý đ ế ố ớ ỗ ộ ượ ấ ượ ử ệquy b ng phép th n u nó ch a b t kh gi n.ằ ế ế ư ấ ả ả

Page 16: Chuong 4 Xu Ly Truy Van Phan Tan 4097

16

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Ví d minh h a:ụ ọXét ti p câu truy v n qế ấ 13

q13: SELECT E.TENNV FROM E, TGIAN2 WHERE E.MANV = TGIAN2.MANV

Quan h đ c đ nh nghĩa b i bi n TGIAN2 ch y trên thu c tính duy ệ ượ ị ở ế ạ ộnh t MANV. Gi s r ng nó ch ch a hai b : <E1> và <E2>. Phép th ấ ả ử ằ ỉ ứ ộ ếcho TGIAN2 t o ra hai câu truy v n con đ n quan h :ạ ấ ơ ệq131: SELECT E.TENNV

FROM EWHERE E.MANV = “E1”

q132: SELECT E.TENNV FROM E WHERE E.MANV = “E2”

Sau đó chúng có th đ c OVQP qu n lý và s d ng.ể ượ ả ử ụ

Page 17: Chuong 4 Xu Ly Truy Van Phan Tan 4097

17

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Nh n xétậ :

•Thu t toán t i u hoá INGRES (đ c g i là INGRES - QOA) s x lý ậ ố ư ượ ọ ẽ ử

đ qui cho đ n khi không còn câu truy v n đa quan h nào n a. ệ ế ấ ệ ữ

•Thu t toán có th đ c áp d ng cho các phép ch n và các phép ậ ể ượ ụ ọ

chi u ngay khi có th s d ng k thu t tách. ế ể ử ụ ỹ ậ

•K t qu c a câu truy v n đ n quan h đ c l u trong nh ng c u trúc ế ả ủ ấ ơ ệ ượ ư ữ ấ

d li u có kh năng t i u hoá nh ng câu truy v n sau đó (nh các ữ ệ ả ố ư ữ ấ ư

n i) và s đ c OVQP s d ng. ố ẽ ượ ử ụ

•Các câu truy v n b t kh gi n còn l i sau phép tách s đ c s lý ấ ấ ả ả ạ ẽ ượ ử

b ng phép th b . ằ ế ộ

•Câu truy v n b t kh gi n, đ c kí hi u là MRQ’. Quan h nh nh t ấ ấ ả ả ượ ệ ệ ỏ ấ

v i l c l ng c a nó đã đ c bi t t k t qu c a câu truy v n tr c ớ ự ượ ủ ượ ế ừ ế ả ủ ấ ướ

đó s đ c ch n đ thay th . ẽ ượ ọ ể ế

Page 18: Chuong 4 Xu Ly Truy Van Phan Tan 4097

18

4.2 X LÝ TRUY V N TRONG MÔI TR NG T P TRUNGỬ Ấ ƯỜ Ậ

Thu t toán INGRES- QOAậInput: MRQ: câu truy v n đa quan h (có n quan h )ấ ệ ệOutput: Câu truy v n t i uấ ố ưBegin Output ←φ If n=1 then Output ← run(MRQ) {th c hi n câu truy v n m t quan h }ự ệ ấ ộ ệ Else {Tách MRQ thành m tr.v n m t quan h và m t tr.v n đa quan h }ấ ộ ệ ộ ấ ệ ORQ1, ..., ORQm, MRQ’← MRQ For i←1 to m

Output’ ← run(ORQi) {th c hi n ORQự ệ i } Output ← output ∪ output’ {tr n t t c các k t qu l i}ộ ấ ả ế ả ạ Endfor R ← CHOOSE_ VARIABLE(MRQ’) {R đ c ch n cho phép th b } ượ ọ ế ộ

For m i b t ỗ ộ ∈ R MRQ” ← thay giá tr cho t trong MRQ’ị Output’ ← INGRES-QOA(MRQ”) {g i đ qui}ọ ệ Output ← output ∪ output’ {tr n t t c các k t qu l i}ộ ấ ả ế ả ạ Endfor EndifEnd. {INGRES-----QOA}

Page 19: Chuong 4 Xu Ly Truy Van Phan Tan 4097

19

L c đ t ng ượ ồ ổthể

Truy v n m nh đ c t i u v i các phép toán truy n thôngấ ả ượ ố ư ớ ề

T i u hoá c c bố ư ụ ộ

Các truy v n c c b đã t i uấ ụ ộ ố ư

S đ phân l p chung cho x lý truy v n phân tánơ ồ ớ ử ấ

Các tr m ạđ a ph ngị ươ

Câu truy v n phân tánấ

Phân rã truy v nấ

Truy v n đ i s trên các quan h phân tánấ ạ ố ệ

Đ nh v d li uị ị ữ ệ

Truy v n m nhấ ả

T i u hoá toàn c cố ư ụ

Tr m ạđi u ềkhi nể

L c đ phân ượ ồm nhả

Các th ng kê ốtrên các m nhả

L c đ đ a ượ ồ ịph ngươ

4.3 X lý truy v n trong môi tr ng phân tán ử ấ ườ

Page 20: Chuong 4 Xu Ly Truy Van Phan Tan 4097

20

4.3 X lý truy v n trong môi tr ng phân tánử ấ ườ

4.3.1 Phân rã truy v n ấGiai đo n này chia làm b n b c: ạ ố ướ chu n hoáẩ , phân tích, lo i ạ

b d th aỏ ư ừ và vi t l iế ạ .4.3.1.1 Chu n hoáẩM c đích:ụ chuy n đ i truy v n thành m t d ng chu n đ ể ổ ấ ộ ạ ẩ ể

thu n l i cho các x lý ti p theo. ậ ợ ử ếV i SQL, có hai d ng chu n cho các v t trong m nh đ ớ ạ ẩ ị ừ ệ ề

WHERE là:D ng chu n h iạ ẩ ộ là h i (ộ ∧) c a nh ng phép toán tuy n (ủ ữ ể ∨):

(p11∨ p12∨ ... ∨ p1n) ∧ ... ∧ (pm1∨ pm2∨ ... ∨ pmn)

D ng chu n tuy nạ ẩ ể là tuy n (ể ∨) c a nh ng phép toán h i (ủ ữ ộ ∧): (p11 ∧ p12 ∧ ... ∧ p1n) ∨ ... ∨ (pm1 ∧ pm2 ∧ ... ∧pmn), trong đó pij là các

bi u th c nguyên t .ể ứ ố