Distributed Databases

30 182 0
Distributed Databases

Đ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

Ch C S D ng VI LI U PHÂN TÁN Ch ng đ c p đ n khái ni m c b n v h c s d li u phân tán, h qu n tr c s d li u phân tán toán thi t k c s d li u phân tán Bài toán thi t k c s d li u phân tán r t ph c t p tr ng tâm c a giáo trình trình bày ki n th c v h c s d li u quan h nên ph ng pháp thi t k phân tán không đ c trình bày chi ti t cho đ n gi i thu t mà ch y u nêu v n đ M t khác h c s d li u phân tán d a mô hình quan h nên tr c thi t k phân tán c s d li u ph i đ c thi t k theo chu n c a h c s d li u quan h t p trung I CÁC KHÁI NI M V H C S D LI U PHÂN TÁN H c s d li u phân tán (Distributed DataBase System) đ c xây d ng d a hai công ngh c b n c s d li u m ng máy tính H c s d li u phân tán đ c mô t nh t p h p nhi u c s d li u có liên quan logic đ n đ c phân b m ng máy tính Trong khái ni m đ c mô t v c s d li u phân tán có hai đ c tr ng c b n “liên quan logic” “phân b m ng” Trong c s d li u phân tán t p tin d li u đ c l u tr đ c l p nút c a m ng máy tính ph i có liên quan đ n v m t logic h n th n a đòi h i chúng ph i đ c truy xu t đ n qua m t giao di n chung, th ng nh t Hi n khái ni m x lý phân tán (Distributed procesing), tính toán phân tán (Distributed computing) ho c thu t ng có t “phân tán” hay đ c dùng đ ch h th ng r i rác nh h th ng máy tính có đa b x lý (multiprocessor system) x lý m ng máy tính C s d li u phân tán m t khái ni m không bao g m tr ng h p x lý d li u h th ng s d ng b nh chung, k c b nh hay b nh th c p (đ a t ), nh t thi t ph i m t h có s d ng giao ti p m ng v i tr m làm vi c đ c l p H Qu n tr c s d li u phân tán (Distributed DBMS) h th ng ph n m m cho phép qu n lý h c s d li u phân tán làm cho s phân tán tr nên “trong su t” đ i v i ng i s d ng Khái ni m “trong su t” – “transparent” đ ch s tách bi t c p đ cao c a h th ng v i v n đ cài đ t c p đ th p c a h th ng Có d ng “trong su t” nh sau: 99 … CPU CPU CPU Memory … CPU Memory Memory DISK Tr m Tr m Tr m Môi tr ng m ng Tr m Tr m Hình 6.1 Các mô hình không ph i H CSDL phân tán Tr m Tr m Tr m Môi tr Tr m ng m ng Tr m Hình 6.2 Mô hình h CSDL phân tán đ + “Trong su t” v phân tán Do tính ch t phân tán c a h th ng nên d li u c l u tr t i nút có v trí đ a lý khác nhau, ph n m m s đáp ng yêu c u 100 c a ng i s d ng cho ng i s d ng không c n ph i bi t v trí đ a lý c a d li u + “Trong su t” v phân ho ch (Partition) Do d li u phân tán nhu c u c a công vi c d li u c n đ c phân ho ch m i phân ho ch đ c l u tr t i m t nút khác (đây g i trình phân m nh – fragmentation) Quá trình phân m nh hoàn toàn t đ ng b i h th ng ng i s d ng không c n ph i can thi p + “Trong su t” v nhân b n (Replication) Vì lí “hi u n ng”, “tin c y” nên d li u đ c chép m t ph n nh ng v trí khác + “Trong su t” v đ c l p d li u + “Trong su t” v k t n i m ng Ng c a giao ti p m ng i s d ng không c n bi t v s có m t Phân tán Phân m nh Nhân b n K t n i m ng c l p d li u D li u Hình 6.3 Các t ng su t c a h th ng Ví d 6.1: M t công ty có v n phòng Công ty có c s d li u sau đây: Paris, London, NewYork, Toronto C s d li u v nhân viên: EMP (ENo, EName, Title) C s d li u v d án: PROJ (PNo, PName, Budget, Loc) C s d li u v l PAY (Title, Sal) ng: C s d li u v phân công: ASG (ENo, PNo, Dur, Resp) Gi i thích v thu c tính: Sal: L ng; Title: Ch c v ; Budget: Ngân sách c a d án; Loc: a m; Dur: Duration – Th i h n; Resp: Responsibility – Trách nhi m 101 Do tính phân tán c a v n phòng nên t i m i v n phòng có l u tr d li u tác nghi p c a v n phòng đó, có th nhân viên t i d án mà v n phòng qu n lý Ta có s đ l u tr phân tán phân m nh gi đ nh nh sau: London Paris Emp London Emp Paris Proj London Emp London Emp Paris Proj London Proj Paris NewYork Paris Emp London Emp Paris Proj London Emp Toronto Proj Toronto Hình 6.4 S đ l u tr phân tán II MÔ HÌNH KI N TRÚC C A H QU N TR C S D LI U PHÂN TÁN Trong mô hình ki n trúc c a h QTCSDL phân tán đ tài li u kinh n ta xét mô hình ph bi n c trình bày 1.1 Mô hình ki n trúc c a h phân tán khách/đ i lý – client/server c tr ng c a h ch c n ng c a h th ng đ c chia làm hai l p: + Ch c n ng đ i lý – server function + Ch c n ng khách hàng – client function Trong h th ng khách/đ i lý thao tác x lý d li u đáp ng yêu c u c a khách hàng đ u đ c th c hi n b i ch c n ng đ i lý, ch có k t qu đ c g i tr cho khách hàng Ta có mô hình ch c n ng nh s đ hình 7.5 H khách có t ng: + Giao di n t ng tác v i ng trình ng d ng (Application Program), i s d ng (User Interface), ch ng + H qu n tr c s d li u khách hàng (Client DBMS) + Các ph n m m m ng có ch c n ng truy n tin (Communication Software) H đ i lý có t ng: + Các ph n m m m ng có ch c n ng truy n tin + T ng ki m soát ng ngh a c a d li u (Semantic Data Controler) 102 + T ng t i u hóa câu h i (Query Optimizer) + T ng qu n lý giao tác (Transaction Manager) + T ng qu n lý khôi ph c (Recovery Manager) + T ng h tr th c thi (Run – time Support Processor) Client Operating H u hành system + H u hành qu n lý chung giao ti p v i c s d li u v t lý User Interface Application Program Client DBMS Communication Software K t qu Yêu c u SQL Communication Software Server Operating system Semantic Data Controler Query Optimizer Transaction Manager Recovery Manager Run – time Support Processor DataBase Hình 6.5 S đ h phân tán client/server H client/server có u m x lý d li u t p trung, đ ng truy n ch có gói tin yêu c u (câu h i) k t qu đáp ng câu h i, gi m t i đ c kh i l ng 103 truy n tin m ng k t h p v i thi t b t i đ i lý r t m nh s t ng t c đ x lý d li u c a c h th ng 1.2 Mô hình h phân tán ngang hàng User User Requets User Processor System responses User Interface Handler External Schema Semantic Data Controler Global Conceptual Schema Global Query Optimizer Global Execution Monitor Data Processor Local Query Processor Local Conceptual Schema Local Recovery Manager System Logic Run-Time Support Processor Local Internal Schema DataBase Hình 6.6 S đ ki n trúc c a h phân tán ngang hàng 104 c m n i b t c a h th ng d li u đ c t ch c nút có ch c n ng nh nhau, đ ng th i s t ch c d li u nút l i có th r t khác nhau, t c n ph i có: + nh ngh a d li u t i m i v trí: t i m i nút ph i xây d ng l c c b LIS (Local Internal Schema) + Mô t c u trúc logic toàn c c: L Conceptual Schema) c đ d li u c đ khái ni m toàn c c GCS (Global + Mô t c u trúc logic t i m i v trí, u n y x y nhân b n phân m nh, g i l c đ khái ni m c c b LCS (Local Conceptual Schema) + Mô t c u trúc d u li u c a ng d ng g i l (External Schema) c đ ngo i gi i ES C u trúc c a h th ng bao g m hai thành ph n chính: B ph n ti p nh n ng i dùng (User Processor) b ph n x lý d li u (Data Processor) Hai modun đ c đ t chung m i máy ch không tách bi t nh h th ng khách/đ i lý Các ch c n ng c b n c a t ng modun nh sau: + User Interface Handler - Giao ti p ng d ng k t qu i s d ng: Di n d ch yêu c u, đ nh + Semantic Data Controler - Ki m soát d li u ng ngh a: D a vào l khái ni m toàn c c đ ki m tra câu v n tin có th c hi n đ c hay không + Global Query Optimizer - T i u hóa câu h i toàn c c: th c thi t t nh t nút cđ nh chi n l c + Global Execution Monitor – i u n th c thi câu v n tin toàn c c + Local Query Processor – X lý câu h i c c b + Local Recovery Manager – Qu n lý khôi ph c c c b : Qu n lý s nh t quán có s c + Run-Time Support Processor - B ph n h tr th c thi: Qu n lý truy xu t c s d li u 1.2 Mô hình h phân tán ph c h p S khác bi t c b n so v i h phân tán ngang hàng (ho c có không đ y đ ) m t l c đ khái ni m toàn c c ch ph c h 105 User System responses User Requets Multi DBMS Layer Query Processor Transaction Manager Query Processor Transaction Manager Scheduler Scheduler Recovery Manager Recovery Manager Run-Time Support Processor Run-Time Support Processor DataBase DataBase Hình 6.7 S đ ki n trúc c a h phân tán ph c h p Trong mô hình nêu mô hình khách/đ i lý đ ch ng t u m c a v tính đ n gi n h u hi u m ng II THI T K C S D c phát tri n LI U PHÂN TÁN M t c s d li u phân tán d a mô hình quan h tr c h t ph i tuân th quy t c v chu n hóa cho c s d li u quan h phân tán c s d li u có hai ho t đ ng là: Phân m nh quan h Phân tán quan h (c p phát m nh) 2.1 Các ki u phân m nh Trong ph n ta xét h cc s d li u phân tán d a l c đ quan h , t c b ng, nh v y s phân m nh là ho t đ ng chia m t b ng thành b ng nh h n phân tích s phân m nh ta l y quan h EMP, PROJ, PAY, ASG mô t ph n 106 EMP ENo ASG EName Title ENo PNo Resp Dur E1 John Ks i n E1 P1 Qu n lý E2 Mary Ks H th ng E2 P1 Phân tích HT 24 E3 Bill Ks C khí E2 P2 Phân tích HT E4 Bush Ks L p trình E3 P3 T v n 10 E5 Blair Ks H th ng E3 P4 K thu t 48 E6 Tom Ks i n E4 P2 L p trình 18 E7 Algor Ks C khí E5 P2 Qu n lý 24 E8 David Ks i n E6 P4 Qu n lý 48 E7 P3 K thu t 36 E8 P3 Qu n lý 40 PROJ PNo 12 (tháng) PAY PName Budget Loc Title Sal P1 Thi t b 150000 Toronto Ks i n 4000 P2 CSDL 125000 NewYork Ks H th ng 7000 P3 Games 75000 NewYork Ks C khí 3500 P4 CAD Ks L p trình 2000 100000 Paris 2.1.1 Phân m nh ngang Gi s ta có m t yêu c u phân m nh quan h PROJ thành hai b ng PROJ1 PROJ2 cho m t b ng ch a d án có ngân sách l n h n 100000 ch a d án có ngân sách nh h n 100000 PROJ1 PNo PName Budget Loc P1 Thi t b 150000 Toronto P2 CSDL 125000 NewYork PROJ2 PNo PName P3 Games P4 CAD Budget Loc 75000 NewYork 100000 Paris 107 2.1.2 Phân m nh d c C ng quan h PROJ ta phân m nh thành hai b ng PROJ3 PROJ4, khóa c a quan h PNo có m t c hai b ng PROJ3 PNo PROJ4 PName Loc PNo Budget P1 Thi t b Toronto P1 150000 P2 CSDL NewYork P2 125000 P3 Games NewYork P3 75000 P4 CAD Paris P4 100000 Trong th c t s phân m nh s x y vi c k t h p c hai lo i phân m nh ta g i s phân m nh h n h p M c đ phân m nh tùy theo yêu c u c a ng d ng, phân m nh l n hay nh đ u gây hi u ng ph khó ki m soát 2.1.3 Các quy t c phân m nh Các quy t c nh m đ m b o tính nh t quán c a c s d li u, đ c bi t v ng ngh a c a d li u q1 Tính đ y đ N u m t quan h R đ c phân m nh thành m nh R1, R2, , Rn m i m c d li u ph i n m m t ho c nhi u m nh phân ngang m c d li u đ c hi u b phân m nh d c thu c tính Quy t c đ m b o không b m t d li u phân m nh q2 Tính tái thi t đ c N u m t quan h R đ c phân m nh thành cácn m nh R1, R2, , Rn ph i đ nh ngh a đ c m t toán t quan h ∇ cho R = ∇ Ri i =1 q3 Tính tách bi t Gi s m t quan h R đ c phân m nh thành m nh R1, R2, , Rn i v i phân m nh ngang m c di n m m nh Rj s không n m m nh Rk v i k≠j i v i phân m nh d c khóa ph i đ thu c tính khác ph i tách r i 2.2 Ph c l p l i m nh con, ng pháp phân m nh ngang 2.2.1 Các yêu c u v thông tin 108 Begin PR’ = COM_MIN (R, PR) ; Tính t p M v t h i s c p t PR’ ; Tính t p I phép kéo theo gi a pi ∈ PR’ ; For m i mi ∈ M Do If mi mâu thu n v i I then M = M – {mi} End Ví d 6.8 : Gi s có quan h PAY PROJ ph i phân m nh ngang nguyên th y Gi s ch có m t ng d ng truy xu t PAY, m u tin nhân viên đ c l u tr t i hai n i M t n i qu n lý thông tin c a nhân viên có l ng cao h n 3500 n i nhân viên có l ng t 3500 tr xu ng Vì v y câu v n tin c a ng d ng s đ c truy xu t c hai n i T p v t đ n gi n dùng đ phân ho ch PAY : p1 : Sal ≤ 3500 p2 : Sal > 3500 T ta có t p v t đ n gi n kh i đ u PR = {p1, p2} Áp d ng thu t toán COM_MIN v i kh i đ u i=1 ta có PR’ = {p1} ây t p đ y đ c c ti u p2 không phân ho ch f1 m nh h i s c p đ c sinh t p1 V y có v t h i s c p sau : m1 : Sal ≤ 3500 m2 : ⎡(Sal ≤ 3500) t ng đ ng v i (Sal > 3500) Cu i có m nh ngang nguyên th y c a PAY đ theo m1 m2: PAY2 c phân ho ch PAY1 Title Sal Title Sal Ks i n 4000 Ks C khí 3500 Ks H th ng 7000 Ks L p trình 2000 Gi s có hai ng d ng truy xu t đ n PROJ M t ng d ng truy xu t theo v trí, ch ng h n ta có câu truy v n: Select From Where PName, Budget PROJ Loc = Value 114 T ta có: PPROJ = { p1: Loc = ‘Toronto’; p2: Loc = ‘New York’; p3: Loc = ‘Paris’} M t ng d ng khác truy xu t theo ngân sách, ta thêm vào v t : p4: Budget ≤ 100000 p5: Budget > 100000 Cu i ta có t p v t đ n gi n là: PPROJ = { p1: Loc = ‘Toronto’; p2: Loc = ‘New York’; p3: Loc = ‘Paris’; p4: Budget ≤ 100000; p5: Budget > 100000} Th c hi n thu t toán COM_MIN v i PPROJ ta th y t p PPROJ đ y đ c c ti u Xây d ng t p v t h i s c p M: m1: Loc = ‘Toronto’ ∧ Budget ≤ 100000 m2: Loc = ‘Toronto’ ∧ Budget > 100000 m3: Loc = ‘New York’ ∧ Budget ≤ 100000 m4: Loc = ‘New York’ ∧ Budget > 100000 m5: Loc = ‘Paris’ ∧ Budget ≤ 100000 m6: Loc = ‘Paris’ ∧ Budget > 100000 m7: p1 ∧ p2 ∧ p3 ∧ p4 ∧ p5 Các phép kéo theo hi n nhiên: i1: p1 ⇒ ⎡p2 ∧ ⎡p3 i5: p5 ⇒ ⎡p4 i2: p2 ⇒ ⎡p1 ∧ ⎡p3 i6: ⎡p4 ⇒ p5 i3: p3 ⇒ ⎡p1 ∧ ⎡p2 i7: ⎡p5 ⇒ p4 i4: p4 ⇒ ⎡p5 Xét t p M ch có v t h i ch a hai v t đ n gi n không x y mâu thu n v i phép kéo theo, v y lo i b h t v t h i ch gi l i v t Nh v y có t p v t h i s c p cu i là: M = {m1, m2, m3, m4, m5, m6} 115 Phân m nh ngang nguyên th y quan h PROJ theo M (l u ý PROJ1 PROJ6 r ng) có: PROJ2 PROJ3 PNo PName P1 Thi t b Budget Loc PNo 150000 Toronto P2 PROJ4 PName CSDL Budget Loc 125000 NewYork PROJ5 PNo PName P3 Games Budget Loc PNo 75000 NewYork P4 PName CAD Budget Loc 100000 Paris 2.2.3 Phân m nh ngang d n xu t Phân m nh ngang d n xu t đ c đ nh ngh a d a m t s phân m nh ngang m t quan h thành viên c a m t đ ng n i d a theo phép toán ch n quan h ch nhân c a đ ng n i đó, hay ta g i s phân m nh quan h thành viên d a c s phân m nh quan h ch nhân Cho tr c m t đ ng n i L, ta có: Owner (L) = S Member (L) = R ngh a m nh ngang d n xu t c a R nh sau: nh Ri = R θ Si v i i=1 s s s l ng m nh ngang R, Si = δFi(S) m nh ngang nguyên th y đ c xây d ng t v t h i s c p Fi, θ phép liên k t b ng khóa k t n i c a ch nhân thành viên Ví d 6.9: xét s đ quan h PAY v i EMP có đ phép liên k t b ng θ: PAY.Title = EMP.Title đ ng k t n i L1, ta đ nh ngh a Trên quan h PAY ta có MPAY = { m1: Sal ≤ 3500; m2: Sal >3500} t PAY c chia thành m nh h i s c p PAY1 PAY2 PAY1 = δSal ≤ 3500 (PAY) PAY2 = δSal > 3500 (PAY) Ta có m nh ngang d n xu t: EMP1 = EMP θ PAY1 EMP2 = EMP θ PAY2 EMP1 ENo E1 EMP2 EName John Title Ks i n ENo E4 EName Bush Title Ks L p trình 116 E2 Mary Ks H th ng E3 Bill Ks C khí E5 Blair Ks H th ng E6 Tom Ks i n E7 Algor Ks C khí E8 David Ks i n S đ liên k t c a c s d li u sau phân m nh: PAY1 Title PAY2 Title Sal L11 Sal L12 EMP1 ENo EName Title EMP2 ENo EName Title L2 PROJ PNo PName Budget L3 ASG ENo PNo Resp Dur Ta có m t s nh n xét quan tr ng sau đây: + Thu t toán phân m nh d n xu t c n có t p phân ho ch quan h ch nhân thành viên, t p v t liên k t quan h gi a ch nhân thành viên + N u m t quan h thành viên c a nhi u h n m t ch nhân v n đ s tr nên ph c t p h n + Phân m nh d n xu t s gây nên phân m nh lan truy n 2.3 Ph ng pháp phân m nh d c Ý ngh a c a phân m nh d c t o quan h nh h n đ cho gi m t i đa th i gian th c hi n c a ng d ng ch y m nh Vi c phân m nh d c ho t đ ng chia m t quan h R thành m nh R1, R2, , Rn cho m i m nh ch a t p thu c tính ch a c khóa c a R V i cách đ t v n đ nh v y 117 vi c phân m nh d c không ch toán c a h c s d li u phân tán mà toán c a c h c s d li u t p trung Phân m nh d c m t toán h t s c ph c t p, ng i ta ch ng minh đ c r ng n u quan h có m thu c tính không ph i thu c tính khóa s l ng m nh d c đ c phân s Bell th m (kí hi u B(m)), s t ng r t nhanh v i s m l n đ t đ n mm Ch ng h n m=10 B(m)≈115.000, v i m=15 B(m)≈109, v i m=30 B(m)≈1023 Vì v y toán phân m nh d c ph i s d ng đ n thu t gi i heuristic Có hai ph ng pháp đ c nghiên c u ph ng pháp nhóm ph ng pháp tách, hai ph ng pháp ph ng pháp tách t có s t i u h n Ph ng pháp nhóm: Kh i đ u b ng t p m nh, m i m nh có m t thu c tính, t i m i b c ghép m t s m nh l i cho đ n th a mãn m t tiêu chu n Ph ng pháp tách: T i m i b c tìm m t phân ho ch có l i cho vi c truy xu t c a ng d ng thu c tính c a Thông tin dùng đ phân m nh d c có liên quan đ n ng d ng, m t m nh d c th ng ch a thu c tính th ng xuyên đ c truy xu t chung b i m t ng d ng, ng i ta tìm cách l ng hóa khái ni m b ng m t s đo g i “ái l c” (affinity – l c ho c s lôi cu n) S đo có th tính đ c ta tính đ c t n s truy xu t t i thu c tính c a ng d ng Trên c s khái ni m “ái l c” tính đ c đ s d ng thu c tính c a câu v n tin c a ng d ng ng i ta xây d ng đ c gi i thu t tách r t h u hi u G i Q = {q1, q2, , qt} t p câu v n tin mà ng d ng s truy xu t quan h R(A1, A2, , An) V i m i câu v n tin qi thu c tính Aj s đ a m t giá tr s d ng thu c tính, kí hi u use (qi, Aj) đ c đ nh ngh a nh sau: n u Aj đ c v n tin qi s d ng use (qi, Aj) = tr ng h p ng c l i giá tr use (qi, *) r t d xác đ nh n u bi t đ CSDL c ng d ng ch y Ví d 6.10: Xét quan h PROJ, gi s ng d ng s d ng câu v n tin SQL truy xu t đ n nó: q1: Tìm ngân sách c a d án theo mã s SELECT FROM WHERE Budget PROJ PNo = V 118 q2: Tìm tên ngân sách c a t t c d án SELECT FROM PName, Budget PROJ q3: Tìm tên c a d án theo v trí SELECT FROM WHERE PName PROJ Loc = V q4: Tìm t ng ngân sách d án t i m i v trí SELECT FROM WHERE Sum (Budget) PROJ Loc = V thu n ti n ta kí hi u A1 = PNo, A2 = PName; A3 = Budget; A4 = Loc Chúng ta có ma tr n sau A1 A2 A3 A4 q1 1 q2 1 q3 1 q4 0 1 Ta nh n xét r ng giá tr s d ng không ch a thông tin v đ l n c a t n s d ng, s đo n m đ nh ngh a v s đo l c thu c tính aff (Ai, Aj) ∑ aff (Ai, Aj) = k : use ( q k , A i ) = ∧ use ( q k ,A ∑ j )=1 ∀ S ref ( q k ) acc l ng (qk ) l ref(qk) s truy xu t đ n thu c tính (Ai, Aj) cho m i ng d ng c a qk t i v trí Sl acc(qk) kí hi u s đo t n s truy xu t ng d ng K t qu tính toán đ c m t ma tr n vuông nxn ta g i ma tr n l c thu c tính AA Ví d 6.11: Ti p t c v i ví d đ cho đ n gi n gi s ref(qk) = cho t t c qk Sl S đo t n s truy xu t ng d ng gi thi t nh sau: acc1(q1) = 15 acc1(q2) = acc1(q3) = 25 acc1(q4) = acc2(q1) = 20 acc2(q2) = acc2(q3) = 25 acc2(q4) = acc3(q1) = 10 acc3(q2) = acc3(q3) = 25 acc3(q4) = 119 Nh v y tính s đo l c gi a thu c tính A1 A3 b i ng d ng nh t truy xu t đ n c hai thu c tính q1 nên ta có: ∑ ∑ aff(A1, A3) = k =1 l =1 accl(qk) = acc1 (q1) +acc2 (q1) + acc3 (q1) = 45 Ma tr n l c thu c tính đ y đ nh sau: AA = A1 A2 A3 A4 A1 45 45 A2 80 75 A3 45 53 A4 75 78 Thu t toán t nhóm M c tiêu c a thu t toán tìm m t ph ng pháp đ nhóm thu c tính c a m t quan h l i d a giá tr l c thu c tính AA Ý t ng c a thu t toán t m t ma tr n l c thu c tính AA sinh m t ma tr n l c t CA d a hoán v hàng c t, hoán v đ c th c hi n cho s đo l c chung AM l n nh t AM = n n i=1 j=1 ∑ ∑ aff(Ai,Aj).[aff(Ai,Aj-1) + aff(Ai,Aj+1) + aff(Ai-1,Aj) +aff(Ai+1,Aj)] aff(A0,Aj) = aff(Ai,A0) = aff(An+1,Aj) = aff(Ai,An+1) = u ki n biên m t thu c tính đ c đ t vào CA vào bên trái c a thu c tính c n trái ho c v bên ph i c a thu c tính c n ph i hóan v c t, t ng t c n d i đ i v i hoán v hàng Vì ma trân l c AA có tính đ i x ng nên công th c có th thu g n: AM = n n i=1 j=1 ∑ ∑ aff(Ai,Aj).[aff(Ai,Aj-1) + aff(Ai,Aj+1)] Chúng ta đ nh ngh a c u n i (bond) gi a hai thu c tính Ax Ay là: n bond(Ax,Ay) = ∑ aff(Az,Ax).aff(Az,Ay) z =1 120 d a vào đ nh ngh a có th vi t l i AM nh sau: n AM = ∑ [bond(Aj,Aj-1) + bond(Aj,Aj+1)] j =1 Bây gi xét dãy thu c tính nh sau: A1 Ai-1 Ai Aj Aj+1 An AM’ AM’’ s đo l c chung cho thu c tính là: AMold = AM’+AM ’’+ bond(Ai-1,Ai)+bond(Ai,Aj)+bond(Aj,Ai)+bond(Aj,Aj+1) = AM’+AM ’’+ bond(Ai-1,Ai)+bond(Aj,Aj+1)+ 2bond(Ai,Aj) Khi đ t m t thu c tính m i Ak gi a thu c tính Ai Aj s đo l c chung m i là: AMnew = AM’+AM ’’+ bond(Ai-1,Ai)+ bond(Ai,Ak)+bond(Ak,Ai)+bond(Ak,Aj)+bond(Aj,Ak)+bond(Aj,Aj+1) = AM’+AM ’’+ bond(Ai-1,Ai)+bond(Aj,Aj+1)+ 2bond(Ai,Ak) + 2bond(Ak,Aj) óng góp th c cho s đo l c chung đ t Ak gi a Ai Aj là: cont(Ai,Ak,Aj) = AMnew – AMold = 2bond(Ai,Ak) + 2bond(Ak,Aj) - 2bond(Ai,Aj) Ví d 6.12: V i ma tr n AA đ c tính thu c tính A4 vào gi a thu c tính A1 A2: trên, tính đóng góp th c chuy n cont(A1,A4,A2) = 2bond(A1,A4) + 2bond(A4,A2) - 2bond(A1,A2) Ta có: bond(A1,A4) = 45*0 + 0*75 + 45*3 + 0*78 = 135 bond(A4,A2) = 11865 bond(A1,A2) = 225 v y: cont(A1,A4,A2) = 2*135 + 2*11865 – 2*225 = 23550 Thu t toán n ng l ng n i BEA (Bond Energy Algorithm) Thu t toán n ng l đ ng n i đ c th c hi n qua ba b c B1 Kh i gán t c đ nh m t c t c a AA vào CA C t c ch n thu t toán 121 B2 Th c hi n l p L y l n l t m t n-i c t l i (i s c t đ t vào CA) th đ t chúng vào i+1 v trí l i ma tr n CA N i đ t đ c ch n cho đóng góp nhi u nh t cho s l c chung đ c mô t Vi c l p đ c k t thúc không c t đ đ t đ B3 S p th t hàng M t th t c t đ c xác đ nh, hàng c ng c n c đ t l i đ v trí t ng đ i c a chúng phù h p v i v trí t ng đ i c a c t Thu t toán BEA u vào: AA ma tr n l c thu c tính u ra: CA ma tr n l c t Begin /* Kh i gán */ CA(*,1) := AA(*,1) ; CA(*,2) := AA(*,2) ; index := ; While index best Then best := z End; R1 := ∏TA(R) ∪ K; R2 := ∏BA(R) ∪ K; F := R1∪R2 End 125 Ví d 6.14 : Ti p t acc1(q1) = 15 acc1(q2) = acc1(q3) = 25 acc1(q4) = c v i tính toán acc2(q1) = 20 acc2(q2) = acc2(q3) = 25 acc2(q4) = v i nh ng d li u có acc3(q1) = 10 acc3(q2) = acc3(q3) = 25 acc3(q4) = A1 A2 A3 A4 q1 1 q2 1 q3 1 q4 0 1 v trí : TA = {A1}, TQ = {}, BQ = {q2, q3, q4}, OQ = {q1} CTQ1 = CBQ1 = acc1(q2) + acc2(q2) + acc3(q2) + acc1(q3) + acc2(q3) + acc3(q3) + acc1(q4) + acc2(q4) + acc3(q4) = 83 COQ1 = 45 z = - 2025 v trí : TA = {A1, A3}, TQ = {q1}, BQ = {q3}, OQ = {q2, q4} CTQ2 = 45 CBQ2 = 75 COQ2 = z = 3311 v trí : TA = {A1, A3, A2}, TQ = {q1, q2}, BQ = {}, OQ = {q3, q4} CTQ3 = 50 CBQ3 = COQ3 = 78 z = - 6084 Ta ch n v trí làm m phân chia t i v trí giá tr chi phí cao nh t Nh v y có PROJ1 = {A1, A3} PROJ2 = {A1, A2, A4} T c PROJ1 = {PNo, Budget} PROJ2 = {PNo, PName, Loc} 126 2.4 Phân tán tài nguyên Phân tán tài nguyên không ph i m t toán ch c a h c s d li u phân tán, m c dù đ i v i c s d li u phân tán có nh ng đ c tr ng riêng, toán đ c bi t đ n lý thuy t m ng v i cách đ t v n đ v c p phát t p tin Gi s r ng ta có m t t p m nh F = {F1, F2, , Fn} m t m ng bao g m nút S = {S1, S2, , Sm}, m ng có m t t p ng d ng ch y App = {A1, A2, , Aq} Bài toán c p phát yêu c u tìm m t cách phân ph i t i u m nh Fi cho nút S Tính t i u đ c hi u c p phát v i chi phí nh nh t v i hi u n ng cao nh t Các chi phí bao g m không gian l u tr m i m nh Fi t i v trí Sj, chi phí v n tin, chi phí c p nh t, chi phí cho truy n d li u Hi u n ng đ c tính c s gi m th i gian đáp ng t ng t i đa l u l ng c a h th ng t i m i v trí ây m t toán h t s c ph c t p, ng i ta ph i gi i quy t toán b ng ph ng pháp heuristic c ng ch a có m t ph ng pháp th t s h u hi u đ gi i toán t i u t ng quát TÓM T T CH NG • H c s d li u phân tán: H c s d li u phân tán đ c mô t nh t p h p nhi u c s d li u có liên quan logic đ n đ c phân b m ng máy tính • H Qu n tr c s d li u phân tán: H th ng ph n m m cho phép qu n lý h c s d li u phân tán làm cho s phân tán tr nên “trong su t” đ i v i ng i s d ng • Ki n trúc H Qu n tr c s d li u phân tán: Mô hình ph bi n có nhi u u m mô hình client/server • Thi t k phân tán g m ba toán ch y u: Phân m nh ngang đ chia quan h theo b , phân m nh d c đ chia quan h theo thu c tính phân tán tài nguyên đ c p phát t p tin d li u CÂU H I VÀ BÀI T P Hãy phân tích đ c tr ng c b n c a h c s d li u phân tán Các khái ni m v “X lý phân tán”, “H phân tán”, “C s d li u phân tán” gi ng khác m nào? 127 Hãy phân tích u m c a ki n trúc h qu n tr c s d li u phân tán theo mô hình khách/đ i lý Hãy mô t ch c n ng c a t ng t ng ki n trúc h qu n tr c CSDL phân tán theo mô hình khách/đ i lý Phân tích ý ngh a c a quy t c phân m nh thi t k h c s d li u phân tán Hãy nêu gi i thích ý ngh a c a toán phân m nh phân tán tài nguyên Cho ví d đ nêu b t ý t Ý t ng c b n c a ph ng c b n c a ph ng pháp phân m nh ngang ng pháp phân m nh d c gì? Cho ví d minh h a 128

Ngày đăng: 16/01/2016, 10:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan