CAC TIEU CHUAN PHAN MANH OOOO e_ Điều kién day du: Completeness condition - Néu quan hệ R duoc phan thanh cac manh R1, R2,.«, Rn, thi mỗi mục dữ liệu có trong R phải có mặt trong 1 hoặ
Trang 1CHƯƠNG II: NGUYÊN LÝ HỆ CSDL
-_ Trong suốt phân tan (Distribution transparency)
— Trong suét giao tac.(Transaction transparency)
— Trong suét Idi (Failure transparency)
— Trong suét hiéu nang (Performance transparency)
Trang 2TRONG SUOT PHAN TAN
Trang 3TONG KET CAC DAC TRUNG TS
TABLE 10.2 A SUMMARY OF TRANSPARENCY FEATURES
FRAUMENI NAME |I0CIIONNAME | THỊN THÍ DBM9 9UPPORIS | HH Of DIBTRIBUTIÚN
IMNSMNINO
Local mapping
lọ No Location transparency Medium
No No Fragmentation transparency High
Trang 4PHAN MANH DU’ LIEU
- 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)
Trang 5Tiép can Bottom-up :
- Nhiéu-database (cé kha nang-kh6ng thuan nhat, tu tri, )
- Khong xet!
Trang 6Hai bài toán trong thiết kế CSDL-PT:
Trang 7CAC TIEU CHUAN PHAN MANH
OOOO
e_ Điều kién day du: (Completeness condition)
- Néu quan hệ R duoc phan thanh cac manh R1, R2,.«, Rn, thi mỗi mục dữ liệu có trong R phải có mặt trong 1 hoặc nhiều mảnh
Ri
e_ Đ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ó
e_ Điêu kiện phân tách được -(Disjointness condition) :
-Nếu quan hệ E được phân mảnh ngang thành các mảnh R1, R2, „n và mục dữ liệu tj năm trong mảnh Rị, thì nó sẽ không nằm trong một mảnh Rk (k<>|) 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
Trang 8CAC TIEU CHUAN PHAN MANH
Trang 9CAC LOAI PHAN MANH
Ss
e 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é la chia quan hệ R thành các tập cón
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)
Trang 10CAC LOAI PHAN MANH
Ss
e 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 =I (thuéc tinh Ai) (R)
(Chú ý các Ri phải chứa một thuộc tính nói để phục hôi R)
Trang 11< Qb
Trang 12# NM Loc Sal #\NM Loc Sal
Trang 16
Thể nào là một phân mảnh tôt?
Trang 17Thể nào là một phân mảnh tôt?
Trang 18THE HIEN CAC TIEU CHUAN CUA PHAN MANH NGANG
Co
R => Fe=fF,, Fp, ., Fy}
e Tinh day dt (Completeness)
- Mọi bộ teR, 3 F,eF ma teF,
e Tinh tach biet (Disjointness)
~ VteFi, “4S Fj mateFj ij
e Tính kiến thiét (construction)
Trang 19Làm thể nào kiểm tra tinh day du
và tính tach biét?
AB
(1) Kiểm tra điều đó bằng “thủ công”!
ví dụ: Fi = Osal<ioE ; F2 = OsabioE
Trang 20Lam thé nao dé co duoc tinh day
đủ và tinh tách biệt?
(2) “Tự động” sinh các mảnh
với những đặc tính :
ePhân mảnh ngang được định nghĩa
bởi các lệnh (với) ving® Select
e Phat ra 1 tập các lệnh select cho
những đặc tính nay
Trang 21Vi du:
e 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
e Budc Tiép: - sinh các vị từ hội sơ cấp/(minterm)
Trang 225<A<10 6i so’ cap (I)
Cac vi
(4) A<10 A A>5 A Loc=SaA A ~Ttroe=©cs>——
(4) A<10 A A>5 /A “t+ceoe=e>+>^A LoC7=GSnp
Trang 24
Fio A>10 A LOC=SA
Trang 25Chu ý: Loại bỏ các phân mảnh phụ
thuộc vào ngữ nghĩa:
Ví dụ : nêu LOC có thể z Sa, z Sa,
chúng ta cân thêm các phân mảnh
F4 5<A<10 A Loc#Saakoc 4SB
Fs A<5 A Loc# San Loc # SB
Fiz; A>=10 A~™Loc # Sa A Loc # SB
Trang 26Tại sao sử dụng thuật toán vị từ hoi so cap (minterm)?
6950
e Phải chứng minh tập các phân mảnh là:
- Đây đủ
- Tách biệt
Trang 27Tổng kết
AB
e Cho các vị từ đơn giản Pr= { p1, p2, pn}
các vị từ hội so cap_(minterm predicates) là:
Trang 28Những vi từ đơn giản nào nên
dùng cho Pr2
Trang 29Tro lai vi du:
E(#, NM, LOC, SAL, )
Trang 30Ba chon lua:
CT (1)Pr={} Fi ={E}
(2) Pr = {LOC=Sa, LOC=Sb}
Fo={ © loc=saE, O loc=Sb E }
(3) Pr = {LOC=Sa, LOC=Sb; Sal<10}
F3={ Oloc=Sa « sal<10 E, Oloc=Sa a sal>10 E,
Olloc=Sb ^ sal<10E, Gloc=sb a sal>10 }
Trang 31Một cách khác:
Loc=Sa ~ sal < 10
Loc=Sa ~ Sal => 10
Qa: Select loc = Sa
\ Loc=Sb a /
sal>10 | °
Trang 33
Những vi từ đơn giản nào nên dung cho Pr?
Ce
© Đặc tính cân có của Pr:
- tối thiêu
-day du
Trang 34Đinh nghĩa không hình thức
Trang 35
Loc=Sa ~ Sal => 10
Loc=Sb ~ sal < 10
Trang 36
Loc=Sb ~ Cũng như F3 oun sal = 10
Trang 37Định nghĩa không hình thức
4953
Tập các vị từ hội P: là tối thiểu nếu không tôn tại Prc Prlà day đủ
Trang 38Trở lại ví dụ:
4
Day du ?
(3) Pr = {LOC=Sa, LOC=Sb, Sal<10} Yes
Pr(2) là tập con của Pr(3),
Do đó Pr(3) không là tối thiểu
Trang 39Phân mảnh ngang suy dẫn
Cho biết tên nhân viên,
danh sách các dự án mà nhân viên tham gia
Trang 40ff NM Loc Sal Hf NM Loc Sal
Trang 41
5 build table 12 rest
Trang 42Phân mảnh ngang suy dẫn
.- ữGGŨỤĨ.//J
R,F ={Fi, Fa, Fn} ree the la
S, D = {Di, Da, .Dn} ở đây Dr=Si< Fi
Qui ước : R là chủ
S là thành viên
Trang 43- Kiem tra tính đây đủ và tách biệt
của phân mảnh suy dân
Những bộ J sẽ không thuộc J1 cũng như không thuộc 12
Phân mảnh không đày đủ
Trang 50Tinh chat: R[IT]=> Ri[TI
(1)Tính đầy đủ
U Ti=T
all i
Trang 54(3) Tính kiến thiết:Kết nỗi không mất thông tin
Trang 56Ái Lực thuộc tính (Attribute affinity)
Co
e Xét lược đô quan hệ R(A¿, As, ,A,.)
e Các ứng dụng Q(q:, q›, ,q )
e Use (qi, Aj) = 1, nếu Aj được gi tham chiêu
0, trong trường hợp ngược lại
Use(qi, AI) : giá trị sử dụng thuộc tính
Trang 57Ái Lực thuộc tính (Attribute affinity)
e Vi du * Ma trận mẫu về giá trị sử dụng thuộc tinh
(Ma trậnái lực thuộc tinh AA)
qaif1 0 +0 `
q2 0 1 1 0 q3 0 1 0 1 q4 ` 0 0 1 1 ~
Trang 58Ái Lực thuộc tính (Attribute affinity) acc
e 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
e 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ị chocầ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
Trang 59Ái Lực thuộc tính (Attribute affinity)
e Tamer Ôzsu nêu công thức đề đo ái lực của 2 thuộc tính Ai, AI:
e Gọi k là sỗ mảnh của quan hệ R R =R;R;Ra R,
e Q = {q1,q2, ,qm)} : tập các ứng dụng trên E
e OQ(A,B) là tập các ứng dụng q của Q mà:
use(q,A) Use(q,B) =1
Trang 60Ái Lực thuộc tính (Attribute affinity)
e Ai luc gitra 2 thuéc tinh Ai va Aj của quan hệ R và tập.ứng
dung Q được định nghĩa:
e Aff(Ai, Aj) = > > ref(q)acc,(q)
qeQ(Ai, Aj) le R,
ref(q) : số truy xuất đến các thuộc tính (Ai, Aj) cho mỗi ứng
dung q tai vi tri R,
acc(q) : tần số truy xuất ứng dụng q đến cac thuuoc tinh Ai,Aj
tai vi tri I.
Trang 61Ái Lực thuộc tính (Attribute affinity)
acc
e Ví dụ : Xét lại ví dụ *, giả sử refi(q) =1 cho tật cả q
và S¡,, và sô mảnh là 3 Tân sô ứng dụng cho mọi
cặp thuộc tính là:
e acc(q1)=15 ,acc(q1)= 20 - ,acc(q†1)= 10
e acc(q2)= 5 ,acc(q2)= 0 , acc(q2) = 0
e acc(q3)= 25 ,acc(q3)= 25 ,acc(q3)= 25 eacc(q4)= 3 ,acc(q4)= 0 , acc(q3) =0
Trang 62Ái Lực thuộc tính (Attribute affinity) acc
e Lúc này số đo ái lực giữa thuộc tính A1 và
Trang 63Ma trân ái lực thu6c tinh (Attribute affinity matrix)
Trang 64Thuật toán năng lượng nỗi BEA (Bond
- 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) la lo’n nhat
Trang 65Thuật toán năng lượng nỗi BEA (Bond
Energy Algorithm)
CO
e AM=) } aff(A, A) [aff(A, A, +) + aff(A,,
i=1 J=†
Với aff(Ao, A)= aff(A,, Ao) = aff(A,,.4; A) =
aff(A,, A,.,) =0, cho moi i, j
(Y nghia ?)
Trang 66Thuật toán năng lượng nỗi BEA (Bond
Energy Algorithm)
e 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 co tinh đối xứng nên SỐ đo ái lực có thé rut gon:
i=1 J=1
Trang 67Thuật toán năng lượng nỗi BEA (Bond
Energy Algorithm)
e Quá trình sinh ma trận ái lực gồm 3 bước:
e 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
e 2 Thực hiện lặp: Lấây lần lượt 1.trong n-i-cột còn lại
(¡ là số cột đã được đặt vào CA) và thử đặt vào i+1 vị
tri con lai trong ma tran CA Chon dat sao cho AM là
lớn nhất Lặp đến hết các cột
e 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
Trang 68Thuật toán năng lượng nỗi BEA (Bond
Energy Algorithm)
e Mot vi du tinh toan cho thuat toan BEA
Trang 69Thuật toán phân mảnh dọc
Trang 70Phan manh lai tap (Hybrid Fragmentation)
Trang 71Kiên thiết lại phân mảnh lai tạp
Trang 72Allocation
Example: E(#,NM,LOC,SAL) =>
F1 = Oloc=sa E ; F2 = Oloc=sb E
Qa: select where loc=Sa
Qb: select where loc=Sb.»
Trang 73Các vẫn đề thảo luận
CO
e Cac truy van bắt đầu từ đâu
e Chi phí truyền thông là gì?
kích thước kết quả,quan hệ, :
e Dung lượng lưu trữ là gì, chỉ phí tại các site ?
Và kích thước của các phần mảnh?
Trang 74Các vẫn đề khác
e 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?
Trang 75Vì sao tiên hành lặp các phân
e Chi phí của việc cập nhật các bản sao?
e Ghi và điều khiển tương tranh?
Trang 76Bài toán tối ưu:
Trang 77Mô hình đơn giản
Xác định các giá tri cho Xj, 1 <j <m,
Sao cho chi phí là nhỏ nhất
Trang 78i: site cd yéu cau
ti: số lượng tin doc tai Si
Cị: - Chỉ phí lẫy tin truy xuất phân mảnh F tại
Sj tu Si
Trang 79Xi: 10 nếu F không lưu trữ tại Š¡
1 nêu F lưu trữ tại-Sị
u¡: lượng tin ghi tại S¡
C©'¡: Chi phí ghi của việc cập nhật F tai Sj tu Si
Trang 80Chi phí lưu trữ:
m
» Xi di i=1
Xi: (0 nếu F không lưu trữ tai Sj
1nếu F lưu trữ tại-S¡
d: — Chỉ phí lưu trữ của F tại Sỉ