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 tù 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
tõ 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ã thÓ ®-î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
MøchiÓu
biÕt
D÷liÖu+
Ch-¬ngtr×nh
ChiaxÎ
§Çy®ñ
H×nh2.I.1TæchøccñaHÖCSDLph©nt¸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 sè 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 đủ
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:
- bai_giang_co_so_du_lieu_phan_tan.doc