Bài giảng Cơ sở dữ liệu phân tán

Ch-¬ng 1: TÝnh -u viÖt cña CSDL ph©n t¸n:  
I/Kh¸i niÖm vÒ CSDL ph©n t¸n:  
1/§Þnh nghÜa CSDL ph©n t¸n:  
§Þnh nghÜa: Mét CSDL ph©n t¸n lµ mét tËp hîp d÷ liÖu mµ vÒ mÆt  
logic tËp d÷ liÖu nµy thuéc vÒ mét hÖ thèng, nh-ng ®-îc tr¶i trªn c¸c vÞ trÝ  
kh¸c nhau cña mét m¹ng m¸y tÝnh.  
Cã hai ®iÓm quan träng ®-îc nªu ra trong ®Þnh nghÜa trªn:  
-Ph©n t¸n: D÷ liÖu kh«ng c- tró trªn mét vÞ trÝ, ®iÒu nµy gióp  
chóng ta cã thÓ ph©n mét CSDL ph©n t¸n víi mét CSDL tËp trung, ®¬n lÎ.  
-T-¬ng quan logic: D÷ liÖu cã mét sè c¸c thuéc tÝnh rµng  
buéc chóng víi nhau, ®iÒu nµy gióp chóng ta cã thÓ ph©n biÖt mét CSDL  
ph©n t¸n víi mét tËp hîp CSDL côc bé hoÆc c¸c tÖp c- tró t¹i c¸c vÞ trÝ kh¸c  
nhau trong mét m¹ng m¸y tÝnh.  
ThÕ nµo lµ ph©n t¸n:  
Xö lý logic hoÆc xö lý nguyªn tè ®-îc ph©n t¸n.  
Ph©n t¸n theo chøc n¨ng: NhiÒu chøc n¨ng cña hÖ thèng m¸y  
tÝnh cã thÓ ®-îc uû th¸c cho c¸c phÇn cøng hoÆc phÇn mÒm hoÆc c¶ hai.  
Ph©n t¸n d÷ liÖu.  
Ph©n t¸n ®iÒu khiÓn.  
2/Ph©n líp c¸c hÖ thèng tÝnh to¸n ph©n t¸n:  
Tr×nh ®é m¾c nèi: Kho¶ng c¸ch cña c¸c yÕu tè xö lý ®-îc kÕt  
nèi.  
CÊu tróc nèi kÕt víi nhau  
Sù ®éc lËp ®èi víi nhau gi÷a c¸c thµnh phÇn  
3/KiÕn tróc c¬ b¶n cña CSDL ph©n t¸n:  
§©y kh«ng lµ kiÕn tróc t-êng minh cho tÊt c¶ c¸c CSDL ph©n t¸n,  
tuy vËy kiÕn tróc nµy thÓ hiÖn tæ chøc cña bÊt kú mét CSDL ph©n t¸n nµo.  
1
S¬ ®å tæng thÓ  
S¬ ®å ph©n ®o¹n  
S¬ ®å ®Þnh vÞ  
S¬ ®å ¸nh x¹ ®Þa ph-¬ng 1  
DBMS cña vÞ trÝ 1  
S¬ ®å ¸nh x¹ ®Þa ph-¬ng 2  
DBMS cña vÞ trÝ 2  
C¸c vÞ trÝ kh¸c...  
CSDL ®Þa ph-¬ng t¹i vÞ trÝ 1  
CSDL ®Þa ph-¬ng t¹i vÞ trÝ 2  
H×nh 1.I.1 KiÕn tróc c¬ b¶n cña CSDL ph©n t¸n  
-S¬ ®å tæng thÓ: §Þnh nghÜa tÊt c¶ c¸c d÷ liÖu sÏ ®-îc l-u tr÷ trong  
CSDL ph©n t¸n. Trong m« h×nh quan hÖ, s¬ ®å tæng thÓ bao gåm ®Þnh nghÜa  
cña tËp c¸c quan hÖ tæng thÓ.  
-S¬ ®å ph©n ®o¹n: Mçi quan hÖ tæng thÓ cã thÓ chia thµnh mét vµi  
phÇn kh«ng gèi lªn nhau ®-îc gäi lµ ®o¹n (fragments). Cã nhiÒu c¸c kh¸c  
nhau ®Ó thùc hiÖn viÖc ph©n chia nµy. ¸nh x¹(mét nhiÒu) gi÷a s¬ ®å tæng thÓ  
vµ c¸c ®o¹n ®-îc ®Þnh nghÜa trong s¬ ®å ph©n ®o¹n.  
-S¬ ®å ®Þnh vÞ: c¸c ®o¹n lµ c¸c phÇn logic cña quan hÖ tæng thÓ  
®-îc ®Þnh vÞ vËt lý trªn mét hoÆc nhiÒu vÞ trÝ trªn m¹ng. S¬ ®å ®Þnh vÞ ®Þnh  
nghÜa ®o¹n nµo ®Þnh vÞ t¹i c¸c vÞ trÝ nµo. L-u ý r»ng kiÓu ¸nh x¹ ®-îc ®Þnh  
nghÜa trong s¬ ®å ®Þnh vÞ quyÕt ®Þnh CSDL ph©n t¸n lµ d- thõa hay kh«ng.  
-S¬ ®å ¸nh x¹ ®Þa ph-¬ng: ¸nh x¹ c¸c ¶nh vËt lý vµ c¸c ®èi t-îng  
®-îc l-u tr÷ t¹i mét tr¹m (tÊt c¶ c¸c ®o¹n cña mét quan hÖ tæng thÓ trªn cïng  
mét vÞ trÝ t¹o ra mét ¶nh vËt lý).  
II/C¸c ®Æc ®iÓm cña CSDL ph©n t¸n ®èi ng-îc l¹i CSDL tËp trung:  
-§iÒu khiÓn tËp trung: Trong CSDL ph©n t¸n kh¸i niÖm nµy kh«ng  
®-îc nhÊn m¹nh. Kh¶ n¨ng ®iÒu khiÓn tËp trung phô thuéc vµo kiÕn tróc cña  
CSDL ph©n t¸n. Trong CSDL ph©n t¸n cã kh¶ n¨ng nhËn biÕt cÊu tróc ®iÒu  
khiÓn ph©n cÊp dùa trªn mét ng-êi qu¶n trÞ CSDL toµn côc (cã tr¸ch nhiÖm  
trªn toµn thÓ CSDL ph©n t¸n), vµ c¸c ng-êi qu¶n trÞ CSDL côc bé (cã tr¸ch  
nhiÖm trªn CSDL côc bé cña chóng). §iÒu nµy nhÊn m¹nh r»ng c¸c ng-êi  
qu¶n trÞ CSDL côc bé cã thÓ cã tr×nh ®é tù trÞ cao. C¸c CSDL ph©n t¸n cã thÓ  
rÊt kh¸c nhau vÒ tr×nh ®é tù trÞ: tõ hoµn toµn tù trÞ kh«ng cã bÊt cø mét hÖ  
qu¶n trÞ CSDL tËp trung nµo ®Õn hÇu nh- hoµn toµn ®iÒu khiÓn tËp trung.  
-§éc lËp d÷ liÖu: Tæ chøc thùc sù cña d÷ liÖu lµ trong suèt ®èi víi  
c¸c ch-¬ng tr×nh øng dông. C¸c ch-¬ng tr×nh ®-îc viÕt cã mét khung nh×n  
2
nhËn thøc (conceptual) ®-îc gäi lµ s¬ ®å nhËn thøc. Lîi Ých chñ yÕu lµ  
ch-¬ng tr×nh kh«ng bÞ ¶nh h-ëng bëi nh÷ng thay ®æi tæ chøc vËt lý cña d÷  
liÖu. Trong CSDL ph©n t¸n, ®äc lËp d÷ liÖu còng quan träng nh- trong CSDL  
truyÒn thèng. Tuy nhiªn, cã mét kh¸i niÖm míi n¶y sinh cã tªn lµ trong suèt  
ph©n t¸n. Trong suèt ph©n t¸n cã nghÜa lµ mét ch-¬ng tr×nh ®-îc viÕt (trªn  
mét CSDL ph©n t¸n) nh- CSDL kh«ng ®-îc ph©n t¸n. Hay nãi c¸ch kh¸c  
ch-¬ng kh«ng bÞ ¶nh h-ëng bëi sù di chuyÓn d÷ liÖu tõ mét vÞ trÝ c¸c sang vÞ  
trÝ kh¸c, tuy nhiªn tèc ®é thùc hiÖn cña nã bÞ ¶nh h-ëng. §éc lËp d÷ liÖu  
®-îc cung cÊp trong CSDL truyÒn thèng ®-îc cung cÊp qua nhiÒu møc kiÕn  
tróc cã sù m« t¶ vÒ d÷ liÖu vµ ¸nh x¹ gi÷a chóng kh¸c nhau; c¸c kh¸i niÖm:  
s¬ ®å nhËn thøc, s¬ ®å l-u tr÷, s¬ ®å ngoµi (external schema). Mét c¸ch  
t-¬ng nh- vËy, Trong suèt ph©n t¸n ®¹t ®-îc trong CSDL ph©n t¸n c¸c  
møc vµ c¸c s¬ ®å míi:  
-Trong suèt ph©n ®o¹n: C¸c øng dông thùc hiÖn c¸c truy nhËp  
vµo CSDL nh- nã kh«ng ®-îc ph©n t¸n.  
-Trong suèt ®Þnh vÞ: C¸c øng dông ph¶i x¸c ®Þnh truy nhËp  
vµo ®o¹n nµo cña CSDL ph©n t¸n. Cã thÓ truy nhËp song song vµo nhiÒu  
®o¹n cïng mét lóc ®Ó tËn dông kh¶ n¨ng song song cña CSDL ph©n t¸n.  
-Trong suèt ¸nh x¹ ®Þa ph-¬ng: C¸c øng dông ph¶i x¸c ®Þnh  
truy nhËp vµo ®o¹n nµo t¹i vÞ trÝ nµo cña CSDL ph©n t¸n.  
-Kh«ng trong suèt: Ng-êi lËp tr×nh øng dông ph¶i viÕt c¸c  
ch-¬ng tr×nh cã thÓ ch¹y ®-îc trªn hÖ thèng hÖ qu¶n trÞ CSDL ®Þa ph-¬ng  
(DBMSs) ®-îc cµi ®Æt t¹i vÞ trÝ øng dông cÇn ®äc d÷ liÖu (trªn c¸c vÞ trÝ kh¸c  
nhau c¸c hÖ ®iÒu hµnh cã thÓ kh¸c nhau, hoÆc DBMSs cã thÓ kh¸c nhau: c¸c  
b¶n dÞch (release) kh¸c nhau trong cïng mét hÖ thèng, c¸c hÖ thèng kh¸c  
nhau trong cïng mét kiÓu- vÝ dô c¸c DBMSs kh¸c nhau trong hä Codasyl -,  
c¸c hä hÖ thèng kh¸c kiÓu- vÝ dô mét quan hÖ vµ mét hÖ thèng Codasyl -.),  
c¸c ch-¬ng tr×nh nµy thùc hiÖn yªu cÇu c¸c hµm vµ cµi ®Æt c¸c ch-¬ng tr×nh  
phô trî t¹i c¸c vÞ trÝ ®-îc yªu cÇu. øng dông ph¶i ®-îc viÕt víi mét yªu cÇu  
lµm ho¹t ®éng c¸c ch-¬ng tr×nh phô trî ë xa nµy thay thÕ c¸c lÖnh SQL.  
-Gi¶m d- thõa: Trong CSDL truyÒn thèng d- thõa ®-îc gi¶m tíi  
møc cã thÓ v× hai nguyªn nh©n sau:  
-Sù m©u thuÉn gi÷a mét vµi b¶n sao cña cïng mét d÷ liÖu  
®-îc tù ®éng tr¸nh v× thùc tÕ chØ cã mét b¶n.  
-TiÕt kiÖm kh«ng gian l-u tr÷.  
Trong CSDL ph©n t¸n, cã mét vµi nguyªn nh©n lµm cho viÖc quan  
t©m ®Õn sù d- thõa d÷ liÖu nh- mét ®Æc ®iÓm ao -íc:  
-VÞ trÝ cña c¸c øng dông cã thÓ ®-îc t¨ng nÕu d÷ liÖu ®-îc  
sao b¶n t¹i tÊt c¶ c¸c vÞ trÝ cÇn ®Õn nã.  
3
-TÝnh s½n sµng cña hÖ thèng cã thÓ t¨ng v× nÕu mét vÞ trÝ lçi  
kh«ng dõng viÖc thùc hiÖn cña c¸c øng dông t¹i c¸c vÞ trÝ kh¸c nÕu d÷ liÖu  
®-îc sao b¶n.  
Do ®ã, viÖc gi¶m d- thõa ®ßi hái mét sù -íc l-îng ®Þnh gi¸ kh¸  
phøc t¹p. Vµ viÖc sao b¶n lµ tØ lÖ thuËn víi viÖc t¨ng sè l-îng thùc hiÖn c¸c  
truy nhËp söa ®æi d÷ liÖu v× khi thùc hiÖn mét truy nhËp söa ®æi trªn mét d÷  
liÖu chóng ta ®ång thêi ph¶i söa ®æi d÷ liÖu trªn c¸c sao b¶n cña d÷ liÖu ®ã.  
-CÊu tróc vËt lý phøc t¹p vµ viÖc truy nhËp hiÖu qu¶: C¸c cÊu tróc  
truy nhËp phøc t¹p, vÝ dô nh- c¸c chØ sè (index) thø hai, c¸c chuçi tÖp cã  
quan hÖ víi nhau (interfile chain) ..., lµ mÆt chñ yÕu cña CSDL truyÒn thèng.  
Hç trî c¸c cÊu tróc nµy lµ mét phÇn hÕt søc quan träng cña hÖ qu¶n trÞ  
CSDL. Nguyªn nh©n cho viÖc cung cÊp c¸c cÊu tróc truy nhËp phøc t¹p lµ ®Ó  
thu ®-îc hiÖu qu¶ truy nhËp vµo d÷ liÖu. Trong CSDL ph©n t¸n c¸c cÊu tróc  
truy nhËp phøc t¹p kh«ng lµ c«ng cô ®óng cho hiÖu qu¶ truy nhËp. HiÖu qu¶  
truy nhËp CSDL ph©n t¸n kh«ng thÓ ®-îc cung cÊp bëi c¸c cÊu tróc phøc t¹p  
c¸c vÞ trÝ cã quan hÖ víi nhau.  
-TÝnh toµn vÑn d÷ liÖu, kh«i phôc l¹i vµ ®iÒu khiÓn t-¬ng tranh:  
Trong CSDL, vÊn ®Ò toµn vÑn, kh«i phôc l¹i, vµ ®iÒu khiÓn t-¬ng tranh, mÆc  
dï lµ c¸c vÊn ®Ò kh¸c nhau song chóng cã quan hÖ qua l¹i chÆt chÏ víi nhau.  
Gi¶i ph¸p cho c¸c vÊn ®Ò nµy chñ yÕu lµ viÖc cung cÊp c¸c giao t¸c  
(transaction). Kh¸i niÖm giao t¸c vµ vÊn ®Ò qu¶n lý giao t¸c sÏ ®Ò cËp ë phÇn  
sau.  
-BiÖt lËp (Privacy) vµ b¶o mËt: Trong CSDL truyÒn thèng, c¸c  
ng-êi qu¶n trÞ CSDL cã ®iÒu khiÓn tËp trung, cã thÓ ®¶m b¶o r»ng chØ mét  
truy nhËp ®-îc uû quyÒn ®-îc thùc hiÖn. L-u ý r»ng, dï sao, CSDL tËp  
trunggÇn nh- tù chÝnh nã kh«ng víi mét thñ tôc ®iÒu khiÓn ®Æc biÖt nµo, lµ  
nhiÒu nh-îc ®iÓm riªng biÖt h¬n vµ x©m ph¹m b¶o mËt h¬n con ®-êng cò  
dùa trªn c¸c tÖp riªng lÎ. Trong CSDL ph©n t¸n, c¸c ng-êi qu¶n trÞ côc bé  
thùc chÊt ®-¬ng ®Çu víi c¸c vÊn ®Ò gièng c¸c ng-êi qu¶n trÞ CSDL trong  
CSDL truyÒn thèng. Dï sao, hai khÝa c¹nh ®Æc biÖt cña CSDL ph©n t¸n ®¸ng  
®-îc ®Ò cËp ®Õn:  
-Trong mét CSDL ph©n t¸n víi mét tr×nh ®é tù qu¶n cña c¸c  
vÞ trÝ rÊt cao, c¸c ng-êi chñ d÷ liÖu ®Þa ph-¬ng c¶m gi¸c ®-îc b¶o vÖ h¬n v×  
hä cã thÓ tù chñ c¸c viÖc b¶o vÖ thay v× phô thuéc vµo ng-êi qu¶n trÞ CSDL  
trung t©m.  
-C¸c vÊn ®Ò b¶o mËt lµ b¶n chÊt trong hÖ ph©n t¸n nãi chung,  
v× c¸c m¹ng truyÒn th«ng cã thÓ biÓu hiÖn mét ®iÓm yÕu víi sù l-u ý b¶o vÖ.  
4
III/TÝnh -u viÖt cña CSDL ph©n t¸n:  
1/C¸c lîi Ých cña CSDL ph©n t¸n:  
-Kh¶ n¨ng mau phôc håi (Resilience): ViÖc truy nhËp d÷ liÖu  
kh«ng phô thuéc vµo mét m¸y hay mét ®-êng nèi trªn m¹ng. NÕu cã bÊt kú  
mét lçi nµo th× sau ®ã vµi CSDL cã thÓ ®-îc truy nhËp trªn c¸c nót ®Þa  
ph-¬ng, h¬n n÷a mét lçi trªn ®-êng nèi cã thÓ tù ®éng chän ®-êng l¹i qua  
c¸c ®-êng nèi kh¸c.  
-Gi¶m dßng d÷ liÖu trªn ®-êng truyÒn_c¶i thiÖn thêi gian tr¶  
lêi: Cung cÊp tr¶ lêi cã bëi d÷ liÖu gÇn s¸t n¬i c¸c ng-êi sö dông th-êng  
xuyªn d÷ liÖu.  
-Khung nh×n logic ®¬n cho c¸c c©u hái: Trong suèt ®Þnh vÞ  
cho phÐp d÷ liÖu vËt lý cã thÓ ®-îc di chuyÓn mµ kh«ng thay ®æi øng dông  
hay th«ng b¸o cho ng-êi sö dông.  
-Tù trÞ ®Þa ph-¬ng:  
-ViÖc qu¶n lý: §-îc qu¶n lý mét c¸ch ®éc lËp.  
-ViÖc t¹o lËp: Cã c¸c ®Þnh nghÜa t¹o lËp vµ ®iÒu khiÓn cã tÝnh  
côc bé.  
-§iÒu khiÓn truy nhËp: Cã quyÒn ®Þnh nghÜa vµ ®iÒu khiÓn cã  
tÝnh côc bé.  
-Gi¶m c¹nh tranh (reduced politics): b»ng c¸ch trao vïng  
nghiÖp vô tù chñ côc bé.  
-C¸ch thøc më réng dÔ dµng: DÔ dµng ph¸t triÓn më réng ®¹t  
®-îc:  
-NhiÒu bé xö cã thÓ ®-îc thªm vµo m¹ng.  
-NhiÒu CSDL cã thÓ ®-îc thªm vµo trªn mét nót m¹ng.  
-CËp nhËt phÇn mÒm lµ ®éc lËp víi cÊu tróc vËt lý.  
2/C¸c bÊt lîi cña CSDL ph©n t¸n:  
- Sù thiÕu kinh nghiÖm.  
- Phøc t¹p.  
- Gi¸ c¶: N©ng cÊp phÇn cøng, phÇn mÒm.  
- Sù ph©n t¸n trong ®iÒu khiÓn.  
- B¶o mËt: Khã kh¨n h¬n CSDL tËp trung.  
- Khã kh¨n trong viÖc thay ®æi: HiÖn nay ch-a cã c¸c c«ng cô  
hoÆc ph-¬ng ph¸p nµo ®Ó trî gióp ng-êi sö dông chuyÓn ®æi d÷ liÖu cña hä  
tõ CSDL tËp trung sang CSDL ph©n t¸n. Nghiªn cøu CSDL kh«ng thuÇn nhÊt  
vµ sù thèng nhÊt CSDL ®-îc chê ®îi ®Ó gi¶i quyÕt khã kh¨n nµy.  
5
3/C¸c nguyªn nh©n sö dông CSDL ph©n t¸n:  
-Nguyªn nh©n vÒ tæ chøc vµ kinh tÕ: Trªn thùc tÕ nhiÒu tæ  
chøc lµ kh«ng tËp trung v× vËy CSDL ph©n t¸n lµ con ®-êng thÝch hîp víi  
cÊu tróc tù nhiªn cña c¸c tæ chøc ®ã. Víi sù ph¸t triÓn gÇn ®©y trong c¸c kü  
thuËt m¸y tÝnh, c¸n c©n kinh tÕ thóc ®Èy cã hÖ lín, c¸c trung t©m m¸y tÝnh  
trë lªn ®¸ng nghi ng¹i. Nguyªn nh©n vÒ tæ chøc vµ kinh tÕ lµ nguyªn nh©n  
hÕt søc quan träng cho viÖc ph¸t triÓn CSDL ph©n t¸n.  
-Sù liªn kÕt c¸c CSDL dang tån t¹i: CSDL ph©n t¸n lµ gi¶i  
ph¸p tù nhiªn khi cã c¸c CSDL ®ang tån t¹i vµ sù cÇn thiÕt thùc hiÖn x©y  
dùng mét øng dông toµn côc. Trong tr-êng hîp nµy CSDL ph©n t¸n ®-îc t¹o  
d-íi lªn (bottom-up) tõ c¸c CSDL ®· tån t¹i tr-íc ®ã. TiÕn tr×nh nµy cã  
thÓ ®ßi hái cÊu tróc l¹i côc bé ë mét møc ®é nhÊt ®Þnh. Dï sao, nh÷ng söa  
®æi nµy lµ nhá h¬n rÊt nhiÒu so víi viÖc t¹o lËp mét CSDL tËp trung hoµn  
toµn míi.  
-Sù ph¸t triÓn më réng: C¸c tæ chøc cã thÓ më réng b»ng c¸ch  
thªm c¸c ®¬n vÞ míi, võa cã tÝnh tù trÞ võa cã quan hÖ t-¬ng ®èi víi c¸c tæ  
chøc kh¸c. Khi ®ã con ®-êng CSDL ph©n t¸n hç trî mét sù më réng uyÓn  
chuyÓn víi mét møc ®é ¶nh h-ëng tèi thiÓu tíi c¸c ®¬n vÞ ®ang tån t¹i. Víi  
con ®-êng CSDL tËp trung, còng cã thÓ khëi t¹o kÝch th-íc lín cho viÖc më  
réng trong t-¬ng lai. §iÒu ®ã rÊt khã tiªn ®Þnh vµ thùc hiÖn víi mét phÝ tæn  
lín, hoÆc sù më réng nµy cã ¶nh h-ëng lín kh«ng chØ trªn c¸c øng dông míi  
mµ cßn trªn c¸c øng dông ®ang tån t¹i.  
-Lµm gi¶m tæng chi phÝ t×m kiÕm: Trªn thùc tÕ nhiÒu øng  
dông côc bé râ rµng gi¶m tæng chi phÝ truyÒn th«ngvíi ph-¬ng diÖn mét  
CSDL tËp trung. Bëi vËy sè tèi ®a c¸c vÞ trÝ cña c¸c øng dông lµ mét trong  
c¸c môc ®Ých chÝnh trong thiÕt kÕ CSDL ph©n t¸n.  
-Sù quan t©m hiÖu suÊt (Performance considerations): S- tån  
t¹i mét vµi bé vi xö lý tù trÞ ®-a ®Õn kÕt qu¶ t¨ng hiÖu suÊt th«ng qua mét  
møc ®é song song cao. Sù quan t©m nµy cã thÓ chØ cã thÓ ®-îc øng dông cho  
mét hÖ thèng ®a xö lý kh«ng nhÊt thiÕt ph¶i lµ mét hÖ CSDL ph©n t¸n. Dï  
sao, CSDL ph©n t¸n cã lîi trong sù ph©n t¸n d÷ liÖu ph¶n ¸nh c¸c tiªu chuÈn  
phô thuéc øng dông c¸i sè tèi ®a vÞ trÝ c¸c øng dông. Trong c¸ch nµy sù g©y  
trë ng¹i lÉn nhau gi÷a c¸c bé vi xö lý lµ tèi thiÓu. Träng t¶i ®-îc chia sÎ gi÷a  
c¸c bé vi xö lý, vµ c¸c t¾c nghÏn nguy kÞch, nh- m¹ng truyÒn th«ng tù nã  
hoÆc dÞch vô chung cho toµn bé hÖ thèng lµ ®-îc tr¸nh. KÕt qu¶ nµy lµ mét  
hÖ qu¶ cña ®ßi hái kh¶ n¨ng xö lý tù trÞ cho c¸c øng dông côc bé ®· ®-îc  
ph¸t biÓu trong ®Þnh nghÜa CSDL ph©n t¸n.  
-TÝnh tin cËy vµ tÝnh s½n sµng: Con ®-êng CSDL ph©n t¸n,  
®Æc biÖt víi d÷ liÖu d- thõa,nã còng ®-îc sö dông ®Ó ®¹t ®-îc mét sù tin cËy  
vµ tÝnh s½n sµng cao h¬n. Dï sao, viÖc thu ®-îc môc ®Ých nµy kh«ng ph¶i  
kh«ng r¾c rèi vµ ®ßi hái sö dông c¸c kü thuËt vÉn ch-a ®-îc hiÓu biÕt hoµn  
6
chØnh. Kh¶ n¨ng xö lý tù trÞ cña c¸c vÞ trÝ kh¸c nhau tù nã kh«ng ®¶m b¶o  
mét tÝnh tin cËy toµn bé cao cña hÖ thèng, nh-ng nã ®¶m b¶o mét thuéc tÝnh  
graceful degration. Nãi mét c¸ch kh¸c, sù cè trong CSDL ph©n t¸n cã thÓ  
th-êng xuyªn h¬n mét CSDL tËp trung v× cã sè l-îng thµnh phÇn lín h¬n,  
nh-ng hËu qu¶ cña sù cè ®-îc h¹n chÕ tíi c¸c øng dông sö dông d÷ liÖu cña  
vÞ trÝ cã sù cè, vµ ®æ vì hoµn toµn cña hÖ thèng lµ hiÕm x¶y ra.  
Ch-¬ng 2: C¸c kü thuËt sö dông trong c¬ së d÷ liÖu ph©n t¸n:  
I/ThiÕt kÕ c¬ së d÷ liÖu ph©n t¸n:  
ThiÕt kÕ mét hÖ thèng m¸y tÝnh ph©n t¸n lµ viÖc quyÕt ®Þnh s¾p  
®Æt d÷ liÖu vµ ch-¬ng tr×nh tíi c¸c tr¹m lµm viÖc cña m¹ng m¸y tÝnh.  
Trong tr-êng hîp thiÕt kÕ DBMSs cã hai vÊn ®Ò chÝnh lµ:  
- Sù ph©n bè d÷ liÖu cña DBMS.  
- Sù ph©n bè c¸c ch-¬ng tr×nh øng dông ch¹y trªn nã.  
1/Tæ chøc cña hÖ thèng CSDL ph©n t¸n:  
Gi¶ thiÕt cã mét m¹ng m¸y tÝnh ®· ®-îc thiÕt kÕ. Ta chØ  
quan t©m ®Õn viÖc thiÕt kÕ d÷ liÖu ph©n t¸n. Tæ chøc cña c¸c hÖ thèng  
ph©n t¸n ®-îc nghiªn cøu theo 3 chiÒu trùc giao sau:  
-TÇng chia xÎ.  
-m« h×nh truy nhËp.  
-Møc hiÓu biÕt.  
Trong giíi h¹n cña chiÒu chia xÎ cã ba kh¶ n¨ng sau cho d÷  
liÖu vµ ch-¬ng tr×nh:  
-Kh«ng chia xÎ: Mçi øng dông vµ d÷ liÖu cña nã thùc  
hiÖn t¹i mét vÞ trÝ, kh«ng cã sù liªn l¹c víi mét ch-¬ng tr×nh hoÆc truy nhËp  
tíi mét file d÷ liÖu t¹i nh÷ng vÞ trÝ kh¸c.  
-Chia xÎ d÷ liÖu: C¸c ch-¬ng tr×nh ph©n phèi ®-îc t¹i  
tÊt c¶ c¸c vÞ trÝ, nh-ng file d÷ liÖu th× kh«ng nh- vËy, nã vÉn chØ ®-îc thùc  
hiÖn t¹i mét vÞ trÝ.  
-Chia xÎ d÷ liÖu vµ ch-¬ng tr×nh: C¶ d÷ liÖu vµ ch-¬ng  
tr×nh ®Òu cã t®-îc chia xÎ, nghÜa lµ mét ch-¬ng tr×nh tõ mét vÞ trÝ cã thÓ  
yªu cÇu mét dÞch vô tõ ch-¬ng tr×nh kh¸c t¹i vÞ trÝ kh¸c, trong khi quay trë  
l¹i cã thÓ ph¶i truy nhËp mét file d÷ liÖu ®-îc x¸c ®Þnh t¹i vÞ trÝ thø ba.  
7
KiÓutruynhËp  
§éng  
TÜnh  
Tõng  
phÇn  
D÷liÖu  
chiÓu  
biÕt  
D÷lu+  
Ch-¬ngtr×nh  
ChiaxÎ  
§Çy®ñ  
H×nh2.I.1TæcccñaHÖCSDLpnt¸n  
M« h×nh truy nhËp: C¸c yªu cÇu truy nhËp d÷ liÖu cña  
ng-êi sö dông cã thÓ lµ tÜnh (kh«ng thay ®æi theo thêi gian) hoÆc ®éng. Râ  
rµng thiÕt kÕ vµ qu¶n lÝ c¸c m«i tr-êng tÜnh dÔ h¬n nhiÒu so víi viÖc thiÕt  
kÕ vµ qu¶n lÝ c¸c hÖ thèng ph©n t¸n ®éng. Däc theo chiÒu nµy quan hÖ gi÷a  
thiÕt kÕ CSDL ph©n t¸n vµ xö lý c©u hái ®· ®-îc thiÕt lËp.  
Møc hiÓu biÕt: Møc hiÓu biÕt vÒ c- xö m« h×nh truy nhËp.  
Cã mét kh¶ n¨ng lý thuyÕt lµ c¸c ng-êi thiÕt kÕ kh«ng cã bÊt kú th«ng tin  
ng-êi user truy nhËp vµo CSDL nh- thÕ nµo.  
2/Khung lµm viÖc chung cho thiÕt kÕ hÖ CSDL ph©n t¸n:  
Tõ s¬ ®å kiÕn tróc cña HÖ CSDL ph©n t¸n, ng-êi ta ®-a ra  
s¬ ®å thiÕt kÕ chung cho HÖ CSDL ph©n t¸n nh- sau:  
ThiÕt kÕ l-îc ®å quan niÖm: M« t¶ toµn bé d÷ liÖu sÏ  
®-îc dïng trong øng dông.  
ThiÕt kÕ CSDL vËt lÝ: Lµ qu¸ tr×nh thùc hiÖn ¸nh x¹  
l-îc ®å quan niÖm vµo c¸c vïng chøa vµ x¸c ®Þnh c¸ch thøc truy nhËp thÝch  
hîp cho chóng.  
ThiÕt kÕ ph©n ®o¹n: Thùc hiÖn viÖc ph©n chia d÷ liÖu  
thµnh c¸c phÇn, kÌm theo c¸ch thøc truy nhËp thÝch hîp.  
ThiÕt kÕ sù ph©n phèi c¸c phÇn: C¸c ®o¹n d÷ liÖu ®-îc  
®-a vµo c¸c vÞ trÝ l-u tr÷ thÝch hîp víi yªu cÇu ho¹t ®éng thùc tÕ cña hÖ  
thèng.  
VÝ dô: Ta kh«ng thÓ ®-a d÷ liÖu vÒ CANBO cho phßng qu¶n  
lý Sinh Viªn vµ ng-îc l¹i.  
8
ThiÕt kÕ c¸c l-îc ®å quan niÖm  
ThiÕt kÕ CSDL vËt lÝ  
ThiÕt kÕ ph©n ®o¹n  
ThiÕt kÕ sù ph©n phèi c¸c thµnh phÇn  
H×nh 2.I.2  
§èi víi c¸c øng dông cña CSDL ph©n t¸n cÇn chó ý:  
-VÞ trÝ mµ øng dông ®-îc ®-a ra.  
-§iÒu khiÓn sù ho¹t ho¸ cña øng dông. Trong ph-¬ng  
ph¸p chung th× øng dông cã thÓ ®-îc ®-a ra t¹i nhiÒu vÞ trÝ, chóng ta ph¶i  
®iÒu khiÓn sù ho¹t ho¸ cña øng dông t¹i mçi vÞ trÝ.  
-Thèng kª ph©n t¸n c¸c øng dông.  
3/C¸c chiÕn l-îc thiÕt kÕ hÖ CSDL ph©n t¸n:  
Theo khung lµm viÖc chung cho thiÕt kÕ hÖ CSDL ph©n t¸n,  
®Õn nay cã hai ph-¬ng ph¸p chÝnh lµ: TOP-DOWN vµ BOTTOM-UP.  
a.Ph-¬ng ph¸p TOP-DOWN:  
TOP-DOWN: Lµ ph-¬ng ph¸p thiÕt kÕ tõ trªn xuèng vµ  
®-îc chia ra lµm nhiÒu giai ®o¹n, mçi giai ®o¹n ®Òu cã nhiÖm vô riªng, giai  
®o¹n nµy nèi tiÕp giai ®o¹n kia, ®Çu ra cña giai ®o¹n tr-íc ®-îc lµm ®Çu  
vµo cho giai ®o¹n kÕ tiÕp sau nã.  
Qu¸ tr×nh thiÕt kÕ hÖ theo ph-¬ng ph¸p TOP-DOWN  
bao gåm c¸c b-íc sau:  
C¸c ®Þnh nghÜa: §Þnh nghÜa m«i tr-êng hÖ thèng,  
d÷ liÖu vµ c¸c tiÕn tr×nh cho tÊt c¶ nh÷ng kh¶ n¨ng vÒ d÷ liÖu cña ng-êi sö  
dông. Tµi liÖu vÒ nh÷ng ®iÒu kiÖn cÇn thiÕt n»m trong hai tham sè: ThiÕt kÕ  
View vµ ThiÕt kÕ møc quan niÖm.  
ThiÕt kÕ View: Ho¹t ®éng ph©n phèi víi sù ®Þnh  
nghÜa nh÷ng c¸i chung cho ng-êi sö dông.  
ThiÕt kÕ møc quan niÖm: Lµ mét tiÕn tr×nh kiÓm  
tra vµ x¸c ®Þnh râ hai nhãm quan hÖ Ph©n tÝch thùc thÓ vµ Ph©n tÝch chøc  
n¨ng:  
-Ph©n tÝch thùc thÓ: Liªn quan tíi sù x¸c ®Þnh  
c¸c lo¹i thùc thÓ, c¸c thuéc tÝnh vµ c¸c mèi quan hÖ gi÷a chóng.  
9
-Ph©n tÝch chøc n¨ng: X¸c ®Þnh c¸c chøc  
n¨ng c¬ së.  
L-îc ®å tæng thÓ møc quan niÖm, mÉu truy nhËp  
th«ng tin vµ External Schema Definition: TËp hîp kÕt qu¶ cña c¸c b-íc  
trªn, x¾p xÕp c¸c thùc thÓ trªn c¸c vÞ trÝ cña hÖ thèng ph©n t¸n vµ chuyÓn  
tíi b-íc tiÕp theo.  
C¸c yªu cÇu vÒ ph©n tÝch  
C¸c yªu cÇu hÖ thèng  
User Input  
ThiÕt kÕ møc quan niÖm  
ThiÕt kÕ view  
TËp hîp c¸c view  
L-îc ®å tæng thÓ  
møc quan niÖm  
C¸c ®Þnh nghÜa  
s¬ ®å ngoµi  
Truy nhËp th«ng tin  
User  
input  
ThiÕt kÕ ph©n t¸n  
L-îc ®å møc quan niÖm ®Þa ph-¬ng  
ThiÕt kÕ vËt lý  
L-îc ®å vËt lý  
Feedback  
Feedback  
Quan s¸t vµ kiÓm tra  
H×nh 2.I.3 S¬ ®å thiÕt kÕ CSDL ph©n t¸n theo m« h×nh TOP-DOWN  
ThiÕt kÕ ph©n t¸n: ThiÕt kÕ ph©n t¸n bao gåm hai  
phÇn ph©n ®o¹n vµ ®Þnh vÞ CSDL.  
L-îc ®å møc quan niÖm: T¹o ra c¸c l-îc ®å  
CSDL møc quan niÖm.  
ThiÕt kÕ vËt lý: Thùc hiÖn ¸nh x¹ c¸c l-îc ®å  
CSDL møc quan niÖm ra c¸c ®¬n vÞ l-u tr÷ vËt lÝ cã gi¸ trÞ t¹i c¸c vÞ trÝ  
t-¬ng øng.  
10  
Bé kiÓm tra: KiÓm tra c¸c giai ®o¹n cña qu¸ tr×nh  
thiÕt kÕ CSDL. NÕu mét giai ®o¹n bÞ sai sÏ tiÕn hµnh thiÕt kÕ l¹i.  
Ph-¬ng ph¸p TOP-DOWN lµ cã hiÖu qu¶ khi mét hÖ  
thèng CSDL ®-îc thiÕt kÕ tõ ®Çu. Tuy nhiªn trong thùc tÕ cã mét sè hÖ  
CSDL ®· tån t¹i th× nhiÖm vô cña ng-êi thiÕt kÕ lµ liªn kÕt chóng l¹i thµnh  
mét thÓ thèng nh©t trong CSDL míi.  
b.Ph-¬ng ph¸p BOTTOM-UP:  
BOTTOM-UP: Lµ ph-¬ng ph¸p ®-îc xem lµ ng-îc l¹i  
víi ph-¬ng ph¸p TOP_DOWN. Trong thiÕt kÕ CSDL ph©n t¸n BOTTOM-  
UP sÏ b¾t ®Çu thiÕt kÕ nh÷ng l-îc ®å ë møc quan niÖm sao cho chóng ®éc  
lËp víi nhau. Sau ®ã chóng ®-îc kÕt hîp l¹i trong mét s¬ ®å tæng thÓ (  
Global Conceptual schema ).  
Ph-¬ng ph¸p BOTTOM-UP lµ phï hîp khi hÖ thèng  
CSDL ®-îc thiÕt kÕ tõ nh÷ng thµnh phÇn hçn hîp.  
4/Ph©n ®o¹n:  
ThiÕt kÕ ph©n ®o¹n lµ vÊn ®Ò ®Çu tiªn ph¶i ®-îc gi¶i quyÕt  
trong thiÕt kÕ CSDL ph©n t¸n. Môc ®Ých cña thiÕt kÕ ph©n ®o¹n lµ ph©n  
chia mét quan hÖ tæng thÓ thµnh c¸c phÇn kh«ng bao trïm lªn nhau, mçi  
phÇn ®ã ®-îc gäi lµ mét ®o¹n.  
a.C¸c ®iÒu kiÖn rµng buéc cho thiÕt kÕ ph©n ®o¹n:  
Mét ph-¬ng ph¸p thiÕt kÕ ph©n ®o¹n ®óng ®¾n ph¶i tho¶ m·n ba ®iÒu  
kiÖn rµng buéc sau:  
-TÝnh ®Çy ®ñ: Toµn bé d÷ liÖu thuéc quan hÖ tæng thÓ  
ph¶i thuéc c¸c ®o¹n quan hÖ vµ ng-îc l¹i.  
-TÝnh rêi nhau: C¸c ®o¹n ph¶i tèi thiÓu ho¸ viÖc bao  
trïm lªn nhau.  
-X©y dùng l¹i: CSDL cña quan hÖ tæng thÓ cã thÓ ®-îc  
lµm l¹i tõ c¸c ®o¹n chøa nã.  
b.C¸c ph-¬ng ph¸p ph©n ®o¹n:  
Cã hai ph-¬ng ph¸p chÝnh lµ: Ph©n ®o¹n ngang vµ ph©n  
®o¹n däc. Ph©n ®o¹n hçn hîp lµ ph-¬ng ph¸p kÕt hîp gi÷a ph©n ®o¹n  
ngang vµ ph©n ®o¹n däc.  
-Ph©n ®o¹n ngang:  
Ph©n ®o¹n ngang c¬ së: Ph©n ®o¹n ngang c¬ së  
tËp chung ë c¸c hµng cña b¶ng. Quan hÖ tæng thÓ sÏ ®-îc chia thµnh c¸c  
quan hÖ con cã cïng tËp thuéc tÝnh nh-ng l-îng c¸c hµng lµ nhá h¬n.  
Chó ý lµ mçi hµng cña quan hÖ thuéc mét vµ chØ  
mét ®o¹n.  
VÝ dô: Cho quan hÖ J cã cÊu tróc nh- sau:  
11  
J:  
JNO  
J1  
J2  
J3  
J4  
JNAME  
Jonh  
Mary  
Bill  
BUDGET  
15 000  
10 000  
12 000  
17 000  
LOCATION  
New York  
Paris  
Montreal  
Paris  
Clark  
Thùc hiÖn ph©n ®o¹n ngang c¬ së thµnh hai quan  
hÖ J1 vµ J2:  
J1:  
JNO  
J1  
J4  
JNAME  
Jonh  
Clark  
BUDGET  
15 000  
17 000  
LOCATION  
New York  
Paris  
J2:  
JNO  
J2  
J3  
JNAME  
Mary  
Bill  
BUDGET  
10 000  
12 000  
LOCATION  
Paris  
Montreal  
Nh- vËy thùc chÊt cña qu¸ tr×nh ph©n ®o¹n ngang  
lµ thùc hiÖn c©u lÖnh SELECT víi c¸c ®iÒu kiÖn cô thÓ. Trong vÝ dô trªn  
c©u lÖnh SELECT ®-îc thùc hiÖn lµ:  
J1 = SELECT "BUDGET"  
J2 = SELECT "BUDGET"  
=
=
"BUDGET > 15 000" J  
"BUDGET < 15 000" J  
Ph©n ®o¹n ngang suy diÔn: B¾t nguån tõ kÕt qu¶  
cña qu¸ tr×nh ph©n ®o¹n ngang chÝnh, ph©n ®o¹n ngang suy diÔn ®-îc sö  
dông ®Ó kÕt nèi c¸c ®o¹n t¹o ra CSDL thÝch hîp cho c¸c øng dông. Qu¸  
tr×nh kÕt nèi yªu cÇu ph¶i cã thuéc tÝnh kÕt nèi.  
VÝ dô: Cho quan hÖ DIENTHOAI cã cÊu tróc nh-  
sau:  
DIENTHOAI:  
JNO  
J1  
J2  
J3  
J4  
DIENTHOAI  
8.243.654  
9.564.734  
8.777.253  
8.372.564  
Thùc hiÖn ph©n ®o¹n ngang suy diÔn gi÷a c¸c  
quan hÖ: J1, J2 vµ DIENTHOAI víi tr-êng liªn kÕt lµ JNO kÕt qu¶ cho ta  
hai quan hÖ J1_DIENTHOAI vµ J2_DIENTHOAI nh- sau:  
12  
J1-DIENTHOAI:  
JNO JNAME BUDGET  
LOCATION  
New York  
Paris  
DIENTHOAI  
8.243.654  
9.564.734  
J1  
J4  
Jonh  
Clark  
15 000  
17 000  
J2-DIENTHOAI:  
JNO JNAME BUDGET  
LOCATION  
Paris  
Montreal  
DIENTHOAI  
8.777.253  
8.372.564  
J2  
J3  
Mary  
Bill  
10 000  
12 000  
Nh- vËy thùc chÊt cña qu¸ tr×nh ph©n ®o¹n ngang  
suy diÔn lµ thùc hiÖn phÐp nöa kÕt nèi tõ kÕt qu¶ cña qu¸ tr×nh ph©n ®o¹n  
ngang c¬ së cïng quan hÖ mµ ta cÇn kÕt nèi. Trong vÝ dô trªn quan hÖ  
SV1_DIEM vµ SV2_DIEM lµ kÕt qu¶ cña hai phÐp thùc hiÖn sau:  
J1_DIENTHOAI = DIENTHOAI SJ " JNO = JNO " J1  
J2_DIENTHOAI = DIENTHOAI SJ " MASV = MASV " J2  
-Ph©n ®o¹n däc: Ph©n ®o¹n tËp chung ë c¸c thuéc tÝnh,  
trong c¸c thuéc tÝnh cña quan hÖ chän ra thuéc tÝnh kÕt nèi. KÕt qu¶ thu  
®-îc lµ mét tËp c¸c quan hÖ con, chóng cã thÓ kÕt nèi l¹i t¹o thµnh quan hÖ  
tæng thÓ.  
VÝ dô: Thùc hiÖn ph©n ®o¹n däc víi thuéc tÝnh liªn kÕt  
lµ JNO tõ quan hÖ J2-DIENTHOAI, ta thu ®-îc hai quan hÖ QH1 vµ QH2  
nh- sau:  
QH1:  
JNO JNAME  
BUDGET  
10 000  
12 000  
J2  
J3  
Mary  
Bill  
QH2:  
JNO LOCATION DIENTHOAI  
J2  
J3  
Paris  
Montreal  
8.777.253  
8.372.564  
Qu¸ tr×nh ph©n ®o¹n däc thùc chÊt lµ thùc hiÖn phÐp  
chiÕu (Project) c¸c thuéc tÝnh cña quan hÖ tæng thÓ thµnh c¸c quan hÖ con.  
Trong vÝ dô trªn cã hai phÐp chiÕu ®-îc thùc hiÖn lµ:  
QH1 = PJ " JNO, JNAME, BUDGET " J2-DIENTHOAI  
QH2 = PJ " JNO, LOCATION, DIENTHOAI " J2-DIENTHOAI  
-Ph©n ®o¹n hçn hîp: Ph©n ®o¹n hçn hîp lµ sù kÕt hîp  
gi÷a ph©n ®o¹n ngang vµ ph©n ®o¹n däc. Cã hai ph-¬ng ph¸p ph©n ®o¹n  
hçn hîp lµ:  
13  
1. Thùc hiÖn ph©n ®o¹n ngang tr-íc sau ®ã ph©n  
®o¹n däc.  
2. Thùc hiÖn ph©n ®o¹n däc tr-íc sau ®ã ph©n  
®o¹n ngang.  
Qu¸ tr×nh ®-îc thùc hiÖn tuÇn tù, kÕt qu¶ thu ®-îc tõ  
phÐp ph©n ®o¹n cuèi cïng.  
III/Qu¶n lý giao t¸c  
Kh¸i niÖm giao t¸c ®-îc sö dông trong lÜnh vùc CSDL nh- ®¬n vÞ  
c¬ b¶n cña tÝnh to¸n nhÊt qu¸n vµ ®¸ng tin cËy (x¸c thùc). (CSDL trong tr¹ng  
th¸i nhÊt qu¸n nÕu tu©n thñ theo c¸c rµng buéc kÓ ®Õn ë ch-¬ng 6).  
Trong qu¸ tr×nh thùc hiÖn giao t¸c CSDL cã thÓ t¹m thêi kh«ng nhÊt qu¸n  
nh-ng CSDL ph¶i nhÊt qu¸n khi giao t¸c kÕt thóc. TÝnh tin cËy dùa vµo c¶  
hai kh¶ n¨ng sau:  
Kh¶ n¨ng phôc håi nhanh cña hÖ thèng khi nhiÒu kiÓu lçi xÈy  
ra. (Khi c¸c lçi xÈy ra hÖ thèng cã thÓ chÞu ®ùng ®-îc vµ cã thÓ tiÕp tôc cung  
cÊp c¸c dÞch vô.)  
Kh«i phôc: ®¹t ®-îc tr¹ng th¸i nhÊt qu¸n. Trë vÒ tr¹ng th¸i  
nhÊt qu¸n tr-íc ®ã hoÆc tiÕp tíi tr¹ng th¸i nhÊt qu¸n míi sau khi xÈy ra lçi.).  
NhÊt qu¸n giao t¸c liªn quan tíi sù thùc hiÖn c¸c truy nhËp trïng nhau.  
ViÖc qu¶n lý giao t¸c tiÕp xóc víi c¸c vÊn ®Ò lu«n gi÷ CSDL trong tr¹ng th¸i  
nhÊt qu¸n khi xÈy ra c¸c truy nhËp trïng nhau vµ c¸c lçi.  
1/§Þnh nghÜa:  
Giao t¸c lµ mét d·y c¸c hµnh ®éng ®-îc thùc hiÖn bëi mét ch-¬ng  
tr×nh øng dông hay bëi mét ng-êi sö dông, mµ hoÆc ph¶i ®-îc thùc hiÖn  
hoµn toµn hoÆc lµ kh«ng ®-îc thùc hiÖn mét hµnh ®éng nµo.  
a.C¸c ®iÒu kiÖn kÕt thóc cña giao t¸c:  
Mét c¸c giao t¸c lu«n lu«n kÕt thóc. NÕu giao t¸c cã thÓ  
hoµn thµnh toµn bé c«ng viÖc cña nã thµnh c«ng chóng ta nãi giao  
t¸c chuyÓn giao (Commit), ng-îc l¹i nÕu mét giao t¸c dõng l¹i  
kh«ng víi sù hoµn thµnh c¸c c«ng viÖc cña nã chóng ta nãi giao  
t¸c bÞ lo¹i bá (Abort). Mét giao t¸c bÞ lo¹i bá sè nguyªn nh©n:  
-Mét giao t¸c bÞ lo¹i bá bëi chÝnh nã v× mét ®iÒu  
kiÖn kh«ng tho¶ m·n cÊm kh«ng cho giao t¸c hoµn thµnh c¸c c«ng  
viÖc cña nã.  
-DBMS lo¹i bá giao t¸c, vÝ dô kho¸ chÕt hoÆc c¸c  
®iÒu kiÖn kh¸c.  
14  
Khi mét giao t¸c bÞ lo¹i bá c¸c viÖc thùc hiÖn cña nã bÞ  
dõng l¹i vµ toµn bé viÖc ®· thùc hiÖn ®-îc lo¹i bá ®Ó ®-a CSDL vÒ  
tr¹ng th¸i tr-íc khi thùc hiÖn giao t¸c. §iÒu nµy còng ®-îc hiÓu  
nh- rollback.  
b.C¸c ®Æc ®iÓm cña giao t¸c:  
ReadSet (RS): tËp hîp c¸c môc d÷ liÖu mét giao t¸c ®äc.  
WriteSet (WS): tËp hîp c¸c môc d÷ liÖu mét giao t¸c  
ghi.  
BaseSet ( BS) = RS U WS.  
RS vµ WS kh«ng nhÊt thiÕt ph¶i lo¹i trõ lÉn nhau. RS,  
WR sö dông nh- c¬ së ®Ó m« t¶ ®Æc ®iÓm cña mét giao t¸c.  
2/C¸c thuéc tÝnh cña giao t¸c :  
a.TÝnh nguyªn tè: hoÆc lµ tÊt c¶ c¸c hµnh ®éng, hoÆc lµ kh«ng  
mét hµnh ®éng nµo cña giao t¸c ®-îc thùc hiÖn. TÝnh nguyªn tè qui ®Þnh  
r»ng mét giao t¸c bÞ ng¾t bëi mét sù cè nµo ®ã th× nh÷ng kÕt qu¶ cña c¸c  
lÖnh thùc thi giao t¸c ®ã ®· vµ ®ang ®-îc thùc hiÖn ph¶i bÞ lo¹i bá. Cã hai lý  
do chÝnh khiÕn mét giao t¸c kh«ng ®-îc thùc hiÖn hoµn toµn ®ã lµ giao t¸c bÞ  
lo¹i bá vµ hÖ thèng cã sù cè. Mét giao t¸c bÞ lo¹i bá nguyªn nh©n cã thÓ lµ  
do yªu cÇu tõ chÝnh b¶n th©n giao t¸c ®ã, cã thÓ do ng-êi sö dông (do mét sè  
th«ng tin ®Çu vµo bÞ sai, mét sè ®iÒu kiÖn kh«ng ®-îc tho¶ m·n.) vµ cã thÓ  
do yªu cÇu cña hÖ thèng (do qu¸ t¶i, t¾c nghÏn).  
b.NhÊt qu¸n:  
Bèn møc nhÊt qu¸n:  
Møc 3: Giao t¸c T nh×n møc nhÊt qu¸n 3 nÕu:  
T kh«ng ghi ®Ì d÷ liÖu nh¸p cña giao t¸c kh¸c  
T kh«ng chuyÓn giao bÊt cø mét viÖc ghi nµo ®Õn khi nã  
hoµn thµnh hoµn toµn viÖc ghi cña nã (®Õn khi kÕt thóc giao t¸c EOT).  
T kh«ng ®äc d÷ liÖu nh¸p tõ c¸c giao t¸c kh¸c.  
C¸c giao t¸c kh¸c kh«ng nh¸p vµo bÊt cø d÷ liÖu nµo ®äc  
bëi T tr-íc khi T hoµn thµnh.  
Møc 2:  
T kh«ng ghi ®Ì lªn d÷ liÖu nh¸p cña giao t¸c kh¸c.  
T kh«ng chuyÓn giao bÊt kú viÖc ghi nµo tr-íc EOT.  
T kh«ng ®äc d÷ liÖu nh¸p tõ giao t¸c kh¸c.  
Møc 1:  
T kh«ng ghi ®Ì lªn d÷ liÖu nh¸p cña giao t¸c kh¸c.  
T kh«ng chuyÓn giao bÊt kú viÖc ghi nµo tr-íc EOT.  
Møc 0:  
T kh«ng ghi ®Ì lªn d÷ liÖu nh¸p cña giao t¸c kh¸c.  
15  
c.TÝnh tr×nh tù: NÕu nhiÒu giao t¸c ®-îc thùc hiÖn ®ång thêi  
th× kÕt qu¶ cña mçi giao t¸c ph¶i nh- thÓ lµ c¸c giao t¸c ®ã ®-îc thùc hiÖn  
mét c¸c tuÇn tù (nh- thÓ lµ mét giao t¸c ®-îc thùc hiÖn mét c¸ch liªn tôc).  
C¸c hµnh ®éng ®¶m b¶o tÝnh tr×nh tù cña c¸c giao t¸c ®-îc gäi lµ ®iÒu khiÓn  
t-¬ng tranh.  
d.TÝnh biÖt lËp: Mét giao t¸c khi ®ang ®-îc thùc hiÖn(ch-a  
®-îc chuyÓn giao) th× c¸c giao t¸c kh¸c kh«ng thÓ sö dông c¸c kÕt qu¶ trung  
gian cña c¸c giao t¸c nµy. TÝnh chÊt nµy lµ cÇn thiÕt ®Ó tr¸nh vÊn ®Ò mÊt kÕt  
qu¶ cËp nhËt vµ vÊn ®Ò lo¹i bá d©y chuyÒn c¸c giao t¸c.  
VÝ dô vÒ vÊn®Ò mÊt kÕt qu¶ cËp nhËt: Gi¶ sö cã hai giao  
t¸c nh- sau:  
T1: Read(x)  
x x+1  
Write(x)  
T2: Read(x)  
x x+1  
Write(x)  
Commit  
Commit  
DÉy thùc hiÖn c¸c thao t¸c nµy cã thÓ nh- sau:  
T1: Read(x)  
T1: x x+1  
T1: Write(x)  
T1: Commit  
T2: Read(x)  
T2: x x+1  
T2: Write(x)  
T2: Commit  
Víi gi¸ trÞ cña x ban ®Çu lµ 20 T2 ®äc gi¸ trÞ 21 vµ kÕt  
qu¶ cuèi cïng (nÕu c¶ hai gia t¸c chuyÓn giao thµnh c«ng) lµ 22.  
HoÆc:  
T1: Read(x)  
T1: x x+1  
T2: Read(x)  
T1: Write(x)  
T2: x x+1  
T2: Write(x)  
T1: Commit  
T2: Commit  
Còng víi gi¸ trÞ x ban ®Çu lµ 20 T2 ®äc gi¸ trÞ kh«ng  
chÝnh x¸c lµ 20 vµ kÕt qu¶ cuèi cïng (nÕu c¶ hai giao t¸c chuyÓn giao thµnh  
c«ng) lµ 21 (§iÒu nµy ®ång nghÜa víi viÖc kÕt qu¶ cËp nhËt cña T1 bÞ mÊt.).  
TÝnh ®éc lËp tuú theo møc nhÊt qu¸n:  
Møc 0: Giao t¸c chuyÓn giao tr-íc khi tÊt c¶ c¸c  
viÖc ghi chuyÓn giao do ®ã nÕu xÈy ra lçi th× ®ßi hái ph¶i cËp nhËt l¹i.  
16  
Møc 2: Tr¸nh lo¹i bá d©y truyÒn.  
Møc 3: Cung cÊp ®Çy ®ñ tÝnh biÖt lËp cho phÐp c¸c  
giao t¸c xung ®ét ®îi ®Õn khi mét giao t¸c trong sè chóng kÕt thóc.  
e.TÝnh bÒn v÷ng: Mçi khi giao t¸c ®-îc chuyÓn giao (®-îc  
thùc hiÖn hoµn toµn) th× hÖ thèng ph¶i ®¶m b¶o ch¾c ch¾n kÕt qu¶ sÏ kh«ng  
bÞ ¶nh h-ëng bëi c¸c lçi ®Õn sau.  
3/C¸c lo¹i giao t¸c: Theo mét sè chuÈn  
-Vïng øng dông:  
Giao t¸c th«ng th-êng (regular): cËp nhËt d÷ liÖu trªn  
mét vÞ trÝ.  
Giao t¸c ph©n t¸n: thao t¸c trªn d÷ liÖu ph©n t¸n.  
Giao t¸c compensating:  
Giao t¸c kh«ng thuÇn nhÊt: trong m«i tr-êng kh«ng  
thuÇn nhÊt.  
-Kho¶ng thêi gian lµm viÖc:  
Giao t¸c trùc tuyÕn (on-line): thêi gian tr¶ lêi lµ rÊt ng¾n.  
Giao t¸c gãi (batch): thêi gian tr¶ lêi dµi (hµng phót,  
hµng ngµy).  
Giao t¸c ®µm tho¹i: ®-îc thùc hiÖn b»ng viÖc t¸c ®äng  
qua l¹i víi ng-êi sö dông.  
-CÊu tróc:  
Giao t¸c ®¬n gi¶n: cã mét ®iÓm b¾t ®Çu, mét th©n giao  
t¸c, mét ®iÓm kÕt thóc (chuyÓn giao hoÆc huû bá).  
Giao t¸c lång nhau:  
4/KiÕn tróc:  
Bé qu¶n lý giao t¸c (TM): Thùc hiÖn c¸c thao t¸c CSDL thay  
mÆt cho øng dông.  
Bé lËp lÞch (Scheduler_SC): Lµ tr¸ch nhiÖm cho viÖc thùc  
hiÖn mét thuËt to¸n ®iÒu khiÓn t-¬ng tranh cho ®ång bé c¸c truy nhËp vµo  
CSDL.  
Tham dù viÖc qu¶n lý giao t¸c lµ hÖ qu¶n lý phôc håi giao t¸c  
®Þa ph-¬ng trªn mçi vÞ trÝ.  
5 lÖnh cña mét giao t¸c:  
Begin_Transaction, Read, Write, Commit, Abort.  
17  
Begin_transaction,  
Read, Write,  
Commit, Abort  
C¸c kÕt qu¶  
Bé gi¸m s¸t thùc  
hiÖn ph©n t¸n  
C¸c SC kh¸c  
Bé qu¶n lý  
giao t¸c (TM)  
C¸c bé xö lý d÷  
liÖu kh¸c  
C¸c yªu cÇu  
lËp lÞch/huû lÞch  
C¸c TM kh¸c  
Bé lËp lÞch (SC)  
Tíi c¸c bé xö lý d÷ liÖu  
M« h×nh chi tiÕt bé gi¸m s¸t thùc hiÖn ph©n t¸n  
IV/§iÒu khiÓn t-¬ng tranh ph©n t¸n:  
§iÒu khiÓn t-¬ng tranh giao thiÖp víi tÝnh ®éc lËp vµ nhÊt qu¸n  
cña giao t¸c. §iÒu khiÓn t-¬ng tranh ®¶m b¶o tÝnh nhÊt qu¸n. C¸c thuËt to¸n  
®iÒu khiÓn t-¬ng tranh chia lµm hai lo¹i: Pessimistic vµ Optimistic.  
1/Nguyªn t¾c ph©n lo¹i c¸c c¬ chÕ ®iÒu khiÓn t-¬ng tranh:  
Optimistic: Sè giao t¸c xung ®ét kh«ng nhiÒu l¾m. TrÔ viÖc  
®ång bé c¸c giao t¸c ®Õn khi kÕt thóc chóng.  
Pessimistic: SÏ cã nhiÒu giao t¸c xung ®ét. §ång bé viÖc thùc  
hiÖn c¸c giao t¸c t-¬ng tranh sím trong chu kú sèng viÖc thùc hiÖn chóng.  
Dùa vµo kho¸ (Lock based): ViÖc ®ång bé c¸c giao t¸c  
®¹t ®-îc b»ng c¸ch kho¸ logic hay vËt lý trªn phÇn hoÆc h¹t nhá cña CSDL.  
KÝch th-íc cña c¸c phÇn nµy lµ mét vÊn ®Ò quan träng. Tuy nhiªn, trong c¸c  
bµn luËn tiÕp sau chóng ta sÏ bá qua ®iÒu nµy vµ coi h¹t chän lµ mét ®¬n vÞ  
kho¸ (lock unit). Líp nµy chia nhá theo viÖc qu¶n lý kho¸:  
Kho¸ tËp trung: Mét vÞ trÝ trªn m¹ng ®-îc thiÕt kÕ  
nh- vÞ trÝ chÝnh n¬i c¸c b¶ng kho¸ cho toµn bé CSDL ®-îc cÊt gi÷ vµ g¸nh  
v¸c nhiÖm vô ph©n phèi c¸c kho¸ cho c¸c giao t¸c.  
Kho¸ b¶n sao chÝnh: Mét b¶n sao trong c¸c b¶n sao  
(nÕu cã nhiÒu b¶n sao) cña mçi ®¬n vÞ kho¸ sÏ ®-îc thiÕt kÕ nh- b¶n sao  
chÝnh, vµ nã gi÷ kho¸ cho c¸c ý ®Þnh truy nhËp vµo phÇn nµy (muèn truy  
nhËp vµo bÊt kú b¶n sao nao cña ®¬n vÞ kho¸ nµy ph¶i giµnh ®-îc kho¸ cña  
b¶n sao chÝnh). NÕu CSDL lµ kh«ng sao b¶n (chØ cã duy nhÊt mét b¶n cho  
18  
mçi ®¬n vÞ kho¸), c¸c c¬ chÕ kho¸ b¶n sao chÝnh ph©n t¸n tr¸ch nhiÖm qu¶n  
lý kho¸ gi÷a mét sè vÞ trÝ.  
Kho¸ kh«ng tËp trung: NhiÖm vô kho¸ ®-îc chia sÎ  
cho toµn bé c¸c vÞ trÝ cña mét m¹ng. Trong tr-êng hîp nµy, viÖc thùc hiÖn  
mét giao t¸c bao gåm viÖc tham dù vµ cïng phèi hîp cña c¸c bé lËp lÞch t¹i  
nhiÒu h¬n mét vÞ trÝ. Mçi mét bé lËp lÞch ®Þa ph-¬ng cã tr¸ch nhiÖm cho c¸c  
®¬n vÞ kho¸ côc bé t¹i vÞ trÝ ®ã. (Mét truy nhËp vµo CSDL ph¶i dµnh ®-îc  
kho¸ trªn toµn bé c¸c vÞ trÝ trong tr-êng hîp sao b¶n.).  
Thø tù nh·n thêi gian (TO): Bao gåm viÖc tæ chøc thø tù  
thùc hiÖn c¸c giao t¸c ®¶m b¶o tÝnh nhÊt qu¸n t¸c ®éng qua l¹i lÉn nhau. Thø  
tù nµy ®-îc duy tr× bëi viÖc ph©n chia c¸c nh·n thêi gian cho c¶ c¸c giao t¸c  
vµ c¸c môc d÷ liÖu ®-îc l-u tr÷ trong CSDL. C¸c thuËt to¸n nµy cã thÓ lµ:  
Basic TO, multiversion TO, conservative TO.  
C¸c thuËt to¸n ®iÒu  
khiÓn t-¬ng tranh  
Pessimistic  
Optimistic  
Kho¸  
Kho¸  
Thø tù nh·n thêi gian Lai (Hybrid)  
TËp trung  
C¬ b¶n  
Thø tù nh·n  
thêi gian  
B¶n sao chÝnh  
Multiversion  
(Primary Copy)  
B¶o thñ  
Conservative  
Ph©n t¸n  
H×nh 2.III.2 Sù ph©n líp c¸c ®iÒu thuËt to¸nkhiÓn t-¬ng tranh  
2/Kho¸ hai pha (Two-phase locking):  
Pha më réng: Giai ®o¹n giao t¸c dµnh kho¸ vµ truy nhËp  
c¸c môc d÷ liÖu.  
Pha thu hÑp: Giai ®o¹n gi¶i phãng kho¸.  
LuËt:  
Mét giao t¸c kh«ng ®ßi mét kho¸ khi ®· gi¶i phãng  
mét kho¸.  
Mét giao t¸c kh«ng gi¶i phãng mét kho¸ khi nã  
ch-a ch¾n lµ kh«ng ®ßi kho¸ nµo n÷a.  
19  
Sè kho¸  
Giµnh kho¸  
Gi¶i phãng kho¸  
Begin  
Lock point  
End  
Kho¶ng thêi gian  
§å thÞ kho¸ hai pha  
Khã kh¨n:  
X¸c ®Þnh thêi ®iÓm gi÷a hai pha.  
Cã thÓ dÉn ®Õn lo¹i bá d©y truyÒn khi mét giao t¸c  
ph¶i lo¹i bá v× sö dông dò liÖu kho¸ sau khi giao t¸c nµy gi¶i phãng vµ bÞ  
lo¹i bá.  
Kho¸ hai pha nghiªm ngÆt: ChØ gi¶i phãng kho¸ khi giao t¸c  
kÕt thóc.  
Sè kho¸  
Begin  
Giµnh kho¸  
Gi¶i phãng kho¸  
Gian ®o¹n End  
sö dông  
Kho¶ng thêi gian  
giao t¸c tån t¹i  
môc d÷ liÖu  
§å thÞ kho¸ hai pha nghiªmngÆt  
a.Kho¸ hai pha tËp trung:  
Mét vÞ trÝ cã tr¸ch nhiÖm qu¶n lý kho¸ uû quyÒn. C¸ch  
tiÕp cËn nµy còng cã thÓ hiÓu nh- thuËt to¸n Primary 2PL.  
ChØ mét vÞ trÝ cã hÖ qu¶n lý kho¸, c¸c hÖ qu¶n lý giao t¸c  
t¹i c¸c vÞ trÝ kh¸c giao tiÕp víi nã.  
20  
Tải về để xem bản đầy đủ
doc 124 trang baolam 09/05/2022 3980
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu phân tán", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docbai_giang_co_so_du_lieu_phan_tan.doc