Tải bản đầy đủ (.pdf) (155 trang)

Bài giảng cơ sở dữ liệu phân tán học viện bưu chính viễn thông

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.5 MB, 155 trang )




HC VIN CÔNG NGH BU CHÍNH VIN THÔNG






C S D LIU PHÂN TÁN

(Dùng cho sinh viên h đào to đi hc t xa)
Lu hành ni b









HÀ NI - 2009




HC VIN CÔNG NGH BU CHÍNH VIN THÔNG








C S D LIU PHÂN TÁN

Biên son : TS. PHM TH QU


LI NÓI U

Tài liu “C s d liu phân tán” là sách hng dn hc tp dùng cho sinh viên h đào
to t xa ngành công ngh thông tin và ngành k thut đin t, vin thông. Ni dung ca tài
liu bao gm:
- Chng I gii thiu khái nim c bn v c s d liu phân tán, x lý phân tán vàh
thng x lý phân tán. S cn thit ca h c s d liu phân tán và các đc đim ca c s d
liu phân tán. Cu trúc logic ca c s d liu phân tán và các li íchphân tán d liu trên
mng.
- Chng II gii thiu tng quát v h qun tr c s d liu phân tán.u đim cách tip
cn mô hình c s d liu quan h và hqun tr c s d liu quan h. Vn đ quy tc toàn
vn d liu. Mô hình kin trúc h qun tr c s d liu phân tán và kin trúc tng quan ca
mt h qun tr phc h CSDL phân tán
- Chng III trình bày nhng vn đ thit k c s d liu phân tán,là các vn đ phân
mnh d liu. S cn thit phi phân mnh, các kiu phân mnh, mc đ phân mnh, các quy
tc phân mnh và bài toán cp phát d liu. Ni dung ca chng trình bày tng quát k thut
phân mnh ngang c s và phân mnh ngang dn xut. Thông tin cn thit ca phân mnh
ngang. Phng pháp phân mnh dc, thông tin cn thit ca phân mnh dc và các thut toán
t nhóm và phân mnh. Có nhiu bài toán cn thit phi s dng lai ghép phân mnh ngang
và phân mnh dc. Bài toán cp phát d liu, thông tin cn thit cho bài toán cp phát và mô

hình cp phát.
- Chng IV gii thiu kim soát d liu ng ngha, là quá trình kim soát khung nhìn
trong các h qun trc s d liu tp trung và khung nhìn trong các h qun tr c s d liu
phân tán. Ni dung kim soát d liu ng ngha cng bao hàm vn đ an toàn d liu. Kim
soát cp quyn tp trung và kim soát cp quyn phân tán.Kim soát toàn vn ng ngha tp
trung và kim soát toàn vn ng ngha phân tán.
- Chng V đ cp đn các vn đ x lý truy vn trong các h c s d liu phân tán.
Khái nim x lý truy vn,mc đích ca vic x lý truy vn và gii thiu các tng ca quá trình
x lý truy vn.
Tài liu”C s d liu phân tán” không ch đ cp đn nhng vn đ c s lý thuyt mà
còn trình bày mt s k nng cn thit đ thit k và cài đt các h c s d liu c th. Hy
vng s có ích cho sinh viên và nhng ngi mun xây dng các h thng tin hc ng dng.
Tài liu có th còn nhiu thiu sót trong biên son, tôi vn mnh dn gii thiu tài liu này và
mong nhn đc s góp ý ca bn đc.


Tác gi





2





3
CHNG 1: KHÁI NIM C BN V C S D LIU

PHÂN TÁN
Trong chng này trình bày nhng khái nim c bn v nguyên lý các h c s d liu phân
tán, bao gm các ni dung sau
• X lý d liu phân tán.
• H c s d liu phân tán là gì.
• Kh nng ca các h c s d liu phân tán.
• Các mô hình x lý d liu phân tán
• Tng quan v h qun tr c s d liu quan h.
1.1 M U
Nguyên lý các h c s d liu phân tán đc xây dng da trên s hp nht ca hai
hng tip cn đi vi quá trình x lý d liu, đó là lý thuyt các h c s d liu và công
ngh mng máy tính.
Mt trong nhng đng lc thúc đy s phát trin nhanh vic s dng các h CSDL là nhu
cu tích hp các loi d liu, cung cp đa dng các loi hình dch v và các dch v đa
phng tin cho ngi s dng. Mt khác, kt ni máy tính thành mng vi mc tiêu chia s
tài nguyên, khai thác có hiu qu các tài nguyên thông tin, nâng cao kh nng tích hp và trao
đi các loi d liu gia các thành phn trên mng.
Nhu cu thu thp, lu tr. x lý và trao đi thông tin bgày càng tng, các h thng x lý tp
trung đã bc l nhng nhc đim sau :
− Tng kh nng lu tr thông tin là khó khn, bi b gii hn ti đa ca thit b nh
−  sn sàng phc v ca CSDL không cao khi s ngi s dng tng
− Kh nng tính toán ca các máy tính đn l đang dn ti gii hn vt lý.
− Mô hình t chc lu tr, x lý d liu tp trung không phù hp cho nhng t chc
kinh t, xã hi có hot đng rng ln, đa quc gia
Nhng nhc đim này đã đc khc phc khá nhiu trong h thng phân tán. Nhng sn
phm ca các h thng phân tán đã xut hin nhiu trên th trng và tng bc chng minh
tính u vit ca nó hn hn các h thng tp trung truyn thng. Các h thng phân tán s
thay th dn các h thng tp trung.
1.2 X LÝ PHÂN TÁN VÀ H THNG X LÝ PHÂN TÁN
1.2.1 Khái nim x lý phân tán

Thut ng x lý phân tán có th là thut ng đc lm dng nhiu nht trong khoa hc
máy tính trong nhng nm va qua. Nó thng đc dùng đ ch nhng h thng gm nhiu





4
loi thit b khác nhau chng hn nh: h đa b x lý, x lý d liu phân tán, mng máy tính

Có hai khái nim x lý phân tán liên quan vi nhau.
− Khái nim liên quan đn vic tính toán trên Client/Server. Trong đó ng dng đc
chia ra thành hai phn, phn ca Server và phn ca Client và đc vn hành  hai
ni. Trong tính toán phân tán này cho phép truy nhp trc tip d liu và x lý d liu
trên Server và Client.
− Khái nim th hai là vic thc hin các tác v x lý phc tp trên nhiu h thng.
Không gian nh và b x lý ca nhiu máy cùng hot đng chia nhau tác v x lý.
Máy trung tâm s giám sát và qun lý các tin trình này. Có trng hp thông qua
Internet, hàng nghìn máy cùng x lý mt tác v.
Có th đnh ngha h x lý phân tán nh sau: H x lý phân tán là mt tp hp các phn t
x lý t tr (không nht thiêt đng nht) đc kt ni vi nhau bi mt mng máy tính và
cùng phi hp thc hin nhng công vic gán cho chúng. Phn t x lý  đây đ ch mt thit
b tính toán có kh nng thc hin chng trình trên nó.
1.2.2 H thng phân tán
H thng phân tán là tp hp các máy tính đc lp kt ni vi nhau thành mt mng máy
tính đc cài đt các h c s d liu và các phn mm h thng phân tán to kh nng cho
nhiu ngi s dng truy nhp chia s ngun thông tin chung. Các máy tính trong h thng
phân tán có kt ni phn cng lng lo, có ngha là không chia s b nh, ch có mt h điu
hành trong toàn b h thng phân tán
Các mng máy tính đc xây dng da trên k thut Web, ví d nh mng Internet, mng

Intranet… là các mng phân tán.
1.3 H C S D LIU PHÂN TÁN LÀ GÌ.
Công ngh các h c s d liu phát trin t mô hình x lý d liu, trong đó mi ng dng
đnh ngha mt hay nhiu tp d liu riêng ca nó (hình 1.1), sang mô hình đnh ngha và
qun lý d liu tp trung. Dn đn khái nim đc lp d liu, ngha là tính bt bin ca các h
ng dng đi vi s thay đi cu trúc lu tr và các chin lc truy nhp d liu.






Hình 1.1: X lý d liu truyn thng
ng dng 1



D

LIU

THA
TP TIN 1
TP TIN 2
TP TIN 3
ng dng 2
Mô t
 d liu
ng dng 3
Mô t

 d liu





5






Trong ng cnh h x lý phân tán thì h c s d liu phân tán có th đc xem nh nhng
công c làm cho quá trình x lý d liu phân tán d dàng hn và hiu qu hn. Khái nim h
c s d liu phân tán  đây bao gm c khái nim c s d liu phân tán và h qun tr c s
d liu phân tán.
C s d liu phân tán là mt tp các c s d liu có quan h vi nhau v mt logic và
đc phân b trên mt mng máy tính. H qun tr c s d liu phân tán là h thng phn
mm cho phép qun tr c s d liu phân tán và làm cho s phân tán đó là trong sut đi vi
ngi s dng.
Trong mô hình c s d liu phân tán bn thân c s d liu có  trên nhiu máy tính khác
nhau. Nh vy, đc trng ca c s d liu phân tán là các CSDL đc phân b trên mng
máy tính và có quan h vi nhau v mt logic.
H CSDL phân tán không đn thun bao gm nhiu file d liu đc t chc lu tr riêng
l trên các thit b nh ca mng máy tính.  to mt h CSDL phân tán, các file không ch
có quan h vi nhau v mt logic mà còn cn có mt cu trúc giao din chung gia chúng đ
các file có th truy nhp ln nhau.
Có rt nhiu ng dng yêu cu các h qun tr CSDL thao tác trên d liu bán cu trúc
hoc không cu trúc, nh các file Web trên mng Internet.

1.4 S CN THIT CA H C S D LIU PHÂN TÁN
Trong nhng nm gn đây, công ngh c s d liu phân tán đã tr thành mt lnh vc
quan trng ca công ngh thông tin, tính cn thit ca nó ngày càng đc nâng cao. Có nhiu
nguyên nhân thúc đy s phát trin ca các h CSDLPT:
1.4.1 S phát trin ca các c cu t chc
Cùng vi s phát trin cu xã hi, nhiu c quan, xí nghip có c cu t chc không tp
trung, hot đng phân tán trên phm vi rng. Vì vy thit k và cài đt c s d liu phân tán
là phù hp, đáp ng mi nhu cu truy xut và khai thác d liu Cùng vi s phát trin ca
công ngh vin thông, tin hc, đng c thúc đy kinh t, vic t chc các trung tâm máy tính
ln và tp trung tr thành vn đ cn nghiên cu.
C cu t chc và vn đ kinh t là mt trong nhng nguyên nhân quan trng nht ca s
phát trin c s d liu phân tán.
n
g
dn
g
1
ng dng
3
ng dng
3
Mô t d liu
Thao tác d liu

C S

D LIU
Hình 1.2: X lý c s d liu






6
1.4.2 Gim chi phí truyn thông
Trong thc t, s dng mt s ng dng mang tính đa phng s làm gim chi phí truyn
thông. Bi vy, vic ti u hoá tính đa phng ca các ng dng là mt trong nhng mc
tiêu chính ca vic thit k và cài đt mt CSDLPT.
1.4.3 Hiu qu công vic
S tn ti mt s h thng x lý đi phng đt đc thông quan vic x lý song song.
Vn đ này có th thích hp vi mi h đa x lý. CSDLPT có thun li trong phân tích d
liu phn ánh điu kin ph thuc ca các ng dng, cc đi hoá tính đa phng ca ng
dng. Theo cách này tác đng qua li gia các b x lý đc làm cc tiu. Công vic đc
phân chia gia các b x lý khác nhau và tránh đc các tc nghn thông tin trên mng truyn
thông hoc các dch v chung ca toàn h thng. S phân tán d liu phn ánh hiu qu làm
tng tính đa phng ca các ng dng.
1.4.4  tin cy và tính sn sàng
Cách tip cn CSDLPT, cho phép truy nhp đ tin cy và tính sn sàng cao hn. Tuy
nhiên, đ đt đc mc đích đó là vn đ không đn gin đòi hi k thut phc tp. Nhng li
xut hin trong mt CSDLPT có th xy ra nhiu hn vì s các thành phn cu thành ln hn,
nhng nh hng ca li ch nh hng ti các ng dng s dng các site li. S hng hóc
ca toàn h thng him khi xy ra.
CSDLPT là s tp hp các d liu thuc cùng mt h thng v mt logic nhng phân b
trên các site ca mng máy tính. Công ngh CSDLPT là s kt hp gia hai vn đ phân tán
và hp nht:
• Phân tán : phân tán d liu trên các site ca mng
• Hp nht : hp nht v mt logic các d liu phân tán sao cho chúng xut hin vi
ngi s dng ging nh vi CSDL đn l duy nht.
Công ngh CSDL phân tán mi thc s phát trin trong nhng nm gn đây nh s phát
trin ca k thut tính toán, k thut truyn thông và mng máy tính. Nhng ng dng đc

xây dng trên CSDL phân tán đã xut hin nhiu trên th trng và tng bc chng minh
tính u vit ca nó so vi CSDL tp trung.
1.5 CÁC C IM CA C S D LIU PHÂN TÁN
C s d liu phn tán không đn gin là s phân b ca các c s d liu, bi vì c s d
liu phân tán có nhiu đc đim khác bit so vi c s d liu tp trung truyn thng. Phn
này so sánh c s d liu phân tán vi c s d liu tp trung  mt s đc đim: điu khin
tp trung, s đc lp d liu, s gim d tha d liu, các cu trúc vt lý phc tp đ truy xut
hiu qu.
1.5.1 iu khin tp trung
iu khin tp trung (Centralized Control) là mt đc đim ca c s d liu tp trung,
toàn b d liu đc tp trung li nhm đ tránh s d tha d liu, đm bo đc tính đc





7
lp ca d liu. D liu đc qun lý tp trung bi ngi qun tr c s d liu. Chc nng
c bn ca ngi qun tr c s d liu (DBA - Database Administrator) là bo đm s an
toàn ca d liu. Trong các c s d liu phân tán vn đ điu khin tp trung không đc
nhn mnh. Nói chung, trong các c s d liu phân tán , s điu khin đc thc hin theo
mt cu trúc điu khin phân cp bao gm hai loi ngi qun tr c s d liu:
• Ngi qun tr c s d liu toàn cc (Global Database Administrator) là ngi có
trách nhim chính v toàn b c s d liu phân tán
• Ngi qun tr c s d liu cc b (Local Database Administrator) là ngi có
trách nhim v c s d liu cc b ca h.
Tuy nhiên, nhng ngi qun tr c s d liu cc b cn phi có nhng quyn đc lp
riêng v c s d liu cc b ca mình mà ngi qun tr c s d liu toàn cc hoàn toàn
không có nhng quyn này và s phi hp gia các v trí đc thc hin bi chính nhng
ngi qun tr cc b. c đim này đc gi là s đc lp v trí. Các c s d liu phân tán

có th khác nhau rt nhiu v mc đ đc lp v trí. T s đc lp v trí hoàn toàn (không có
ngi qun tr c s d liu tp trung) đn s điu khin tp trung hoàn toàn.
1.5.2 c lp d liu
c lp d liu (Data Independence) là mt đc đim ca c s d liu. c lp d liu có
ngha là t chc lu tr d liu là trong sut đi vi ngi lp trình ng dng. u đim ca
đc lp d liu là các chng trình không b nh hng bi nhng thay đi v t chc lu tr
vt lý ca d liu.
Trong các h c s d liu phân tán, đc lp d liu cng quan trng nh trong các c s
d liu tp trung. Tuy nhiên, mt đc đim mi đc đa vào trong khái nim thông thng
ca đc lp d liu là s trong sut phân tán (Distribution Transparency). Nh s trong sut
phân tán mà các chng trình ng dng có th đc vit ging nh trong c s d liu không
đc phân tán. Vì vy, tính đúng đn ca các chng trình ng dng không b nh hng bi
s di chuyn d liu t mt v trí này đn mt v trí khác. Tuy nhiên, tc đ thc hin ca các
chng trình ng dng thì b nh hng.
c lp d liu trong c s d liu tp trung đc th hin thông qua mt kin trúc nhiu
mc, các mc này có nhng mô t khác nhau v d liu và nhng ánh x bin đi gia các
mc. S trong sut phân tán trong c s d liu phân tán đc thê hin bng cách b sung
thêm các mc trong sut vào kin trúc nhiu mc ca c s d liu tp trung.
1.5.3 Gim d tha d liu
Trong các c s d liu tp trung, s d tha d liu đc gim thiu, vì tránh s không
nht quán gia nhiu bn sao bng cách ch có mt bn sao và tit kim vùng nh lu tr. Các
ng dng chia s chung, truy xut đn các tp tin d liu.
Tuy nhiên, trong các c s d liu phân tán, s d tha d liu là mt đc đim cn thit,
vì các lý do sau:





8

• Làm tng tính cc b ca các ng dng nu d liu đc nhân bn ti tt c các v
trí mà ng dng cn d liu này. Khi đó, các ng dng cc b đc thc hin
nhanh hn vì không cn phi truy xut d liu t xa.
• Làm tng tính sn sàng ca h thng ng dng, vì mt v trí có s c s không làm
ngng s thc hin ca các ng dng  nhng v trí khác nu d liu ti v trí b
hng đc nhân bn ti các v trí khác.
Tuy nhiên, s nhân bn d liu cn phi xem xét k lng da vào hai loi ng dng c
bn, đó là ng dng ch đc và ng dng cp nht. S nhân bn d liu giúp cho các ng
dng ch đc đc thc hin nhanh hn, nhng nó làm cho các ng dng cp b thc hin lâu
hn vì phi cp nht d liu ti các v trí đc nhân bn.
Nh vy, s nhân bn d liu s là mt u đim nu h thng có rt nhiu ng dng ch
đc và có rt ít ng dng cp nht. Trong trng hp ngc li thì s nhân bn d liu li là
mt nhc đim.
1.5.4  tin cy qua các giao dch phân tán
H qun tr CSDL phân tán ci thin đ tin cy qua các giao dch phân tán, vì các thành
phn đc nhân bn hn ch đc các v trí li riêng l. Li ca trm riêng, hoc li ca
truyn thông làm cho mt hoc nhiu trm mt liên lc, không đ đ phá v toàn b h thng.
Trong trng hp CSDL phân tán, điu này ngha là mt s d liu không th truy nhp đc,
nhng nu bit cách h tr cho các giao dch phân tán và các giao thc ng dng, thì ngi s
dng vn có th truy nhp đc ti phn khác trong CSDL phân tán.
Giao dch là mt đn v tính toán c bn, nht quán và tin cy, bao gm mt chui các thao
tác CSDL đc thc hin chuyn t trng thái CSDL nht quán này sang trng thái CSDL
nht quán khác ngay c khi có mt s giao dch đc thc hin đng thi và thm chí c khi
xy ra li. Vì vy, h qun tr CSDL phi h tr đy đ cho giao dch đm bo rng vic thc
thi đng thi các giao dch ca ngi s dng s không vi phm tính nht quán ca CSDL
trong khi h thng có li, vi điu kin là giao dch đc thc hin chính xác, ngha là tuân
theo các qui tc toàn vn ca CSDL.
1.5.5 Ci tin hiu nng
Hiu nng ca CSDL phân tán đc ci tin da vào hai đim:
a) H qun tr CSDL phân tán có kh nng phân mnh CSDL khái nim và cho phép cc b

hoá d liu. Có hai u đim ni bt:
• Vì mi trm ch x lý mt phn CSDL, s tranh chp v CPU và các dch v vào/ra
không nghiêm trng nh trong các h CSDL tp trung.
• Tính cc b làm gim tr truy nhp t xa thng gp trên các mng din rng.
Hu ht các h CSDL phân tán đc cu trúc nhm tn dng ti đa nhng u đim ca tính
cc b d liu. Li ích đy đ ca vic gim tranh chp và gim chi phí truyn ch có th có
đc bng cách phân mnh và phân tán d liu hp lý.





9
b) Tính song song ca các h thng phân tán có th đc khai thác đ thc hin song song
liên truy vn và truy vn ni b. Liên truy vn song song là kh nng thc hin nhiu truy vn
ti cùng thi đim, còn ni truy vn song song là phng pháp tách mt truy vn đn thành
các truy vn con và mi truy vn con đc thc hin ti các trm khác nhau, truy nhp các
phn khác nhau ca CSDL phân tán.
1.5.6 D dàng m rng h thng
Trong môi trng phân tán, d dàng tng kích thc d liu. và him khi cn sa đi trong
các h thng ln. Vic m rng thng có th đc thc hin bng cách tng kh nng lu tr
và x lý ca mng. Rõ ràng là không th có đc s gia tng “kh nng” mt cách tuyn tính,
vì điu này ph thuc vào chi phí phân tán. Tuy nhiên, vn có th có nhng ci tin có ý
ngha. Kh nng m rng h thng d dàng mang tính kinh t, chi phí gim.
1.6 CÁC MÔ HÌNH C S D LIU CLIENT/SERVER
Nhìn chung mi ng dng c s d liu bao gm các phn:
• Thành phn x lý ng dng (Application Processing Components)
• Thành phn phn mm c s d liu (Database Software Componets)
• Bn thân c s d liu (The Database Ifself)
Có 5 mô hình kin trúc vt lý v truy nhp d liu

• Mô hình c s d liu tp trung (Centralized database model)
• Mô hình c s d liu theo kiu file - server (File - server database model)
• Mô hình x lý tng phn c s d liu (Database extract processing model)
• Mô hình c s d liu Client/Server (Client/Server database model)
• Mô hình c s d liu phân tán (Distributed database model)
1.6.1 Mô hình c s d liu tp trung:
Trong mô hình này, các ng dng, h qun tr c s d liu và c s d liu đc cài đt
trên cùng mt b x lý. Ví d trên máy tính cá nhân có th chy các chng trình ng dng
có s dng phn mm c s d liu Oracle đ truy nhp ti c s d liu trên đa cng ca
máy tính cá nhân đó.
Mô hình x lý tp trung phù hp vi hu ht công vic ca nhiu t chc, doanh
nghip Ví d mt b x lý mainframe chy phn mm c s d liu IMS hoc DB2 ca IBM
có th cung cp cho các trm làm vic  các v trí phân tán truy nhp nhanh chóng ti c s
d liu trung tâm. Tuy nhiên trong rt nhiu h thng, c 3 thành phn ca ng dng c s d
liu đu thc hin trên cùng mt máy mainframe do vy cu hình này cng thích hp vi mô
hình tp trung
1.6.2 Mô hình c s d liu theo kiu File Server:
Trong mô hình c s d liu theo kiu File Server, các thành phn ng dng và phn mm
c s d liu  trên mt h thng máy tính và các File d liu vt lý c s d liu cài đt trên
h thng máy tính khác. Mt cu hình nh vy thng đc dùng trong môi trng cc b,





10
trong đó mt hoc nhiu h thng máy tính đóng vai trò ca Server lu tr các file d liu.
Mô hình File Server ging vi mô hình tp trung, c s d liu và các thành phn ng dng,
phn mm c s d liu cài đt trên các máy tính khác nhau. Tuy nhiên các thành phn ng
dng và phn mm c s d liu có th có cùng thit k đ vn hành mt môi trng tp

trung. H điu hành mng có th thc hin c ch đng thi cho phép nhiu ngi s dng
cui có th truy nhp vào cùng c s d liu.
1.6.3 Mô hình x lý tng phn c s d liu
Mô hình trong đó mt c s d liu  xa có th đc truy nhp bi phn mm c s d
liu, đc gi là x lý d liu tng phn. Vi mô hình này, ngi s dng có th ti mt máy
tính cá nhân kt ni truy nhp, khai thác c s d liu  xa. Vi cách tip cn này, ngi s
dng phi bit chc chn là d liu nm  đâu và làm nh th nào đ truy nhp d liu. Phn
mm ng dng cn phi có trên c hai h thng máy tính đ kim soát s truy nhp d liu và
chuyn d liu gia hai h thng. Tuy nhiên, phn mm c s d liu chy trên hai h thng
không cn bit rng vic x lý c s d liu t xa đang din ra vì ngi s dng tác đng ti
chúng mt cách đc lp.
1.6.4 Mô hình c s d liu Client/Server
Trong mô hình c s d liu Client/Server, c s d liu đc cài đt trên Server, các ng
dng trên các máy Client và phn mm c s d liu đc cài đt trên c Client ln Server.
Trong mô hình này, các thành phn x lý ng dng trên h thng Client đa ra yêu cu cho
phn mm c s d liu trên máy client, phn mm này s kt ni vi phn mm c s d liu
chy trên Server. Phn mm c s d liu trên Server s truy nhp vào c s d liu x lý
theo yêu cu và gi tr kt qu cho máy Client.
Mi nhìn, mô hình c s d liu Client/Server có v ging nh mô hình File Server, tuy
nhiên mô hình Client/Server có rt nhiu thun li hn mô hình File Server. Vi mô hình
File Server, mt giao tác cn truy nhp d liu nhiu ln có th gây ra tc nghn lu lng
truyn trên mng. Gi s ngi s dng to ra mt vn tin đ ly d liu tng s t 1000 bn
ghi, vi cách tip cn File Server, ni dung ca 1000 bn ghi phi đc lu chuyn trên
mng, vì phn mm c s d liu chy trên máy ca ngi s dng phi truy nhp tng bn
ghi đ tho mãn yêu cu ca ngi s dng. Vi cách tip cn c s d liu Client/Server, ch
có li vn tin khi đng ban đu và kt qu cui cùng cn đa lên mng, phn mm c s d
liu chy trên máy lu gi c s d liu s truy nhp các bn ghi cn thit, x lý chúng và gi
các th tc cn thit đ đa ra kt qu cui cùng.
Trong mô hình c s d liu Client/Server, thng nói đn các phn mm Front End
Software và Back End Software. Front End Software đc chy trên thit b truy nhp đu

cui hoc trên các Workstation, nhm đáp ng các yêu cu x lý đn l riêng bit. Nó đóng
vai trò ca Client trong ng dng c s d liu Client/Server và thc hin các chc nng
hng ti nhu cu ca ngi s dng. Front End Software chia thành các loi sau:
• End User Database Software: Phn mm c s d liu này có th đc ngi s dng
thc hin trên thit b đu cui, truy nhp vào các c s d liu cc b, kt ni vi các
c s d liu trên Server.





11
• Simple Query and Reporting Software là phn mm đc thit k đ cung cp các
công c x lý d liu t c s d liu và to các báo cáo đn gin t d liu đã có.
• Data Analysis Software cung cp các hàm v tìm kim, khôi phc và cung cp các
phân tích phc tp cho ngi s dng.
• Application Development Tools là phn mm cung cp các kh nng phát trin các
ng dng c s d liu Bao gm các công c v thông dch, biên dch đn đn các
công c CASE (Computer Aided Software Engineering). Chúng t đng tt c các
bc trong quá trình phát trin ng dng và sinh ra chng trình cho các ng dng.
• Database Administration Tools: Các công c cho phép ngi qun tr c s d liu
thc hin vic qun tr c s d liu nh đnh ngha, lu tr hay phc hi. CSDL
Back End Software đc cài đt trên Server c s d liu,. bao gm phn mm c s d
liu Client/Server và phn mm mng











1.6.5 Distributed database model (Mô hình c s d liu phân tán)
C hai mô hình File Server và Client/Server đu gi đnh là d liu nm trên mt b x lý
và chng trình ng dng truy nhp d liu nm trên mt b x lý khác, còn mô hình c s
d liu phân tán li gi đnh bn thân c s d liu có  trên nhiu máy khác nhau.
1.7 MÔ HÌNH THAM CHIU C S D LIU PHÂN TÁN
Mô hình kin trúc c s d liu phân tán ti các site gm lc đ tng th, lc đ phân
mnh và lc đ cp phát.
1.7.1 Lc đ toàn cc
Lc đ toàn cc đnh ngha tt c d liu đc cha trong c s d liu phân tán nh
trong c s d liu tp trung. Vì vy, lc đ toàn cc đc đnh ngha chính xác nh đnh
ngha lc đ c s d liu tp trung. Tuy nhiên, mô hình d liu lc đ toàn cc cn phi
tng thích vi vic đnh ngha các ánh x ti các mc ca c s d liu phân tán. Vì vy mô
Database
Tow er Syste m

Application

Hình 1.3 Mô hình Client-Server

Network


Application
Application






12
hình d liêu quan h s đc s dng.trong kin trúc mô hình tham chiu c s d liu phân
tán, đnh ngha mt tp các quan h toàn cc.














Hình 1.4: Mô hình tham chiu ca c s d liu phân tán
1.7.2 Lc đ phân mnh
Mi quan h toàn cc có th chia thành nhiu phn không chng lp lên nhau đc gi là
phân mnh. Ánh x gia các quan h toàn cc và phân mnh đc đnh ngha là lc đ phân
mnh. Ánh x này là mi quan h mt-nhiu. Ví d, nhiu phân mnh tng ng vi mt
quan h toàn cc, nhng ch mt quan h toàn cc tng ng vi mt phân mnh. Các phân
mnh đc ch ra bng tên ca quan h toàn cc vi mt ch s (ch s phân mnh), ví d, Ri
ch đn phân mnh th i trong quan h toàn cc R
Các kiu phân mnh d liu bao gm phân mnh ngang và phân mnh dc và mt kiu
phân mnh phc tp hn là s ht hp ca 2 loi trên. Trong tt c các kiu phân mnh, mt

phân mnh có th đc đnh ngha bng mt biu thc ngôn ng quan h cho các quan h
toàn cc nh là các toán hng và kt qu đu ra là các phân mnh.
1.7.3 Lc đ cp phát
Các phân mnh là nhng phn logic ca các quan h toàn cc đc cha  mt hay nhiu
site trong mng. Lc đ cp phát xác đnh các phân mnh đc cha  nhng site nào. Tt
c các phân mnh tng ng vi cùng mt quan h R và đc lu  dùng mt site j to thành
mt mô hình vt lý ca quan h toàn cc lên site j. Do đó, có mt ánh x mt-mt gia mt
Global
Schema
Fragmentation
Schema
Allocation
Schema
Local mapping
Schema 1
Local mapping
Schema 1
DBMS of site 1
DBMS of site 2
Local databese
At site 1
Local databese
At site 2





13
mô hình vt lý và mt cp là mt quan h toàn cc đc đnh danh và mt ch s site tng

ng vi mt mô hình vt lý. Ký hiu Rji tng ng vi mô hình vt lý mnh th i ca quan
h R trên site j.
Mt ví d ca quan h gia các kiu đi tng đc đnh ngha nh trên đc biu din
trong hình sau. Mt quan h toàn cc R chia thành 4 phân mnh R1, R2, R3, R4. Bn phân
mnh này đc cp phát d ti 3 site ca mng máy tính, vì th to nên ba mô hình vt lý R1
site 1, R2 site 2 và R3.site 3









Hình 1.5: Các phân mnh và mô hình vt lý cho mt quan h toàn cc

Có th đnh ngha mt bn sao ca mt phân mnh ti mt site cho trc và kí hiu bng
tên quan h toàn cc R và hai ch s. Ví d R32 đ ch bn sao ca phân mnh R2 đc cha
 site 3. Hai mô hình vt lý có th ging nhau, ví là bn sao ca nhau
Lc đ các site ph thuc: gm lc đ ánh x cc b, DBMS ca các site cc b, c s
d liu  site đó.
1.7.4 Lc đ ánh x cc b
Do ba mc đu các site đc lp, do đó chúng không ph thuc vào mô hình d liu ca
DBMS cc b.  mc thp hn, nó cn phi ánh x mô hình vt lý thành các đi tng đc
thao tác bi các DBMS cc b. Ánh x này đc gi là lc đ ánh x cc b và ph thuc
vào kiu ca DBMS cc b. Trong h thng không đng nht có các kiu khác nhau ca ánh
x cc b ti các site khác nhau. Yu t quan trong nht đ thit k kin trúc này là:
• Phân mnh và phân phát d liu
• Qun lí d tha d liu

• S đc lp ca các DBMS cc b





14
1.7.5 DBMS  các site cc b dc lp
Tính nng trong sut trong ánh x cc b cho phép xây dng mt h thng c s d liu
phân tán đng nht hoc không đng nht. Trong h thng đng nht, các lc đ đc lp ca
mt site đc đnh ngha s dng cùng mt mô hình nh DBMS cc b nhng trong h thng
không đng nht thì các lc đ ánh x cc b dùng đ phi hp các kiu khác nhau ca
DBMS…
1.8 CU TRÚC LOGIC CA C S D LIU PHÂN TÁN
Có 3 kiu thit k c s d liu phân tán trên mng máy tính.
a) Các bn sao: C s d liu đc sao chép thành nhiu bn và đc lu tr trên các
site phân tán khác nhau ca mng máy tính.
b) Phân mnh: C s d liu đc phân thành nhiu mnh nh theo k thut phân mnh
dc hoc phân mnh ngang, các mnh đc lu tr trên các site khác nhau.
c) Mô hình kt hp các bn sao và phân mnh. Trên mt s site cha cc bn sao, mt s
site khác cha các mnh
1.9 LI ÍCH PHÂN TÁN D LIU TRÊN MNG
1. Vic phân tán d liu to cho c s d liu có tính t tr đa phng. Ti mt site, d liu
đc chia s bi mt nhóm ngi s dng ti ni h làm vic và nh vy d liu đc
kim soát cc b, phù hp đi vi nhng t chc phân b tp trung. Cho phép thit lp và
bt buc sách lc đa phng đi vi vic s dng c s d liu.












2. Tính song song trong các h c s d liu phân tán có th nâng cao đc hiu qu truy
nhp. Tính cht này có th li dng đ x lý song song các câu hi. Có hai dng :
• Câu hi đng thi phát sinh ti các trm khác nhau.
Tow er Syste m

Database
Tow er Syste m

Middleware Server
Tow er Syste m

Application Server
Tow er Syste m


Network
Network
Hình 1.6 Mô hình Client-Server nhiu lp
Database
Serve
r
Application Server
Application


Application

Application





15
• Câu hi có th đc phân rã thành nhng câu hi thành phn đc thc hin song
song ti các trm khác nhau.
3. Trong t chc phân tán, tng tranh dch v, CPU, vào/ra ít hn so vi t chc tp trung.
 tr trong truy nhp t xa có th gim do vic thc hin đa phng hoá d liu mt
cách hp lý.
4.  tin cy và tính sn sàng đc nâng cao trong t chc phân tán, là mt trong nhng mc
tiêu c bn ca t chc d liu phân tán. Vic t chc lp d liu cng có th đm bo cho
vic truy nhp c s d liu không b nh hng khi có s c xy ra đi vi trm hoc
kênh truyn, không th làm sp đ c h thng.
5. T chc d liu phân tán kinh t hn so vi t chc tp trung. Giá cho mt h máy tính
nh r hn nhiu so vi giá ca mt máy tính ln khi trin khai cùng mt mc đích ng
dng. Giá chi phí truyn thông cng ít hn do vic đa phng hoá d liu.
6. Kh nng m rng h thng và phân chia tài nguyên. Vic m rng kh nng cho mt h
x lý phân tán là d dàng hn và cho phép thc hin tt hn.
1.10 H QUN TR C S D LIU QUAN H
1.10.1 Kin trúc tng quát
H qun tr c s d liu quan h DBMS là mt h thng phn mm h tr mô hình quan
h và ngôn ng quan h. DBMS khi thc hin các giao dch cn phi giao tip vi 2 thành
phn khác, đó là thành phn các h thng con truyn thông (Communication subsystem) và
h điu hành (Operating system). Các h thng con truyn thông cho phép DBMS giao tip

vi các h thng truyn thông khác thông qua các ng dng. H điu hành cung cp giao din
gia DBMS vi các tài nguyên ca máy. Kin trúc tng quát ca h qun tr c s d liu
quan h đc mô t trong hình 2.9 di đây.














ng dng 1 ng dng 2

ng dng n
H thng con truyn thông
H qn tr c s d liu
H điu hành
C s
d
 li

u
Hình 1.7: Kin trúc tng quát ca mô hình h qun tr c s d liu quan h






16
1.10.2 Chc nng ca h qun tr c s d liu quan h
Chc nng ca h qun tr c s d liu quan h đc phân thành nhiu tng. Bao gm
các tng giao din, điu khin, biên dch, thc thi, tng truy xut d liu và tng duy trì nht
quán d liu.
Tng giao din (Interface Layer): có chc nng qun lý giao din vi các các ng dng
nh giao din trong SQL và các ng dng CSDL thc hin trên các khung nhìn d liu.
Khung nhìn s mô t cách nhìn d liu ca các ng dng, là mt quan h o dn xut t quan
h c s bng cách áp dng các phép đi s quan h. Vic qun lý khung nhìn bao gm vic
biên dch câu vn tin ca ngi s dng thành d liu khái nim.

























Kim soát toàn vn d liu
Kim soát cp quyn
Phép tính quan h
Tng điu khin
Phân rã và ti u hoá vn tin
Qun lý hoch đnh truy xut
Phép tính quan h
Tng x lý vn tin
iu khin thc thi hoch đnh truy xut
Thc thi phép toán đi s
i s quan h
Tng thc thi
Qun lý vùng đm
Các phng pháp truy xut
Truy xut/cp nht
Tng truy xut d li
u
iu khin đng thi
Nht ký
Truy xut/cp nht
Tng duy trì nht quá
n

CSDL
Các ng dng
Giao din ngi s dng
Qun lý khung nhìn
Các ng dng
Tng giao din
Các kt qu
Hình 1.8: Các tng chc nng ca mt h qun tr c s d liu quan h





17
Tng điu khin (Control Layer): Có chc nng điu khin câu vn tin bng cách thêm
các v t toàn vn d liu và các v t cp quyn truy nhp. Toàn vn d liu và cp quyn
truy nhp đc t bng các phép tính quan h. Kt qu ca tng này là câu vn tin đc biu
din bng phép tính quan h.
Tng x lý vn tin (Query Proccessing layer): Có chc nng ánh x câu vn tin thành biu
thc đi s quan h - các chui thao tác đc ti u hoá. Tng này có liên quan đn hiu nng
CSDL. Phân rã câu vn tin thành mt cây đi s, gm các các phép toán đi s quan h. Kt
qu s đc lu trong mt hoch đnh truy xut. Kt xuúat ca tng này là câu vn tin đc
biu din bng đi s quan h.
Tng thc thi (Execution Layer): Chu trách nhim hng dn vic thc hin các hoch
đnh truy xut, bao gm các vic qun lý giao dch và đng b hoá các phép toán đi s quan
h. Biên dch các phép toán đi s quan h bng cách gi tng truy xut d liu qua các yêu
cu truy xut và cp nht.
Tng truy xut d liu (Data Access Layer): Tng này thc hin vic qun lý cu trúc d
liu cài đt các quan h. Qun lý các vùng đm bng cách lu tr tm các d liu thng
đc truy xut nhiu nht. S dng tng truy xut d liu làm gim thiu vic truy xut d

liu trên đa t.
Tng duy trì nht quán (Consistency Layer): Chc nng ca tng này là điu khin các
hot đng đng thi và ghi nht ký các yêu cu cp nht. Cho phép khôi phc li các giao
dch, h thng và thit b sau khi b s c.
1.11 TNG QUAN V H QUN TR C S D LIU PHÂN TÁN
(Database Distributed Managment System)
1.11.1 M đu
Mt cách trc quan, mt CSDL phân tán là mt b su tp các loi d liu có liên kt
logic vi nhau và đc phân b vt lý trên nhiu máy ch ca mng máy tính. Khái nim h
CSDLPT bao gm c khái nim CSDL và h qun tr CSDLPT.
nh ngha này nhn mnh hai khía cnh quan trng ca CSDLPT:
• Tính phân tán: thc t d liu không c trú trên cùng mt site, vì vy có th phân bit
mt CSDLPT vi c s d liu tp trung (CSDLTT).
• S tng quan logic: các loi d liu có mt s tính cht ràng buc ln nhau, nh vy
có th phân bit CSDLPT vi tp các CSDL đa phng hoc vi các tp lu tr trên
các site khác nhau.
H qun tr CSDL phân tán là h thng phn mm cho phép qun tr CSDL phân tán và
làm cho s phân tán đó là trong sut đi vi ngi s dng. Nói cách khác CSDL phân tán là
CSDL đc phân tán mt cách vt lý nhng đc thng nht t chc nh là mt CSDL duy
nht.
Nh vy s phân tán d liu là trong sut đi vi ngi s dng. Vic qun lý các d liu
phân tán đòi hi mi trm (site) cài đt các thành phn h thng sau:





18
• Thành phn qun tr CSDL (Database Management DM)
• Thành phn truyn d liu (Data Communication DC)

• T đin d liu (Data Dictionary DD): thông tin v s phân tán d liu trên mng
• Thành phn CSDLPT (Distributed Database DDB)
Các dch v ca h thng trên bao gm:
• Các ng dng truy nhp CSDL t xa .
• Cung cp các mc trong sut phân tán.
• H tr qun tr và điu khin CSDL, bao gm các b công c, thu thp thông tin t
các trình tin ích, cung cp cách nhìn tng quan v các file d liu trên mng.
• Kh nng m rng vi các h thng khác nhau
• Cung cp kh nng điu khin đng thi và phc hi các giao tác phân tán.














Các h QTCSDL phân tán thng h tr v điu khin tng tranh và khôi phc các tin
trình phân tán. Kh nng truy cp t xa có th thc hin đc bng 2 cách.
Cách th nht (hình 1.10a) trình ng dng yêu cu truy cp t xa. Yêu cu này đc đnh
tuyn t đng bi DDBMS ti máy ch cha d liu. c thc hin ti máy ch cha c s
d liu và gi li kt qu. v trm yêu cu. Cách tip cn này đc s dng cho truy cp t
xa, trong sut phân tán có th thc hin đc bng vic cung cp các file chung (global) và
các truy nhp trc đó có th đa ch hoá mt cách t đng ti các trm  xa.

Hình 1.10 b ch ra mt cách tip cn khác, chng trình ph thc hin ti các trm  xa
(ngi lp trình phi t lp), các kt qu tr li cho chng trình ng dng.
Hình 1.9 H qun tr CSDL phân tán

Databas
Network
Trình qun lý các ng dng
Trình qun lý
d liu phân tán
Trình qun lý
truyn thông
H qun tr CSDL phân tán
Trình qun lý các ng dng
Trình qun lý
d liu phân tán
Trình qun lý
truyn thông
H qun tr CSDL phân tán
Database





19
H qun tr CSDL phân tán h tr c hai cách tip cn trên. Mi mt cách tip cn đu có
nhng thun li và khó khn riêng. Gii pháp th nht cung cp kh nng trong sut phân tán
cao hn, trong khi gii pháp th hai có th hiu qu hn nu nh có rt nhiu chng
trìntngs dng cùng yêu cu truy nhâp, bi vì các chng trình ph có th thc hin các yêu
cu t các trm  xa và tr li kt qu.




















1.11.2 H qun tr CSDL phân tán thun nht
CSDLPT có đc bng cách chia mt CSDL thành mt tp các CSDL cc b (Local) và
đc qun lý bi cùng mt h QTCSDL, trong hình 2.13
CSDLPT có thun nht hay không đc ph thuc bi các yêu t phn cng, h điu hành
và các h qun tr CSDL cc b. Tuy nhiên, hn ch quan trng ti h QTCSDL cc b, bi vì
nó ph thuc vào s qun lý h điu hành mng truyn thông
1.11.3 H qun tr CSDL phân tán không thun nht
CSDLPT không thun nht đc tích hp bi mt tp các CSDL cc b đc qun lý bi
các h QTCSDL khác nhau. H QTCSDLPT không thun nht thêm vic chuyn đi các mô
hình d liu ca các h QTCSDL khác nhau đ thng nht vic qun lý. Hình 14
Hình 1.10a Truy nhp CSDL t xa

Yêu cu truy nhp
Chng trình
n
g
d

n
g

H qun tr
CSDL 1
2
1
5
Tr kt qu
6
Site 1
H qun tr
CSDL 2
CSDL
3
4
Site 2
Hình 1.10b Truy nhp t xa bng chng trình ph
Chng trình
ng dng
H qun tr
CSDL 1
CSDL
Site 1

Site 2
Chng trình
ng dng
H qun tr
CSDL 2





20
























Nu vic phát trin CSDL phân tán theo mô hình Top-down, không ph thuc vào h
thng trc đó (h thng các CSDL cc b), thì vic phát trin mt h thun nht là tt nht.
Tuy nhiên, trong mt s trng hp cn xây dng CSDL phân tán t các CSDL đã có thì đòi
hi phi phát trin mt h không thun nht. Phng pháp tt nht là tip cn t di lên
(Bottum-up). Trình qun lý d liu phân tán phi cung cp các giao din trao đi gia các h
QTCSDL . Vn đ qun tr CSDL phân tán không thun nht rt khó khn.
1.12 MÔ HÌNH KIN TRÚC H QUN TR CSDL PHÂN TÁN
Có ba kiu kin trúc tham chiu cho h qun tr CSDL phân tán , đó là h Client Server,
h qun tr CSDL phân tán kiu ngang hàng (Peer-to-Peer) và h đa CSDL.
Hình 1.12 Kin trúc mô hình h QTCSDLPT không thun nht

H qun tr CSDL1 H qun tr CSDL2 H qun tr CSDL3
Database Database Database

H qun tr CSDL phân tán
H QTCSDL H QTCSDL H QTCSDL
D
a
t
aba
Hình 1,11 Kin trúc mô hình h QTCSDLPT thun nht
D
a
t
aba
D

a
t
aba





21
Các la chn cài đt mt h qun tr CSDLđc t chc h thng theo các đc tính: (1)
tính t tr, (2) tính phân tán, (3) tính hn hp (không thun nht) ca h thng.
1.12.1 Tính t vn hành
Tính t vn hành hay còn gi là tính t tr, đc hiu là s phân tán quyn điu khin. Là
mc đ hot đng đc lp ca tng h qun tr CSDL riêng l. Tính t vn hành đc biu
hin qua chc nng ca mt s yu t, nh s trao đi thông tin gia các h thng thành viên
vi nhau, thc hin giao dch đc lp/ không đôck lp và có đc phép sa đi chúng hay
không. Yêu cu ca h thng t vn hành đc xác đnh theo nhiu cách. Ví d,
• Các thao tác cc b ca h qun tr CSDL riêng l không b nh hng khi tham gia
hot đng trong h đa CSDL (Multi Database System).
• Các h qun tr CSDL x lý và ti u truy vn cng không b nh hng bi thc thi
truy vn toàn cc truy nhp nhiu h CSDL.
• Tính nht quán ca h thng hoc thao tác không b nh hng khi các h qun tr
CSDL riêng l kt ni hoc tách ri khi tp các CSDL.
(A0, D2, H0)
(A2, D2, H1)
Ph©n t¸n d÷ liÖu
TÝnh hçn hîp
TÝnh tù trÞ

Hình 1.13. La chn cài đt h qun tr CSDL

Mt khác, xác đnh chiu ca tính t tr nh sau:
1. T tr thit k: Mi h qun tr CSDL riêng l có th s dng mô hình d liu và k
thut qun lý giao dch theo ý mun.
2. T tr truyn thông: Mi h qun tr CSDL riêng l tu ý đa ra quyt đnh ca nó v
loi thông tin mà nó cn cung cp cho các h qun tr CSDL khác hoc phn mm điu
khin thc thi toàn cc ca nó.
3. T tr thc thi: Mi h qun tr CSDL có th thc thi các giao dch đc gi ti nó theo
bt k cách nào mà nó mun.





22
Ba la chn xem xét  trên cho các h thng t tr không phi là nhng kh nng duy
nht, mà là ba la chn ph bin nht.
1.12.2 Tính phân tán d liu
Tính phân tán d liu: Tính t vn hành đ cp đn vic phân tán quyn điu khin, thì
tính phân tán d liu đ cp đn d liu. Hin nhiên, s phân tán vt lý ca d liu trên nhiu
v trí khác nhau. Ngi s dng nhìn d liu bng khung nhìn d liu. Có hai cách phân tán
d liu: phân tán kiu Client/Server và phân tán kiu ngang hàng. Kt hp vi các tùy chn
không phân tán, trc kin trúc cho ba loi kin trúc khác nhau.
• Phân tán kiu Client/Server ngày càng ph bin. Qun tr d liu ti Server, Client cung
cp môi trng ng dng và giao din ngi s dng. Nhim v truyn thông đc chia
s gia các Client và Server. H qun tr CSDL kiu Client/Server là h phân tán chc
nng. Có nhiu cáchuây dng, mi cách cung cp mt mc đ phân tán khác nhau.
• Trong kiu ngang hàng không có s khác bit gia chc nng Client và Server. Mi máy
đu có đy đ chc nng ca h qun tr CSDL và có th trao đi thông tin vi các máy
khác đ thc hin các truy vn và giao dch. Các h thng này cng đc gi là phân tán
đy đ,

1.12.3 Tính hn hp
Tính hn hp: T khác bit v phn cng và các giao thc mng đn khác bit trong cách
qun lý d liu, có mt s dng hn hp trong các h phân tán. S khác bit ln nht liên
quan đn các mô hình d liu, ngôn ng truy vn và giao thc qun lý giao dch. Biu din d
liu bng nhiu mô hình khác nhau to ra tính hn hp. Tính hn hp trong ngôn ng truy vn
không ch bao gm vic s dng các dng truy nhp d liu khác nhau trong các mô hình d
liu khác nhau , mà còn bao gm nhng khác bit trong các ngôn ng ngay c khi s dng
cùng mt mô hình d liu. Ngôn ng truy vn khác nhau s dng cùng mt mô hình d liu
thng chn các phng pháp khác nhau đ din t các yêu cu ging nhau, ví d, DB2 s
dng SQL, trong khi INGRES s dng QUEL.
1.12.4 Các kiu kin trúc
Xem xét các kin trúc trong hình 2.15, bt đu t gc và di chuyn theo trc t tr. Ký
hiu A là t tr, D là phân tán và H là hn hp. Các kiu trên trc t tr đc đnh ngha, A0
là biu din tích hp cht ch,A1 biu din h bán t tr và A2 biu din h cô lp. Trên trc
phân tán, D0 ngha là không phân tán, D1 là h Client/Server, và D2 là phân tán ngang hàng.
Trên trc hn hp, H0 xác đnh các h thng thun nht, H1 là các h hn hp. Trong hình
2.15 đnh ngha hai loi kin trúc: (A0, D2, H0) là h qun tr CSDL thun nht phân tán
(ngang hàng) và (A2, D2, H1) là phc h CSDLhn hp, phân tán ngang hàng.
• Loi kin trúc (A0, D0, H0): c gi là h thng phc hp (Composite System). Nu
không phân tán d liu và hn hp, thì h thng ch là mt tp gm nhiu h qun tr
CSDL đc tích hp v mt lôgic. Phù hp vi các h thng đa x lý và tài nguyên đu
dùng chung. Kiu này không xut hin nhiu trong thc t





23
• Loi kin trúc (A0, D0, H1): Nu hn hp thì phi có nhiu b qun lý d liu hn hp có
th cung cp mt khung nhìn tích hp cho ngi s dng. Trc đây đc thit k truy

nhp tích hp CSDL mng, phân cp và quan h trên cùng mt máy đn.
• (A0, D1, H0):Trng hp CSDL phân tán khi có mt khung nhìn tích hp v d liu cung
cp cho ngi s dng. H thng loi này thích hp cho phân tán Client/Server.
• (A0, D2, H0): Biu din môi trng phân tán hoàn toàn trong sut cung cp cho ngi s
dng. Không phân bit gia Client và Server, cung cp đy đ các chc nng.
• (A1, D0, H0): Là dng các h thng bán t tr. Các h thng thành viên có quyn t tr
nht đnh trong các hot đng ca chúng. Kin trúc này s dng thit lp b khung cho hai
dng kin trúc k tip. Trong thc t rt ít s dng
• (A1, D0, H1): Là h thng hn hp và t tr., rt ph bin hin nay. Mt ví d h thng
loi này bao gm mt h qun tr CSDL quan h qun lý d liu có cu trúc, mt h qun
tr CSDL x lý hình nh tnh và mt Server cung cp video.  cung cp hình nh tích hp
cho ngi s dng, cn phi che du tính t đng và tính hn hp ca các h thng thành
viên và thit lp mt giao din chung.
• (A1, D1, H1): Trong các h thng loi này, các h thng thành viên đc cài đt trên các
máy khác nhau. c gi là các h qun tr CSDL hn hp phân tán. c đim phân tán ít
quan trng hn so vi tính t tr và hn hp. Các h qun tr CSDL kiu (A0, D1, H0) và
(A0, D2, H0) có th gii quyt nhng vn đ khó khn khi phân tán d liu
• (A2, D0, H0): c đim ca các h thng loi này là các thành viên không có khái nim
tha hip và không bit cách liên lc vi nhau. Nu không có tính hn hp hoc tính phân
tán thì mt phc h CSDL ch là mt tp các CSDL t tr đc kt ni vi nhau. H qun
tr phc h CSDL cho phép qun lý tp hp các CSDL t tr và cho phép truy nhp trong
sut đn nó. Dng h thng này ít thc t.
• (A2, D0, H1): H thng loi này có tính thc t cao, hn c (A1, D0, H1).Có kh nng xây
dng các ng dng truy nhp d liu t nhiu h thng lu tr khác nhau vi các đc tính
khác nhau. Có th là nhng h thng lu tr không phi là h qun tr CSDL và không
đc thit k phát trin có th tng tác vi các phn mm khác. Cng nh trong h (A1,
D0, H1), gi thit các h thng thành viên không tham gia vào toàn b h thng.
• (A2, D1, H1) và (A2, D2, H1): Hai trng hp này đu biu din cho trng hp các
CSDL thành viên to ra phc h CSDLđc phân tán trên mt s v trí – gi là các phc h
CSDL phân tán. C hai trng hp các gii pháp phân tán và x lý tng tác tng t

nhau. Trong trng hp phân tán Client/Server (A2, D1, H1), các vn đ tng tác đc
trao cho h thng trung gian (Middleware System), to ra kin trúc ba tng.
T chc ca mt phc h CSDL phân tán và vic qun lý nó hoàn toàn khác vi các h
qun tr CSDL phân tán. S khác bit c bn ca chúng là  mc đ t tr ca các chng
trình qun lý d liu cc b. Các phc h CSDL phân tán hoc tp trung đu có th thun nht
hoc hn hp, không thun nht

×