1
PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Cùng vi s phát tria công ngh thông tin, các ng dng c
s d lip vào các hong quc kinh t
li nhng hiu qu to ln và cn thit. Bên cu v x lí thông tin
thu th, x
nhiu ln t phát trin ca tài nguyên phn cng và phn mm. Trong
thc t các doanh nghi n nhau hay k c các
c c phân b nhiu khu v
d lic tp trung ti mm nhnh mà ri kha
ng. Khi d liu không còn tp trung thì
v qun lý, truy xut CSDL phc v cho công tác
chuyên môn không b n, tiêu tn ít thi gian
công sc tin bc. Mt s h thng tp trung ng
c, không phù hp vi nhu cu hii hóa. Xây dng mt h thng phân
tán có kh l ng thi mt bài toán trên nhiu máy tính là mt
ng gii quyt kh c chng minh tính hu dng. H thng
phân tán còn to nhiu thun li trong vic chia s thông tin trên khp mi
. Vì vy, CSDL gii quyt vn
N
t cách có hiu qu và thông sunh
khi truy vt trong nhng cách gii quyt cho
v này.
Vn ti u hóa truy vn trên CSDL phân tán là rt quan trng và phc
tp do tính phân mnh, nhân bn, tn kém chi phí trong vic truyn d liu
2
ca nó. Nu không gii quyt tt vn ti u truy vn thì hiu nng ca các
thao tác trên h CSDL phân tán s t rt thp.
Nhng nh tài nghiên
cTìm hiểu về tối ƣu hóa truy vấn trong cơ sở dữ liệu phân tán
2. Mục tiêu nghiên cứu.
Nghiên cu lý thuyt CSDL phân tán, các k thut truy vn trong CSDL.
Tng hp các kt qu v truy vn tc hin t
truy vn trong CSDL phân tán.
3. Đối tƣợng và phạm vi nghiên cứu.
tài tp trung nghiên cu v v bn ca CSDL
n phân tán, các k thut, thut toán ti
.
4. Phƣơng pháp nghiên cứu.
Thu thp, tìm kim, tham kho, phân tích, nghiên cu các tài liu và thông
tài t CSDL, CSDL phân tán, các k thut
truy vn ca các tác gi
chn lc và sp xp lng ca mình.
Tng hp các kt qu ên cu v truy vn tn hành thc
hin tn phân tán qua mt trng hp nghiên cu.
3
CHƢƠNG 1: GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1. Khái niệm về cơ sở dữ liệu phân tán
1.1.1. Khái niệm
C d liu phân tán [3] là mt tp hp d liu, mà v mt logic tp hp
này thuc cùng mt h th mt vt lý d lic phân tán
trên các v trí khác nhau ca mt mng máy tính.
d li p ti h thng CSDL ln
trên mng. Trong h thng i máy tính qun lý mt CSDL thành phn
c gi là 1 node hot site.
M d liu phân tán là mt tp hp nhiu CSDL i logic và
c phân b trên mt mng máy tính.
m quan trc nêu ra và c:
- Tính chất phân tán: Tt c d liu ca CSDL phân tán
cùng mt v c phân b trên nhiu máy trm t ti các v trí khác
nhau thuc mng máy tính. m phân bit gia CSDL phân tán và
CSDL tp trung.
- Tương quan logic: D liu ca CSDL phân tán có mt s thuc tính ràng
buc vu này giúp chúng ta có th phân bit mt CSDL phân tán
vi mt tp hp CSDL tp trung. Các file d li ti nhiu v trí
khác nhau, ng thy trong các ng dng mà h thng s phân
quyn truy nhp d ling mng.
Ví dụ 1.1:
Website ca google phân tán tìm kim theo cách t nhn bit, yêu cu nào
g lý. Các server ca google phân b rông khp
trên toàn th gii.
4
1.1.2. Các đặc điểm chính của CSDL phân tán
1. Chia sẻ tài nguyên
Vic chia s tài nguyên ca h c thc hin qua mng truyn
thông. Mi tài nguyên cc qun lý bi mn
truyn thông chia s mt cách có hiu qu. Các tài nguyên có th c truy
cp, cp nht mt cách tin cy và nht quán. Qun lý tài nguyên bao
gm lp k hoch d t tên cho các lp tài nguyên, cho phép tài
c truy cp t ta
ch truyn thông,
2. Tính mở
Tính m ca h thng phân tán là tính d dàng m rng phn cng ca nó.
Mt h thc gi là có tính m thì phu kin sau:
- H thng có th to nên bi nhiu loi phn cng và phn mm ca nhiu
nhà cung cp khác nhau.
- Có th b sung vào các dch v dùng chung tài nguyên mà không phá
hng ch v n ti.
- Tính m c hoàn thin bnh rõ các
giao din chính ca mt h i các nhà phát
trin phn mm.
- Tính m ca h phân tán da trên vic cung c truyn thông gia
các tin trình và công khai các giao di truy nhp các tài nguyên
chung.
3. Khả năng song song
H phân tán hong trên mt mng truyn thông có nhiu máy tính, mi
máy có th có mt hay nhiu CPU.
5
Có th thc hin nhiu tin trình trong cùng mt thm. Vic thc hin
tin trình ng thi phân chia thi gian (mt CPU) hay song song
(nhiu CPU).
Kh c song song trong h c th hin qua hai tình
hung:
- Nhii s dng thi các
ng dng thi xut hin nhiu Clients).
- Nhiu tin trình Server chng thi, mi tin trình phng yêu
cu t các Clients.
T u ki lý, kh a h thng phân tán tr thành
mt thuc tính ca nó.
4. Khả năng mở rộng
H phân tán có kh ng tt và hiu qu nhiu mc khác
nhau.
Kh rng ca mt h i tính không
thay i phn mm h thng và phn mm ng dng khi h thng c m
rng.
u này ch t m i vi h phân tán hin ti (không th
u m rng không ch là m rng v
phn cng hay v mng mà còn cn phc t c
các khía cnh khi thit k h phân tán.
Ví dụ 1.2: Tn sut s dng file trên mt ngt tránh tình
trng tc nghn xy ra khi ch có mt Server và phng các yêu cu truy
nhp i ta nhân bn file trên mt Server khác và h thc
thit k sao cho vic b sung c d dàng. Có th n gii pháp
khác là s dng Cache và các bn sao d liu.
6
5. Khả năng thứ lỗi
Kh li th hin vic h thng không b s bi các s c do
các li thành phn (c phn cng ln phn mm) trong mt b ph
Vic thit k kh li các h thng máy tính da trên hai gii
pháp sau:
- Dùng kh m bo s hong liên tc và hiu qu.
- m b phc hi d liu khi xy ra s c.
6. Đảm bảo tin cậy và nhất quán
H thng yêu c tin c
- Bí mt ca d liu.
- Các chng phm bo.
- Ngoài ra các yêu cu ca h thng v tính nh hin ch:
không có mâu thun trong ni dung CSDL.
1.1.3. Những ưu nhược điểm của cơ sở dữ liệu phân tán
Những ưu điểm của cơ sở dữ liệu phân tán
Ln nht ca CSDL phân tán là d liu ca các CSDL vt lý
riêng bic tích hp logic vi nhau làm cho nhiu ni s dng trên
mng có th truy nhc [6].
- Cho phép qun lý d liu vi nhiu mc trong sut:
+ Trong sut mng - phân tán: H qun tr CSDL phc trong sut
i s dng không cn bit v trí ca d liu
và không cn bit s phc tp truy cp qua mng.
+ Trong sut bn sao
+ Trong sun
- tin cy và kh n sàng: tin cy là kh thng
c (không b ngng) ti mt thi n sàng là kh
thng tip tc làm vic trong mt khong th
7
liu và CSDL phân tán trên mt vài trm, mt trm có th có s c trong khi
các trm khác vn có th hong hoc s dng các thành phn khác ca
CSDL. Ch trên trm b s c, d liu và ng dng không th truy cc.
tin cy và tính sn sàng, có th áp dng to bn sao
trên nhiu trm.
- Ci thin hi: Mt h qun tr CSDL n CSDL
có th làm cho d liu s ti g dng nht. D liu c
cc b làm gim cnh tranh CPU, gim các I/O Server và gi
tranh truy nhp trên mng. D lic phân tán ti các trng
d liu cc b s nh lý giao tác và truy vn cc b s c thc
hin ta trên mi tr các giao tác trên
CSDL tp trung vì vu sut h thng.
- D dàng m rng: Vic thêm CSDL m CSDL hoc thêm
b x lý ng phân tán là d
CSDL thành phn.
Những nhược điểm của cơ sở dữ liệu phân tán
- phc tp thit k t h th qun tr CSDL phân tán
phi b sung thêm các ch
+ Theo dõi du vt d liu
+ X lý các truy vn phân tán
+ Qun lý giao dch phân tán
+ Phc hi CSDL phân tán
+ Qun lý các bn sao
+ Quc - catalog phân tán
- H thng phn cc tn có nhiu trm và các trm
phc kt ni trên mng.
8
- Các phn mm h thm bo qun tr, duy trì kt ni d liu
trên mng.
- Bo m
1.2. Các đặc trƣng trong suốt của cơ sở dữ liệu phân tán
1.2.1. Trong suốt phân đoạn (fragmentation transparency)
Khi d lin thì vic truy cc thc hin
phân tán và không ng ti s dng.
Ví dụ 1.3: Xét quan h tng th NCC (Id, Tên, Tui) n
c tách ra t nó:
NCC1 (Id, Tên, Tui)
NCC2 (Id, Tên, Tui)
NCC3 (Id, Tên, Tui)
Gi s DDBMS cung cp tính trong sut v
thy tính trong suc th hi
Khi mun tìm mi có Id= “Id1” thì ch cn tìm trên quan h tng
th NCC mà không cn bit quan h NCC có phân tán hay không.
SELECT *
FROM NCC
WHERE Id=“Id1”
Hình 1.1:Trong suốt phân đoạn
9
1.2.2. Trong suốt về vị trí (location transparency)
- i s dng không cn bit v v trí vt lý ca d liu mà có quyn
truy cn CSDL ti bt c v trí nào.
- ly hoc cp nht mt d liu t c t ng thc
hin bi h thng tu cu.
- Tính trong sut v v trí rt hi s dng b qua
các bn sao d lin ti mi v di chuyn mt bn sao
d liu t mt v n mt v trí khác và cho phép to các bn sao mi
mà không nn các ng dng.
Ví dụ 1.4: Vi quan h tng th trên
gi s rng DDBMS cung cp trong sut v v p
trong sut v n.
Xét câu truy vi có Id=“Id1”.
SELECT *
FROM NCC1
WHERE Id=“Id1”
IF NOT #FOUND THEN
SELECT *
FROM NCC2
WHERE Id=“Id1”
+ u tiên h thng s thc hin tìm kim n NCC1 và nu
DBMS tr v biu khin #FOUND thì mt câu lnh truy v
c thc hin NCC2 ,
+ NCC2 c sao làm hai bn trên hai v trí 2 và v trí
3, ta ch cn tìm thông tin trên quan h NCC2 mà không cn quan tâm nó
v trí nào.
10
Hình 1.2: Sự trong suốt về vị trí
1.2.3. Trong suốt ánh xạ địa phương (local mapping transparency)
- Là mc tính quan trng trong mt h thng nht.
- ng dng tham chi c lp t các h
thng cc b .
- ng dt trên mt h thng nhc
s dt h thng nht.
Hình 1.3: Sự trong suốt ánh xạ địa phương
1.3. Kiến trúc cơ bản của một cơ sở dữ liệu phân tán
1.3.1. Sơ đồ tổng thể (Global Schema)
- nh tt c các d liu s trong CSDL
lic phân tán các trm trong h thng.
11
- tng th p trung.
- Trong mô hình quan h tng th bao ga tp các
quan h tng th (Globle relation).
1.3.2. Sơ đồ phân đoạn dữ liệu (fragment schema)
- Mi quan h tng th có th chia thành mt vài phn không giao nhau gi
là n (fragment).
- Có nhi thc hin vic phân chia này.
- n mô t các ánh x gia các quan h tng th n
c n (fragmentation Schema).
- c mô t bng tên ca quan h tng th cùng vi ch mc
n.
Chng hc hin th i ca quan h R.
1.3.3. Sơ đồ định vị dữ liệu (allocation schema)
- n là các phn logic ca mt quan h tng th nh v vt lý
trên mt hay nhiu trm.
- Sơ đồ định vị n d linh v ti trm nào trên
mng.
- Tt c c liên kt vi cùng mt quan h tng th c
nh v ti cùng mt trm j cu thành nh vt lý quan h tng th R ti trm j.
- ánh x mt-mt gia mt nh vt lý và mt cp (quan h
tng th, trm).
- Các nh vt lý có th ch ra bng tên ca mt quan h tng th và mt ch
mc trm.
- Ký hiu R
i
ch n th i ca quan h tng th R.
- Ký hiu R
j
ch nh vt lý ca quan h tng th R ti trm j.
- y, bn sao cn i thuc quan h R ti trc ký
hiu là R
i
j
.
12
1.3.4. Sơ đồ ánh xạ địa phương (Local mapping schema)
- Thc hin ánh x các nh vc thc hin bi h
qun tr CSDL .
- Tt c n ca mt quan h tng th trên cùng mt trm to ra mt
nh vt lý.
Hình 1.4: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể
Ba yu t c suy ra t kiu kin trúc này là:
- Tách ri khái nin d liu vi khái ninh v d liu.
- Bic d lia.
- c lp v.
Ba yếu tố này tương ứng với ba mức trong suốt tương ứng
a. Tách ri khái nin d liu vi khái ninh v d liu.
13
Phân đoạn dữ liệu, bao gm nhng công vi i lp trình
ng dng làm vic vi quan h tng th, phân chia quan h tng th
n.
Thông qua tính trong suốt phân đoạn (fragmentation transparencyi
lp trình s nhìn thc nhn d liu b nào.
Định vị dữ liệu li liên n các công vic ci s dng và
i lp trình ng dng tn d linh v ti các trm.
Thông qua tính trong suốt vị trí (location transparency) i lp trình s
bic v trí cn d liu trên các trm.
b. Biết được dữ liệu dư thừa:
i lp trình ng dng có th bia d liu các trm.
trên, chúng ta thy rng hai nh vt lý R2 và R3 có trùng lp
d lin d liu trùng nhau có th c khi xây dng
các khi nh vt lý.
c. Độc lập với các DBMS địa phương
Tính ch c gi là trong suốt ánh xạ địa phương (local
mapping transparency), cho phép chúng ta kho sát các v v qun lý
CSDL phân tán mà không cn phi hiu rõ mô hình d liu ca
dng.
1.4. Kết luận
CSDL phân tán rt quan trng vì nhiu lý do khác nhau, nó có th c cài
t trên các mng máy tính din rng và các mng cc b nh. Có hai lý do
v t chc và k thui vi s phát trin CSDL CSDL phân
tác xây d khc phc các thiu sót ca CSDL tp trung và nó phù
hu trúc phân quyn ca nhiu t chc. K thut CSDL phân
c m rng và phát trin t k thut ca CSDL truyn thng. Trong
14
ng mi này, mt s v k thui các gii pháp khác, và
mt s gii pháp hoàn toàn mi.
Tính trong sut phân tán cung cp s c lp ci s
phân tán ca CSDL. Các mc trong sut phân tán khác nhau có th c cung
cp bi mt h qun tr CSDL phân tán; Ti mi mc, tính trong sut làm cho
i lp trình ng dng không bic s phân tán d liu.
15
CHƢƠNG 2: CÁC NGUYÊN LÝ CHUNG CỦA TỐI ƢU HÓA
TRUY VẤN PHÂN TÁN
Các ngôn ng hi bt
nhiu câu truy vn vi s quan tâm nhin thi gian thc hin, và thi gian
thc hi gi nu b x lý ngôn ng hi vit li (bng
cách khác) câu truy vc khi thc hin. S ci ting gi là
"S tc dù câu truy vc vit li không cn tt c
t câu truy vn có th trình bày mt s
pháp tu thc quan hc bit là x lý biu thc liên quan
n phép kt ni và tích Decartes, xem xét các k thun hình INGRES và
System R.
2.1. Các chiến lƣợc tối ƣu hóa cơ bản
Trong ngôn ng hi di s quan h, các truy vn
tích Decartes và phép kt ni là rt tn thi gian.
Ví dụ 2.1: Xét biu thc AB × CD (AB là mt quan h vi các thuc tính
A, B); ta ng nht hai quan h này vi hai tp d li ca
tích Decartes này phi duyt ht bn ghi ca mt quan h, chng hn AB,
vòng ngoài, vi mi bn ghi r ca tp AB, duyt tp CD vòng trong và ni r
vi mi bn ghi ca tp CD. Gi s quan h AB có n bn ghi, CD có m bn
ghi thì tích Decartes AB × CD có n × m bn ghi. Rõ ràng phép tính trên rt
tn kém v thi gian và ô nh.
Ullman J.D trong các kt qu nghiên cu cn
c tng quát cho vic tn. ý tng t
nhóm: Nhóm 1 gm các phép bii s có liên quan hoc không liên
các quan h, nhóm 2 gm các chic có li cho
vi các quan h khoá, ch s. Các chic thc hi
sau [4]:
16
1. Thực hiện phép chọn sớm nhất có thể: Bi i câu truy v
phép chn vào thc hic nhm làm gic ca kt qu trung
t kim thi gian thc hin và không gian nh.
2. Tổ hợp phép chọn xác định với phép tích Decartes thành phép kết nối:
bit, phép kt nc bit là kt ni bng có th thc hi
so vi phép tích Decartes trên cùng các quan h. Nu kt qu ca tích
Decartes R × S i s ca phép chn và phép chn phép
so sánh gia các thuc tính c phép kt n gim chi
phí tính toán.
3. Tổ hợp dãy các phép toán một ngôi như phép chọn và phép chiếu: Bt
k dãy các phép toán mn hoc phép chiu có kt qu ph
thuc vào các b ca mt quan h c lp thì có th i.
, ta có th nhóm các phép toán mt ngôi vi kt qu ca phép toán
hai ngôi bng cách áp dng các phép toán mt ngôi vi mi b kt qu ca
phép toán hai ngôi.
4. Tìm các biểu thức con chung trong một biểu thức: Nu kt qu ca mt
biu thc con chung (biu thc xut hit ln) là mt quan h không
ln và nó có th c t b nh th cp vi ít thi gian, thì nên tính toán
c biu th mt ln. Nu biu thn
phép kt nng hp tng quát không th i nh vic
y phép chn vào trong.
5. Xử lý các tệp trước: Hai v quan trng cn x c cho các tp
s là sp xp các tp và thit lp các tp ch sc hin các phép toán
lin hai tp (phép tính hai ngôi) s u.
6. Đánh giá trước khi thực hiện phép toán: Khi cn chn trình t thc hin
các phép toán trong biu thc hoc chn mi ca phép toán hai
ngôi, ta nên tính toán chi phí thc hin các ng là s phép
17
tính, thi gian, ng b nh c các quan h, ) theo các
cách khác nhau. T s quyp.
2.2. Các phép biến đổi đại số
Hu ht các chin bii biu thi s. Mt
x lý câu truy vn bu vi vic xây dng cây phân tích biu thi s,
các nút biu din toán t i s quan h và toán t c bit ca ngôn
ng. Ngôn ng hi có th là ngôn ng i s quan h
SEQUEL, hoc là mt ngôn ng phép tính quan h mà các biu thc phép
c chuyn thành biu thi s.
2.2.1. Các yêu cầu của phép biến đổi tối ưu hóa
- Các phép bii phi thc s hu hii vi phn ln các dng câu
truy vn hay mt lp các câu truy vng dùng mà không phi chi phí quá
nhi thc hin quá trình bi
- Các phép bii phi bo toàn kt qu ca câu truy vc và sau khi
biu thc và sau khi bii phi cho cùng
mt kt qu trong biu thc bi các th hin c th.
- Các phép bii phi làm gi thc hin câu truy vn. Chi
phí cho x lý câu truy vn có rt nhiu yu t, tuy nhiên ta ch n
mt s n nh ln truy xut khi nh gia b nh
trong và b nh ngoài; s bn ghi cn phi x lý thit b trung tâm; phn b
nh các kt qu trung gian trong quá trình thc hin câu truy vn.
2.2.2. Biểu thức tương đương
Hai biu thc E
1
và E
2
gu E
1
E
2
, nu quan h kt
qu ca hai biu th bi các th hin c th.
Vt s phép bii s có li [4].
2.2.3. Các qui tắc liên quan đến phép kết nối và tích Decartes