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

Nguyên lý hệ cơ sở dữ liệu phân tán

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 (411.32 KB, 84 trang )

Ng Duc Thuan
CHƯƠNG II: NGUYÊN LÝ HỆ CSDL
PHÂN TÁN
l ĐẶC TRƯNG TRONG SUỐT CỦA CSDL-PT
(Distributed DatabaseTransparency Features)
l Cho phép người sử dụng cảm tưởng như
CSDL chỉ cho mình họ
l Các đặc trưng bao gồm:
– Trong suốt phân tán (Distribution transparency)
– Trong suốt giao tác (Transaction transparency)
– Trong suốt lỗi (Failure transparency)
– Trong suốt hiệu năng (Performance transparency)
Ng Duc Thuan
TRONG SUỐT PHÂN TÁN
l Cho phép quản lý 1 CSDL bố trívật lý tản mạn như
1 CSDL tập trung
l trong suốt phân mảnh (fragmentation tranparency)
l trong suốt định vị (location tranparency).
l trong suốt ánh xạ cục bộ (Local mapping
tranparency)
l trong suốt sao lặp (replication transparency).
Ng Duc Thuan
TỔNG KẾT CÁC ĐẶC TRƯNG TS
Ng Duc Thuan
PHÂN MẢNH DỮ LIỆU
l Phân mảnh (fragmentation) DL làviệc chia
các quan hệ trong 1 CSDL thành các quan
hệ nhỏ hơn (các mảnh : fragment)
l Lý do phân mảnh:
– Tạo CSDL cho các site trên mạng
– Nâng cao hiệu năng xử lý (tăng mức độ xử lý


đồng thời)
Ng Duc Thuan
THIẾT KẾ CSDL-PT
Tiếp cậnTop-down:
-CóDB…
-Làm thế nào để phân chia dữ liệu và định vị vào các
sites
Tiếp cậnBottom-up :
-Nhiều-database(cókhả năng không thuần nhất, tự
trị,)
-Không xét!
Ng Duc Thuan
Hai bài toán trong thiết kế CSDL-PT:
l Phân mảnh(Fragmentation)
-Phân chia các quan hệ vào các “mảnh”
l Định vị các mảnh vào các nút mạng
Mục đích
Tối ưu thời gian/ thông lương/ chi phí…
Ng Duc Thuan
CÁC TIÊU CHUẨN PHÂN MẢNH
l Điều kiện đầy đủ: (Completeness condition)
-Nếu quan hệ R được phân thành các mảnh R1, R2, , Rn, thì
mỗi mục dữ liệu cótrong R phải cómặt trong 1 hoặc nhiều mảnh
Ri
l Điều kiện kiến thiết (Reconstruction condition):
-Nóphải cókhả năng kiến thiết lại mỗi một quan hệ toàn cục từ
các phân mảnh của nó.
l Điều kiện phân tách được (Disjointness condition) :
-Nếu quan hệ R được phân mảnh ngang thành các mảnh R1, R2,
,Rn vàmục dữ liệu tj nằm trong mảnh Rj, thìnósẽkhông nằm

trong một mảnh Rk (k<>j). Nếu quan hệ phân rã dọc các thuộc
tính khóa chính phải nằm trong mỗi mảnh
Ng Duc Thuan
CÁC TIÊU CHUẨN PHÂN MẢNH
l R Þ F = {F1, F2, …, Fn}
l Completeness
– Mọi dataitem x Î R, $ FiÎF màxÎFi
l Disjointness
– "xÎFi, Ø$ FjmàxÎFj, i ¹ j
l Reconstruction
– Có1 hàm sao cho
– R = g(F1, F2, …, Fn)
Ng Duc Thuan
CÁC LOẠI PHÂN MẢNH
l Phân mảnh theo hàng ngang của một quan hệ R là
tách quan hệ R theo cách màmỗi n_bộ của R có
mặt trong 1 hay nhiều quan hệ thành phần.
(Cụ thể làchia quan hệ R thành các tập con
R1,R2, ,Rn. Mỗi tập con chứa một số n_bộ của R.
Cóthể khôi phục R bằng phép hợp các Ri. Vídụsự
phân chia số liệu các khách hàng giao dịch của một
ngân hàng thành các tập số liệu của các chi nhánh)
Ng Duc Thuan
CÁC LOẠI PHÂN MẢNH
l Phân mảnh theo chiều dọc của quan hệ R làtách
lược đồ của quan hệ R thành các lược đồ cósốcột
nhỏ hơn. ( Phân mảnh theo chiều dọc thực ra là
thực hiện phép chiếu quan hệ R lên tập các thuộc
tính của các quan hệ Ri.
– Ri =P (thuộc tính Ai) (R)

(Chúý các Ri phải chứa một thuộc tính nối để phục hồi R)
Ng Duc Thuan
Vídụ
Quan hệ E(#,name,loc,sal,…)
40% truy vấn: 40% truy vấn:
Qa: select *Qb: select *
from Efrom E
where loc=Sawhere loc=Sb
and…and
Dẫn đến:hai site:Sa,Sb
Qa ®¬Qb
Sa Sb
Ng Duc Thuan
# NM Loc Sal
E
5
7
8
Sa 10
Sally Sb 25
Tom Sa 15
Joe
# NM Loc Sal
# NM Loc Sal
5
8
Sa 10
Tom Sa 15
Joe 7 Sb 25Sally





F
At Sa
At Sb
Ng Duc Thuan
F = { F1, F2 }
F1 = s
loc=Sa
(E) F2 = s
loc=Sb
(E)
Þ sự phân mảnh này gọi phân mảnh ngang cơ
sở (primaryhorizontal fragmentation)
Ng Duc Thuan
Phân mảnh
l NgangCơ sở
Phụ thuộc các thuộc tính cục bộ
R
Suy dẫn
Phụ thuộc vào các quan hệ ngoài
l Dọc
R
Ng Duc Thuan
Thế nào làmột phân mảnh tốt?
Vídụ:
F = { F1, F2 }
F1 = s sal<10 E F2 = s sal>20 E
Ng Duc Thuan

Thế nào làmột phân mảnh tốt?
Vídụ2:
F = { F3, F4 }
F3 = s sal<10 E F4 = s sal>5 E
Ng Duc Thuan
óPhân chia đoạn lặp rõ ràng hơn
Example: F = { F5, F6, F7 }
F5 = ssal £ 5 E F6 = s5<sal<10 E
F7 = ssal ³ 10 E
? Chú ý đoạn lặp F6
Thế nào làmột phân mảnh tốt?
Ng Duc Thuan
THỂ HIỆN CÁC TIÊU CHUẨN CỦA
PHÂN MẢNH NGANG
R Þ F = {F
1
, F
2
, …, F
n
}
l Tính đầy đủ (Completeness)
– Mọi bộ tÎR, $ F
i
ÎF màtÎF
i
l Tính tách biệt (Disjointness)
– "tÎFi, Ø$ Fj màtÎFj, i ¹ j
l Tính kiến thiết (construction)
Ng Duc Thuan

Làm thế nào kiểm tra tính đầy đủ
vàtính tách biệt?
(1) Kiểm tra điều đóbằng “thủ công”!
vídụ: F1 = ssal<10 E ; F2 = ssal³10 E
Ng Duc Thuan
Làm thế nào để có được tính đầy
đủ vàtính tách biệt?
(2) “Tự động”sinh các mảnh
với những đặc tính :
•Phân mảnh ngang được định nghĩa
bởi các lệnh (với) vị ngữ Select
•Phát ra 1 tập các lệnh select cho
những đặctính này
Ng Duc Thuan
Vídụ:
l Phát biểu các truy vấn dựa vào các vị từ “đơn giản”
A<10, A>5, Loc = SA, Loc = SB
l BướcTiếp:-sinh các vị từ hội sơ cấp (minterm)
-khử các vị từ vô dụng
•Cho các vị từ đơn giản Pr= { p1, p2, pn}
Các vị từ hội sơ cấp códạng
p1* Ù p2* Ù … Ù pn*
ở đây pk* là pk hay ¬pk
Ng Duc Thuan
Các vị từ hội sơ cấp (I)
(1) A<10 Ù A>5 Ù Loc=SA Ù Loc=SB
(2) A<10 Ù A>5 Ù Loc=SA Ù ¬(Loc=SB)
(3) A<10 Ù A>5 Ù ¬(Loc=SA) Ù Loc=SB
(4) A<10 Ù A>5 Ù ¬(Loc=SA) Ù ¬(Loc=SB)
(5) A<10 Ù ¬(A>5) Ù Loc=SA Ù Loc=SB

(6) A<10 Ù ¬(A>5) Ù Loc=SA Ù ¬(Loc=SB)
(7) A<10 Ù ¬(A>5) Ù ¬(Loc=SA) Ù Loc=SB
(8) A<10 Ù ¬(A>5) Ù ¬(Loc=SA) Ù ¬(Loc=SB)
5<A<10
A >= 10
Ng Duc Thuan
Các vị từ hội sơ cấp (II)
(9) ¬(A<10) Ù A>5 Ù Loc=SA Ù Loc=SB
(10) ¬(A<10) Ù A>5 Ù Loc=SA Ù¬(Loc=SB)
(11) ¬(A<10) Ù A>5 Ù¬(Loc=SA) Ù Loc=SB
(12) ¬(A<10) Ù A>5 Ù¬(Loc=SA) Ù¬(Loc=SB)
(13) ¬(A<10) Ù¬(A>5) Ù Loc=SA Ù Loc=SB
(14) ¬(A<10) Ù¬(A>5) Ù Loc=SA Ù¬(Loc=SB)
(15) ¬(A<10) Ù¬(A>5) Ù¬(Loc=SA) Ù Loc=SB
(16) ¬(A<10) Ù¬(A>5) Ù¬(Loc=SA) Ù¬(Loc=SB)
A>=10
Ng Duc Thuan
Các mảnh cuối cùng:
F2: 5 < A < 10 Ù Loc=SA
F3: 5 < A < 10 Ù Loc=SB
F6: A £ 5 Ù Loc=SA
F7: A £ 5 Ù Loc=SB
F10: A ³ 10 Ù Loc=SA
F11: A ³ 10 Ù Loc=SB
Ng Duc Thuan
Chúý: Loại bỏ các phân mảnh phụ
thuộc vào ngữ nghĩa:
Vídụ: nếu LOC cóthể ¹ SA, ¹ SB,
chúng ta cần thêm các phân mảnh
F4: 5 <A <10 Ù Loc ¹ SA Ù Loc ¹ SB

F8: A £ 5 Ù Loc ¹ SA Ù Loc ¹ SB
F12: A ³ 10 Ù Loc ¹ SA Ù Loc ¹ SB

×