Professional Documents
Culture Documents
1
MSSV Tên sinh viên
3/28/22 2
Khái quát về phân mảnh dữ
liệu
Kết luận
3/28/22 3
Phân mảnh (fragmentation)
dữ liệu là việc chia các quan
Khái quát về phân hệ trong một cơ sở dữ liệu
mảnh dữ liệu (CSDL) thành các quan hệ nhỏ
hơn hay còn gọi là các mảnh
(fragment).
3/28/22 4
Khái quát về phân
mảnh dữ liệu
5 3/28/22
Khái quát về phân Các kiểu phân mảnh dữ liệu:
• Phân mảnh ngang
mảnh dữ liệu
• Phân mảnh dọc
• Phân mảnh kiểu kết hợp
Các thông tin yêu cầu cho phân mảnh:
• Thông tin về cơ sở dữ liệu gồm tập các
quan hệ, tập các phụ thuộc.
• Thông tin về các ứng dụng gồm các
câu truy vấn trên các quan hệ.
3/28/22 6
Lý do phân mảnh dữ liệu:
• Xuất phát từ đặc điểm của CSDL tập trung,
cách thức truy cập vào các CSDL tập trung.
Đặc điểm và yêu cầu của ứng dụng truy vấn.
• Tăng mức độ hoạt động đồng thời và tăng
Khái quát về lưu lượng hoạt động của hệ thống.
phân mảnh
Một số hạn chế:
dữ liệu • Tăng chi phí truy xuất dữ liệu đến các mảnh
và tăng chi phí kết nối các mảnh.
• Việc kiểm soát ngữ nghĩa, bảo đảm tính độc
lập dữ liệu, toàn vẹn dữ liệu sẽ gặp khó khăn
hơn.
3/28/22 7
3/28/22
a , k | a R ,k k
1.n; R k F k
| R F
i i R
R R1 R 2
... R n
Với ►< là phép toán nửa kết (Semi Join)
3/28/22 14
Phân mảnh dọc
• Tính tách biệt:
,k j | R
k j k
Rj D
Với D là tập thuộc tính khóa của R và Rk j
3/28/22 15
Thông tin cần thiết của phân mảnh dọc
• Ma trận giá trị sử dụng thuộc tính:
Xét: Q={q1,q2,..,qq} :tập các câu truy vấn
R(A1,A2,…,An):quan hệ toàn cục
A use q i,:Ma
A j trận thuộc tính sử dụng.Với i=1,…,q và j= 1,…,n
qxn
3/28/22 Nhóm 2 16
Thông tin cần thiết của phân mảnh dọc
Ví dụ 4: Xét 4 câu truy vấn sau đối với quan hệ BRANCH
q1: Tìm vốn của chi nhánh theo mã chi nhánh
SELECT VON
FROM BRANCH
WHERE MACN=Value
q2: Tìm tên chi nhánh và vốn của tất cả các chi nhánh
SELECT TENCN, VON
FROM BRANCH
q3: Tìm tên chi nhánh theo tên địa điểm
SELECT TENCN
FROM BRANCH
WHERE DDIEM=Value
q4: Tìm tổng vốn của các chi nhánh tại mỗi thành phố
SELECT SUM(VON)
FROM BRANCH
WHERE DDIEM=Value
3/28/22 17
Thông tin cần thiết của phân mảnh dọc
AA aff Ai, A j nxn
Với:
aff ( Ai , A j )
k :[( use ( qk , Ai ) use ( qk , A j )
ref (q )acc (q )
]1Sl
l k l k
Trong đó:
ref(qk) :số truy xuất đến các thuộc tính (Ai,Aj) cho mỗi ứng dụng
của qk tại vị trí Sl.
acc(qk) :số đo tần số truy xuất ứng dụng.
3/28/22 19
Thông tin cần thiết của phân mảnh dọc
Ví dụ 5:
Giả sử ref(qk)=1 cho tất cả qk và Sl. Số đo tần số truy xuất ứng dụng giả thiết
như sau:
acc1(q1)=12 acc2(q1)=15 acc3(q1)=8
acc1(q2)=5 acc2(q2)=0 acc3(q2)=0
acc1(q3)=25 acc2(q3)=20 acc3(q3)=25
acc1(q4)=2 acc2(q4)=0 acc3(q4)=0
Tính số đo ái lực giữa các thuộc tính A1 và A3 ứng dụng duy nhất truy xuất đến
cả hai thuộc tính này là
l q13 nên ta có:
aff ( A1 , A3 ) acc1 (qk ) acc1 (q1 ) acc2 (q1 ) acc3 (q1 ) 35
k 1 l 1
3/28/22 20
Thông tin cần thiết của phân mảnh dọc
Ta có được ma trận lực hút thuộc tính như sau:
A1 A2 A3 A4
AA A1 35 0 35 0
A2 0 75 5 70
A3 35 5 42 2
A4 0 70 2 72
3/28/22 21
Phân mảnh hỗn hợp
Trong thực tế, hầu hết các trường hợp phân mảnh ngang hay phân mảnh dọc đơn giản của CSDL
không thoả mãn yêu cầu người sử dụng. Thường CSDL được phân mảnh dọc sau đó phân mảnh ngang,
tạo ra sự phân chia theo cấu trúc cây (hình dưới). Chiến lược phân mảnh này gọi là phân đoạn lai, hay
phân mảnh trộn, hay phân mảnh lồng.
R
H H
R1 R
• Phân mảnh dọc nói riêng và phân mảnh nói chung là một phần trong quá
trình thiết kế các hệ cơ sở dữ liệu phân tán,là công việc đầu tiên phải
thực hiện.với mục đích tạo ra các đơn vị cấp phát logic,sao cho chi phí
để thực hiện truy vấn thông tin là thấp nhất.
3/28/22 28
Bài thuyết trình đến đây là kết thúc
Cảm ơn các bạn đã lắng nghe.