Bài giảng Cơ sở dữ liệu phân tán - Chương 2: Nguyên lý hệ cơ sở dữ liệu phân tán

Cho phépngười sử dụng cảm tưởng như

CSDL chỉ cho mình họ

l Các đặc trưng baogồ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)

pdf84 trang | Chuyên mục: Cơ Sở Dữ Liệu Phân Tán | Chia sẻ: dkS00TYs | Lượt xem: 4126 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Cơ sở dữ liệu phân tán - Chương 2: Nguyên lý hệ cơ sở dữ liệu phân tán, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
3 ...
Ng 
Duc
 Thu
an
Định nghĩa không hình thức
Tập các vị từ hội Pr là tối thiểu nếu không tồn 
tại Pr’ Ì Pr là đầy đủ
Ng 
Duc
 Thu
an
Trở lại ví dụ:
(1) Pr = { } No
(2) Pr = {LOC=Sa, LOC=Sb} Yes
(3) Pr = {LOC=Sa, LOC=Sb, Sal<10} Yes
Đầy dủ ?
Pr(2) là tập con của Pr(3),
Do đó Pr(3) không là tối thiểu ...
Ng 
Duc
 Thu
an
Phân mảnh ngang suy dẫn
E(ENO, NAME, SAL, LOC)
J(ENO, DESCRIPTION,…)
Quan hệ một - nhiều
(chủ)
(thành viên)
Truy vấn:
Cho biết tên nhân viên,
danh sách các dự án mà nhân viên tham gia
E Þ F={ E1, E2} by LOC
Ng 
Duc
 Thu
an
E1
(at Sa) (at Sb)
E2
# NM Loc Sal
5 Joe Sa 10
8 Tom Sa 15
…
# NM Loc Sal
7 Sally Sb 25
12 Fred Sb 15
…
# Description
5 work on 347 hw
7 go to moon
5 build table
12 rest
…
J
Ng 
Duc
 Thu
an
E1
(at Sa) (at Sb)
E2# NM Loc Sal5 Joe Sa 10
8 Tom Sa 15
…
# NM Loc Sal
7 Sally Sb 25
12 Fred Sb 15
…
J1 J2
J1 = J E1 J2 = J E2
# Des
5 work on 347 hw
5 build table
…
# Des
7 go to moon
12 rest
…
Ng 
Duc
 Thu
an
Phân mảnh ngang suy dẫn
R, F = { F1, F2, ... Fn} 
ß
S, D = {D1, D2, …Dn} ở đây Di =S Fi
Qui ước : R là chủ
S là thành viên
Fcó thể là 
cơ sở hay suy dẫn
Ng 
Duc
 Thu
an
• Kiểm tra tính đầy đủ và tách biệt 
của phân mảnh suy dẫn
E Nhưng #= 33 không thuộc E1 và cũng không thuộc E2!
# Des
…
33 build chair
…
Ví dụ : Phát biểu J là:
Những bộ J sẽ không thuộc J1 cũng như không thuộc J2
Phân mảnh không đày đủ
Ng 
Duc
 Thu
an
Cần thỏa các tham chiếu ràng buộc toàn vẹn :
Kết nối attr(#) của quan hệ thành viên
ß
Kết nối attr(#)của quan hệ chủ
Để đạt tính đầy đủ
Ng 
Duc
 Thu
an
# NM Loc Sal
5 Joe Sa 10
…
# NM Loc Sal
5 Fred Sb 20
…
Ví dụ:
E1 E2
# Description
5 day off
…
# Description
5 day off
…
# Description
5 day off
…
J1
J
J2
Phân mảnh 
không tách biệt!
Ng 
Duc
 Thu
an
kết nối attribute(#)
nên là khóa của quan hệ chủ
Để đạt tính tách biệt
Ng 
Duc
 Thu
an
Tổng kết :Phân mảnh ngang
l Kiểu: cơ sở (primary), (suy dẫn)derived
l Đạc tính: tính đầy đủ (completeness), tính 
tách biệt (disjointness)
l Vị từ :tối thiểu (minimal), (đầy đủ) uniform
Ng 
Duc
 Thu
an
Phân mảnh dọc
E1
# NM Loc Sal
5 Joe Sa 10
7 Sally Sb 25
8 Fred Sa 15
…
# NM Loc
5 Joe Sa
7 Sally Sb
8 Fred Sa
…
# Sal
5 10
7 25
8 15
…
E
E2
Ví dụ:
Ng 
Duc
 Thu
anR[T] Þ R1[T1] Ti Í T
Rn[Tn]
Giống như sự chuẩn hóa các quan hệ
...
Ng 
Duc
 Thu
an
Tính chất: R[T] Þ Ri[Ti] 
(1)Tính đầy đủ
U Ti = T
all i
Ng 
Duc
 Thu
an(2) Tính tách biệt
Ti Ç Tj = Æ for all i,j i¹j
E(#,LOC,SAL)
E1(#,LOC)
E2(SAL)
Ng 
Duc
 Thu
an
# NM Sal
5 Joe 10
7 Sally 25
…
E
E1
# NM
5 Joe
7 Sally
…
Sal
10
25
E2
# NM Sal
5 Joe 10
7 Sally 10
5 Joe 25
7 Sally 25
Ng 
Duc
 Thu
an
(2)Tính tách biệt
Ti Ç Tj = Æ for all i,j i¹j
E(#,LOC,SAL) E1(#,LOC)
E2(SAL)
Không là 1 tính chất suy dẫn!!
(Không thể kiến thiết lại R!)
Ng 
Duc
 Thu
an
(3) Tính kiến thiết:Kết nối không mất thông tin
Ri = R
all i
E Một cách để kết nối không mất thông tin:
Mọi phân mảnh đều chứa khóa,
Key Í Ti for all i
Ng 
Duc
 Thu
an
ó Làm thế nào để quyết định các 
thuộc tính gộp nhóm với nhau?
E1(#,NM,LOC)
E2(#,SAL)
Example:
E(#,NM,LOC,SAL) E1(#,NM)
E2(#,LOC)
E3(#,SAL)
?
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Xét lược đồ quan hệ R(A1, A2,…,An)
l Các ứng dụng Q(q1, q2,….,qm)
l Use (qi, Aj) = 1, nếu Aj được qi tham chiếu
0, trong trường hợp ngược lại
Use(qi, Aj) : giá trị sử dụng thuộc tính
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Ví dụ * Ma trận mẫu về giá trị sử dụng thuộc tính 
(Ma trậnái lực thuộc tính AA)
1100q4
1010q3
0110q2
0101q1
A4A3A2A1
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Giá trị sử dụng thuộc tính không đủ cơ sở
cho việc phân mảnh: chúng không biểu thị 
độ lớn của tần số ứng dụng.
l Số đo lực hút (affinity) của 2 thuộc tính Ai, Aj 
ký hiệu aff(Ai, Aj) biểu thị cho cầu nối (bond) 
giữa 2 thuộc tính, dựa vào sự truy xuất của 
các ứng dụng 
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Tamer Ôzsu nêu công thức để đo ái lực của 2 
thuộc tính Ai, Aj:
l Gọi k là số mảnh của quan hệ R. R =R1R2R3..Rk
l Q = {q1,q2,..,qm} : tập các ứng dụng trên R
l Q(A,B) là tập các ứng dụng q của Q mà:
use(q,A). Use(q,B) =1
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Ái lực giữa 2 thuộc tính Ai và Aj của quan hệ R và tập ứng 
dụng Q được định nghĩa:
l Aff(Ai, Aj) = ∑ ∑ refl(q)accl(q)
qєQ(Ai, Aj) l є Rl
refl(q) : số truy xuất đến các thuộc tính (Ai, Aj) cho mỗi ứng
dụng q tại vị trí Rl
accl(q) : tần số truy xuất ứng dụng q đến các thuụoc tính Ai,Aj 
tại vị trí l.
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Ví dụ : Xét lại ví dụ * , giả sử refl(q) =1 cho tất cả q 
và Sl, và số mảnh là 3. Tần số ứng dụng cho mọi 
cặp thuộc tính là:
l accl(q1) = 15 ,accl(q1) = 20 , accl(q1) = 10
l accl(q2) = 5 ,accl(q2) = 0 , accl(q2) = 0
l accl(q3) = 25 ,accl(q3) = 25 , accl(q3) = 25
l accl(q4) = 3 ,accl(q4) = 0 , accl(q3) =0
Ng 
Duc
 Thu
an
Ái Lực thuộc tính (Attribute affinity)
l Lúc này số đo ái lực giữa thuộc tính A1 và
A3 là:
l Aff(A1, A3) = ∑ ∑ accl(q)
qєQ(Ai, Aj) l=1
=accl(q1) + acc2(q1) + acc3(q1) = 45
3
Ng 
Duc
 Thu
an
783750A4
353545A3
755800A2
045045A1
A4A3A2A1
Ma trận ái lực thuộc tính (Attribute affinity matrix)
Ng 
Duc
 Thu
an
Thuật toán năng lượng nối BEA (Bond 
Energy Algorithm)
l Tác giả : Hofer & Severance, 1975 và Navathe et 
al, 1984.
l Ý nghĩa: 
– Xác định các nhóm thuộc tính
– Độ phức tạp O(n2)
– Không làm thay đổi kết quả tụ nhóm
Thuật toán thực hiện các hoán vị hàng, cột sinh ra 1 ma 
trận ái lực CA ( Cluster affintity matrix). Hoán vị được 
thực hiện sao cho số đo ái lực chung AM (global affinity 
measure) là lớn nhất
Ng 
Duc
 Thu
an
Thuật toán năng lượng nối BEA (Bond 
Energy Algorithm)
l AM = ∑ ∑ aff(Ai, Aj) [aff(Ai, Aj-1) + aff(Ai, 
Aj+1) + aff(Ai-1, Aj) +aff(Ai+1, Aj) ]
Với aff(A0, Aj)= aff(Ai, A0) = aff(An+1, Aj) =
aff(Ai, An+1) = 0 , cho mọi i, j 
(Ý nghĩa ?)
n n
i=1 J=1
Ng 
Duc
 Thu
an
Thuật toán năng lượng nối BEA (Bond 
Energy Algorithm)
l Hàm cực đại hóa chỉ xét những lân cận gần nhất , 
vì thế các giá trị lớn được nhóm lại với nhau, các 
giá trị nhỏ được nhóm lại với nhau. Ma trận ái lực 
thuộc tính AA có tính đối xứng nên số đo ái lực có
thể rút gọn:
l AM = ∑ ∑ aff(Ai, Aj) [aff(Ai, Aj-1) + aff(Ai,Aj+1) ]
n n
i=1 J=1
Ng 
Duc
 Thu
an
Thuật toán năng lượng nối BEA (Bond 
Energy Algorithm)
l Quá trình sinh ma trận ái lực gồm 3 bước:
l 1. Khởi gán: Đặt và cố định 1 trong các cột của AA 
vào trong CA. Cột 1 được chọn.
l 2. Thực hiện lặp: Lấy lần lượt 1 trong n-i cột còn lại 
(i là số cột đã được đặt vào CA) và thử đặt vào i+1 vị
trí còn lại trong ma trận CA. Chọn đặt sao cho AM là
lớn nhất. Lặp đến hết các cột.
l Sắp thứ tự hàng: Khi thứ tự cột đã xác định, các 
hàng cũng cần đặt lại để các vị trí tương đối của 
chúng phù hợp với các vị trí trí tương đối của cột.
Ng 
Duc
 Thu
an
Thuật toán năng lượng nối BEA (Bond 
Energy Algorithm)
l Một ví dụ tính toán cho thuật toán BEA
Ng 
Duc
 Thu
an
Thuật toán phân mảnh dọc
l Tính ma trận ái lực CA
l Tìm “ điểm chia “ : Ái lực lớn nhất cho mỗi 
phân mảnh
787530A4
758050A3
355345A2
004545A1
A4A3A2A1
Ng 
Duc
 Thu
an
Phân mảnh lai tạp (Hybrid Fragmentation)
R
R1 R2
R11 R12 R21 R22
Ngang
Dọc
Ng 
Duc
 Thu
an
Kiến thiết lại phân mảnh lai tạp
R11 R12 R21 R22
Ngang
Dọc
U
Ng 
Duc
 Thu
an
Allocation
Example: E(#,NM,LOC,SAL) Þ
F1 = sloc=Sa E ; F2 = sloc=Sb E
Qa: select … where loc=Sa...
Qb: select … where loc=Sb…
Site a Site b
F1,F2
làm gì ở đâu?
?
Ng 
Duc
 Thu
an
Các vấn đề thảo luận
l Các truy vấn bắt đầu từ đâu
l Chi phí truyền thông là gì?
kích thước kết quả,quan hệ,…
l Dung lượng lưu trữ là gì, chi phí tại các site?
Và kích thước của các phân mảnh?
Ng 
Duc
 Thu
an
l Chiến lược xử lý truy vấn?
– Các kết nối thực hiện như thế nào?
– Các kết quả được kết xuất như thế nào?
Các vấn đề khác
Ng 
Duc
 Thu
an
l Chi phí của việc cập nhật các bản sao?
l Ghi và điều khiển tương tranh?
l ...
Vì sao tiến hành lặp các phân 
mảnh?
Ng 
Duc
 Thu
an
Bài toán tối ưu:
l Việc sắp đặt các phân mảnh tốt nhất /số 
lượng các bản sao tốt nhất để:
– Thời gian trả lời truy vấn bé nhất
– Thông lượng lớn nhất
– Các chi phí nhỏ nhất
– ...
l Các vấn đề ràng buộc?
– Khả năng lưu trữ
– Khả năng của băng thông,..
– ...
Đây là một bài toán khó vô cùng
Ng 
Duc
 Thu
an
Mô hình đơn giản
Phân mảnh đơn F
Các Site S1, … Sm
Các biến X1, …, Xm
Xj = 0 if F không lưu trử tại Sj
1 if F lưu trữ Sj
Tổng chi phí = Chi phí đọc+ Chi phí ghi+
Chi phí lưu trữ
Xác định các giá trị cho Xj, 1 £ j £ m, 
Sao cho chi phí là nhỏ nhất
Ng 
Duc
 Thu
an
Chi phí đọc
Chi phí đọc= å [ti ´ MIN Cij]
i: site có yêu cầu
ti: số lượng tin đọc tại Si
Cij: Chi phí lấy tin truy xuất phân mảnh F tại 
Sj từ Si
ji=1
m
Ng 
Duc
 Thu
an
Chi phí ghi =
å å Xj ui C’ij
i: site có yêu cầu 
j: Site được cập nhật
Xj: 0 nếu F không lưu trữ tại Sj
1 nếu F lưu trữ tại Sj
ui: lượng tin ghi tại Si
C’ij: Chi phí ghi của việc cập nhật F tại Sj từ Si
i=1 j=1
m m
Ng 
Duc
 Thu
an
Chi phí lưu trữ:
å Xi di
Xi: 0 nếu F không lưu trữ tại Sj
1nếu F lưu trữ tại Sj
di: Chi phí lưu trữ của F tại Si
i=1
m
Ng 
Duc
 Thu
an
Hàm mục tiêu:
min å [ti ´MIN Cij + å Xj ´ ui ´ C’ij ]
+ å Xi ´ di
ji=1 j=1
i=1
m m
m
Ng 
Duc
 Thu
an
Có thể có thêm các chi phí phức tạp 
hơn:
Ví dụ:
-Nhiều phân mảnh
-Kích thước phân mảnh
-Chi phí điều khiển tương tranh
Ng 
Duc
 Thu
an
Định vị
l Ngay cả trường hợp đơn giản nhất cũng là 
NP-đầy đủ
l Thông thường chúng ta có thể sử dụng 
trường hợp
– Đặt các phân mảnh ở đó chúng được truy xuất 
nhiều nhất
Ng 
Duc
 Thu
an
Tổng kết
l Phân mảnh ngang, dọc
l Phân mảnh tốt
l Thiết kế phân mảnh tốt
l Định vị

File đính kèm:

  • pdfBài giảng Cơ sở dữ liệu phân tán - Chương 2 Nguyên lý hệ cơ sở dữ liệu phân tán.pdf
Tài liệu liên quan