Phân lo i các thu t toán CNGT KNT

Một phần của tài liệu Giáo trình hệ quản trị cơ sở dữ liệu nguyễn trần quốc vinh (Trang 135 - 140)

IV.3.2.1 CNGT có s d ng đ y đ thông tin (b ng KNT, các b ng g c, v n b n truy v n và v n b n truy v n thao tác d li u)

Thu t toán đ m. M t trong nh ng ki u thu t toán CNGT KNT đó là thu t toán đ m.

Thu t toán này có n n t ng là ý t ng l u tr s l ng (count) các b n sao (duplica) cho m i b n ghi c a KNT. Thu t toán này có th s d ng cho các KNT ch a các b n sao c a b n ghi. Khi xoá ho c thêm m i m t b n ghi t /vào b ng g c, n u b n ghi có quan h v i b n ghi c a KNT, thì gi m/t ng s đ m (counter) c a b n ghi t ng ng trong KNT xu ng/lên m t đ n v . Các thu t toán đ c đ ngh h tr c các KNT ch a các hàm t ng h p, nh ng không có đ quy. Vi c đ m s l ng các b n ghi có th đ c th c hi n v i tr giá nh h n ho c l n h n so v i thu nh n các b n ghi tr c ti p t các b n g c. Thu t toán t i u ch nó ch tính các b n ghi KNT c n ph i thêm vào ho c xoá đi.

Thu t toán CNGT KNT đ c đ nh ngh a trên các truy v n có n i t ng đ ng (EQUAL-JOIN), chi u và ch n l a (SPJ) s d ng s đ m các b n sao b n ghi trong KNT.

Có m t ph ng pháp tri n khai KNT khác, đ c g i là ViewCache. Trong ViewCache l u tr t h p các con tr (pointer) đ n các b n ghi c a b ng g c đ c s d ng trong quá trình th c hoá khung nhìn. Ngh a là, trong khung nhìn th c l u tr ch các ch m c c a các b n ghi c a b ng g c, ch không ph i k t qu th c thi truy v n. Tác gi đ ngh thu t toán CNGT ViewCache xác đ nh trên các truy v n SPJ v i m t ho c hai b ng g c. Trên c s hai thu t toán đó xây d ng thu t toán CNGT ViewCache v i các truy v n

H QU N TR C S D LI U – B n Nháp 30-08-08

http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 127 s d ng h n hai b ng g c. Công trình đánh giá tr giá th c thi CNGT, tr giá truy c p đ n ViewCache cho m i ki u truy v n SPJ và m i ki u thao tác d li u, và s d ng ViewCache đ t o ra k t qu th c thi truy v n trong các giao d ch I/O (Input-Output) c ng nh t i c a b vi x lý trung tâm. Và trên c s đó, công trình đánh giá hi u qu ng d ng ViewCache.

M t k thu t hi u qu đ t i u hoá đ c đ ngh . K thu t cho phép thay vi c th c thi l i toàn b các truy v n b ng m t s a đ i gia t ng KNT c c b hi u qu . Ph ng pháp có n n t ng là các tính toán có gi i h n c a phép hi u các phép ch n, chi u, tích -cát, n i, hi u và giao. Xây d ng các quy lu t cho t t c các phép mà thu t toán h tr . Và trên c s các quy lu t đó, quy lu t chung đ CNGT KNT cho m t truy v n/bi u th c đ c xây d ng.

Quy lu t chung đó tính toán ph n c n thêm vào hay xoá đi c a KNT.

C ng có đ ngh thu t toán đ đ a ra bi u th c đ i s nh m tính toán các thay đ i cho KNT có tính đ n các KNT có th ch a các b n sao (duplica). C p nh t KNT v i MIN, MAX đ c xem xét riêng l trong các thu t toán chuyên bi t. Hai bi u th c đ i s riêng bi t cho thao tác thêm m i và xoá t ng ng đ c đ a ra cho m i KNT.

Các thu t toán s đ m v a xem xét đ m b o n ng su t cao nh t trong CNGT KNT ki u SPJ. R t có ý ngh a đ làm t t h n các thu t toán đó nh vào vi c tính đ n các b n ghi l p l i.

CNGT KNT có các phép n i ngoài (Outer-Join Views). CNGT KNT có phép n i ngoài toàn ph n (FULL Outer-Join). Thu t toán bi n đ i truy v n đ u vào v i phép n i ngoài toàn ph n thành các truy v n v i phép n i ngoài trái c ng v i truy v n v i phép n i ngoài ph i (FULL Outer Join thành LEFT Outer Join c ng v i RIGHT Outer Join) và tính các c p nh t riêng l cho m i trong hai truy v n m i đó, sau đó đ a ra c p nh t cho KNT trên n n t ng hai c p nh t thu đ c.

Liên k t d li u t nhi u CSDL là m t v n đ r t quan tr ng. Mô hình liên k t d li u có th nh sau: d li u t nhi u CSDL đ c t h p vào KNT liên k t và l u tr trong CSDL. Thu t toán CNGT các KNT liên k t v i các phiên b n phép n i ngoài c ng đ c d n ra.

IV.3.2.2 CNGT KNT s d ng m t ph n thông tin

Khác v i KNT mà CNGT yêu c u ph i s d ng đ y đ thông tin, m t s KNT có th đ c c p nh t ch c n s d ng m t t p h p con các b ng g c tham gia trong quá trình th c hoá khung nhìn (part of information, thông tin m t ph n). Kh n ng ng d ng CNGT có s

H QU N TR C S D LI U – B n Nháp 30-08-08

http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 128 d ng m t ph n thông tin c ng có th ph thu c vào ki u c a thao tác d li u – thêm m i, xoá hay là s a đ i.

A) CNGT không c n s d ng thông tin

Hàng lo t các công trình đ ngh th c thi CNGT KNT:

– không s d ng b ng g c, s d ng KNT và các truy v n c p nh t b ng g c;

– ch s d ng KNT và các ràng bu c toàn v n c a các tr ng;

– s d ng m t ph n các b ng g c.

“C p nh t liên quan” là nh ng c p nh t gây nh h ng đ n tr ng thái c a KNT, và ng c l i, “c p nh t không liên quan” – không nh h ng đ n tr ng thái c a KNT. Có th xác đ nh các c p nh t liên quan và không liên quan này. Các thu t toán CNGT KNT đ c xây d ng trên n n t ng các truy v n ki u ch n, chi u và n i, c ng nh các truy v n ki u SPJ đ nh ngh a nh ng thay đ i t i thi u c n thi t trong KNT khi thêm m i, xoá và thay đ i d li u trong m t b ng g c, c ng nh đ ng th i trong các b ng g c và cho các t h p khác nhau c a các ki u thao tác d li u trên b ng g c cho các “c p nh t không liên quan”.

B) CNGT s d ng KNT – t c p nh t

Nh ng KNT có th đ c duy trì trong khi ch s d ng KNT và các ràng bu c khoá đ c g i là KNT t c p nh t. Tính t c p nh t – m t tính ch t hi u qu đ h tr các KNT l n trong các ng d ng quan tr ng câu tr l i nhanh v i đ tin c y cao. M t ví d cho môi tr ng đó – đó là kho d li u, n i các KNT đ c s d ng đ n i d li u t t p h p các CSDL, và n i mà các b ng g c th ng là không truy c p đ c. “Các c p nh t đ c tính m t cách t ch ” (autonomically) cho phép trên c s tr ng thái hi n t i c KNT và v n b n các truy v n s a đ i các b ng g c xác đ nh cái gì và c n ph i nh th nào đ c p nh t trong KNT m t cách đ c l p v i tr ng thái các b ng g c. Xác đ nh kh n ng tính toán đ c l p các c p nh t, trong đó các c p nh t b ng g c đ c phân chia thành 4 ki u: thêm m i, xoá, thay đ i các b n ghi tham gia và KNT và thay đ i các b n ghi không tham gia vào KNT. Các truy v n KNT ki u SPJ và ki u n i ngoài t ng ng v i thêm m i, xoá và s a có kh n ng t c p nh t.

C) CNGT s d ng KNT và m t s các b ng g c

Trong m t s tr ng h p không ph i t t c các b ng g c là có th truy c p đ CNGT KNT. Có th t n t i hai tr ng h p: truy c p đ c KNT và t t c các b ng g c ngo i tr các b ng g c thay đ i; truy c p đ c KNT và các b ng g c có thay đ i.

H QU N TR C S D LI U – B n Nháp 30-08-08

http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 129 Các b ng g c thay đ i truy c p đ c. a vào khái ni m “l ch s ” (history) cho tr ng h p này. L ch s th hi n mình là m t chu i các b n ghi đ c l u tr . Các d li u theo trình t th i gian (chronological data) có th không đ c đ a vào hoàn toàn trong CSDL, b i vì chúng có th quá nhi u. Và nh th , v n đ h tr nh ng KNT s d ng l ch s – h tr KNT đ tr l i vi c thêm m i các d li u theo trình t th i gian vào l ch s không c n truy c p đ n t t c các d li u đ c thêm vào.

Ch có th truy c p đ n các b ng đã s a đ i. ôi khi KNT đ c truy c p b ng vi c s d ng ch các b ng g c đã thay đ i và KNT và không truy c p đ n các b ng g c khác.

Nhi u s a đ i khác nhau c n ph i xem xét theo các cách khác nhau.

Có th c p nh t b n sao c c b c a các ngu n d li u đ c l p (autonomic data- source) đ duy trì các b n sao đ c th c ti n (more actual) h n. M t c u trúc ch t ch (formal) đ c đ a vào nh m đ m b o n n t ng lý thuy t đ gi i quy t v n đ đó, và công trình c ng nghiên c u hi u qu c a các ph ng pháp c p nh t khác nhau. Có hai th c đo tính th c ti n (actual) đ c đ nh ngh a, c ng nh các mô hình s a đ i d li u g c, các ph ng pháp đ ng b hoá, và d n ra hi u qu c a các thu t toán phân b ngu n khác nhau.

D) CNGT s d ng các KNT b sung và các ch m c

Ch n ch m c cho các khung nghìn có th t i u hoá quá trình s d ng chúng và CNGT. V n đ CNGT KNT d i d ng các thay s a đ i CSDL, có th rút ng n tr giá toàn b v th i gian c p nh t khung nhìn b ng cách th c hoá và duy trì các khung nhìn b sung.

nh hìn v n đ xác đ nh t p h p t i u các khung nhìn b sung đ th c hoá và thay quá trình t i u hoá toàn c c (global) b ng c c b . T i u hoá c c b đ c áp d ng cho m i KNT c c b .

OptimalViewSet là thu t toán toàn di n nh m xác đ nh t p h p t i u các khung nhìn b sung đ th c hoá trong quá trình CNGT KNT. Tr giá quá trình duy trì t p h p KNT cho giao tác thu đ c nh là tr giá chu i s a đ i r nh t. Chu i đó d ùng đ CNGT KNT. Ví d , gi s c n ph i duy trì KNT ki u SPJ R1 R2 R3. Có vài t p h p các KNT b sung khác nhau cho vi c duy trì – các phép n i { }, {Rl R2}, {R2 R3}, {R1 R3}, {Rl R2, R2 R3}, {R2 R3, R1 R3}, {Rl R2, R1 R3}. Ch n các phép n i cho hi u qu cao nh t trong s các k t n i đó. C n ph i ch n đ c m t k ho ch hi u qu đ duy trì đ ng th i t p h p KNT b ng cách s d ng các bi u th c con chung c a các bi u th c khác nhau đ c duy trì c a các khung nhìn. Ý t ng đó là m t s các d li u đ c c p nh t có th đ c s d ng đ

H QU N TR C S D LI U – B n Nháp 30-08-08

http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 130 c p nh t nhi u KNT khác nhau. K ho ch c p nh t t t nh t có th là: CNGT ép bu c t t c các KNT v nh vi n; và tính l i toàn b m t cách ép bu c khi CNGT là không th ; c p nh t thích nghi – cho m i KNT ch n tính l i toàn b ho c là CNGT trên c s t i thi u hoá tr giá c p nh t.

IV.3.2.3 C p nh t trì hoãn

C p nh t KNT không ch m tr không th th c thi trong m t s ng d ng. Ví d , trong h th ng kho d li u, n u CSDL t ng h p (liên k t) không bi t, nh ng KNT nào t n t i trong kho d li u, thì không th trên c p nh t các KNT n n t ng các giao tác s a đ i d li u trong các b ng g c. Th m chí, trong các h th ng t p trung hoá, n i có th bi t t t c các KNT, thì có th , c n ph i t i thi u hoá g i h n trên c a kích th c giao tác đ duy trì KNT. Trong các tr ng h p đó, c p nh t trì hoãn đ c là kh thi nh t.

Có th CNGT KNT cho đ n th i đi m s d ng KNT. Khi đó, t t c các thay đ i d li u đ c ghi nh l i. Trong quá trình c p nh t nh th xu t hi n kh n ng t i u hoá thao tác CNGT. Ngoài ra, công trình c ng nghiên c u hai v n đ : 1) c p nh t KNT nh th nào sau khi các b ng g c đã đ c s a đ i, và 2) t i thi u hoá th i gian nh th nào, vì trong th i gian đó không th truy c p KNT vì c p nh t.

CNGT trì hoãn KNT c n các b ng ghi nh . Các b ng này ch a thông tin đ c ghi l i, b t đ u t th i đi m cu i cùng c p nh t KNT. Có ba k ch b n (scenario) s d ng các b ng ghi nh và công trình ch ra nh ng b ng nào rút ng n giao tác và phân tích th i gian c p nh t. M i k ch b n đ c mô t b i m t invaritant’om. Invaritant s d ng chu i các tr ng thái c a CSDL. ng th i ch ra r ng, có th gi m tr giá c a giao tác c p nh t và th i gian c p nh t KNT b ng cách l a ch n t ng ng các b ng b sung.

CNGT KNT th ng không đ t nh tính l i hoàn toàn. Tuy nhiên, nó v n là m t thao tác đ t giá. Th c thi CNGT KNT nh là chu i các b c nh và đ ng b . Và có th đi u khi n kích th c m i b c đ h n ch xung đ t gi a quá trình c p nh t và các thao tác t ng tranh khác truy c p đ n KNT và các b ng g c. Khi đó, các c p nh t đ m b o KNT th c ti n trong m t th i đi m gi a l n c p nh t cu i cùng và c p nh t hi n t i.

Các ph ng pháp đã nghiên c u và các ph ng pháp c p nh t trì hoãn KNT không cho phép khai thác các đ c thù c a các d li u đ c c p nh t c a b ng g c và th c t là nh ng bi n th c a c p nh t đ ng b KNT, b i vì chúng b h n ch b i th i đi m s d ng KNT.

H QU N TR C S D LI U – B n Nháp 30-08-08

http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 131

Ch ng IV.4 ng d ng ý t ng KNT trong các HQT CSDL ch a h tr KNT

KNT không cho phép nâng cao n ng su t trong t t c các tr ng h p, hi u qu ng d ng chúng có th gi m đi rõ r t n u th ng xuyên x y ra thay đ i d li u trong các b ng g c s d ng đ t o KNT (hay KNT s d ng). Ngh a là, l i ích s d ng KNT th hi n s chênh l ch t ng chi phí duy trì KNT và t ng chi phí th c thi các truy v n trên các b ng g c;

ho c là t ng chi phí duy trì cao h n nh ng đ c dàn tr i theo th i gian và không gây nh h ng đ n ho t đ ng c a h th ng, trong khi chi phí th c thi truy v n gi m đi rõ r t. N ng su t c a h th ng thông tin có th b gi m, th m chí kh n ng ph n h i các truy v n b m t đi n u s l ng truy v n s d ng m t t p h p d li u ít và tr s các truy v n th p, trong khi các ph n t c a t p h p d li u đó đ c c p nh t v i t n su t cao.

Trong quá trình ng d ng KNT trong các h qu n tr c s d li u (HQT CSDL) h tr KNT nh SQL Server và Oracle n y sinh v n đ HQT CSDL không th th c hi n c p nh t gia t ng cho nhi u KNT đ c t o ra trên c s các truy v n khác nhau, đ c bi t trong s đó nhi u truy v n đòi h i nhi u tài nguyên. Khi đó, vi c bu c ph i c p nh t hoàn toàn làm cho vi c ng d ng KNT tr nên không còn hi u qu , th m chí, KNT có th tr thành

“gánh n ng” đ i v i h th ng. Trong khi đó, trong nhi u tr ng h p, k t qu th c thi các truy v n đó có th c n ph i có trong ch đ th i gian th c. Ngoài ra, s d ng KNT là m t ý t ng r t t t đ nâng cao n ng su t h th ng, nh ng chúng ch a đ c h tr trong t t c các HQT CSDL ngu n m và mi n phí nh mySQL, PostgreSQL, FireBird,…k c th ng m i nh Interbase,…

Ta có th ng d ng m t ph n ý t ng KNT trong các HQT CSDL đó, c ng nh kh c ph c nh c đi m không th th c hi n c p nh t gia t ng trong nhi u tr ng h p đ i v i các HQT CSDL có h tr KNT, b ng cách xây d ng các b y s ki n (trigger) đ th c hi n c p nh t gia t ng các b ng KNT.

Một phần của tài liệu Giáo trình hệ quản trị cơ sở dữ liệu nguyễn trần quốc vinh (Trang 135 - 140)

Tải bản đầy đủ (PDF)

(217 trang)