Chương 4 trình bày về thiết kế cơ sở dữ liệu phân bố. Các nội dung chính trong chương này gồm có: Các bước thiết kế CSDL phân bố, mục tiêu của thiết kế CSDL phân bố, các cách tiếp cận thiết kế CSDL, thiết kế phân mãnh ngang, thiết kế phân mãnh ngang chính, thiết kế phân mãnh ngang dẫn xuất, thiết kế phân mãnh dọc. Mời các bạn tham khảo.
Trang 1CHƯƠNG IV THIẾT KẾ CƠ SỞ
DỮ LIỆU PHÂN BỐ TP.HỒ CHÍ MINH
Giảng Viên: Th.S Lê Thị Minh Nguyện Email: nguyenltm@hotmail.com
NỘI DUNG
Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Thiết kế phân mãnh dọc
Trang 2Các bước thiết kế CSDL phân bố
Thiết kế CSDL phân tán: Cần phải hiểu
biết thật chính xác về các yêu cầu của ứng
dụng, nhất là đối với các ứng dụng quan
Trang 35 Các bước thiết kế CSDL phân bố
NỘI DUNG
Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Thiết kế phân mãnh dọc
Trang 4Mục tiêu của thiết kế CSDL PB
Tính cục bộ xử lý - processing locality
Phân tán dữ liệu để cực đại hóa cục bộ xử lý
– đặt dữ liệu càng gần các ứng dụng sử dụng
các dữ liệu này càng tốt
Một quan hệ không là một đơn vị phân tán
Tính cục bộ xử lý dựa vào các tham chiếu cục
Điều phối tải làm việc
Cực đại hóa mức độ song song các ứng dụng
Điều phối tải làm việc có thể ảnh hưởng
ngược lại với tính cục bộ xử lý
Tính đồng thời nội truy vấn
Chi phí lưu trữ và khả năng lưu trữ có sẵn
Khả năng lưu trữ có sẵn tại mỗi nơi
Chi phí lưu trữ dữ liệu là không đáng kể so
với các chi phí CPU, nhập/xuất và truyền
thông của các ứng dụng
8 Mục tiêu của thiết kế CSDL PB
Trang 5NỘI DUNG
Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Thiết kế phân mãnh dọc
9
Các cách tiếp cận thiết kế CSDL
Thiết kế từ trên xuống – Top-down design
Thiết kế lược đồ toàn cục
Thiết kế phân mảnh CSDL
Định vị các mảnh tại các nơi
Thiết kế dữ liệu vật lý đặt tại mỗi nơi
Trang 611 Cách tiếp cận từ trên xuống
Cách tiếp cận từ dưới lên
Thiết kế từ dưới lên – Bottom-up design
Chọn một mô hình CSDL chung để mô tả
lược đồ toàn cục của CSDL
Chuyển đổi mỗi lược đồ cục bộ thành mô
hình dữ liệu chung
Tích hợp các lược đồ cục bộ thành một lược
đồ toàn cục chung
12
Trang 7NỘI DUNG
Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Phân mảnh ngang chính là phân chia một
quan hệ dựa vào các vị từ định tính được
định nghĩa trên quan hệ này
Phân mảnh ngang dẫn xuất là phân chia
một quan hệ dựa vào các vị từ định tính
được định nghĩa trên một quan hệ khác
Trang 8 Thông tin về CSDL
Trong lược đồ ý niệm toàn cục, các quan hệ
được kết nối với nhau
Trong mô hình liên kết thực thể (ER model)
• Quan hệ chủ hoặc quan hệ nguồn
• Quan hệ bộ phận hoặc quan hệ đích
• Các hàm OWNER(L) và MEMBER(L)
15 Thiết kế phân mãnh ngang
Biểu diễn các mối liên kết giữa các quan hệ dùng
Thiết kế phân mãnh ngang
Trang 9Thông tin về ứng dụng (application)
Các vị từ được sử dụng trong các truy vấn
Chỉ phân tích các ứng dụng quan trọng để
xác định các vị từ này
Giả sử phân mảnh ngang quan hệ
R(A 1 ,A 2 ,…,A n ), với A i là thuộc tính được định
nghĩa trên miền D i : Chúng ta có các định
nghĩa sau đây:
17 Thiết kế phân mãnh ngang
Thông tin về ứng dụng (application)
Vị từ đơn giản (simple predicate) pj được định
nghĩa trên R có dạng
A i θ value
θ là một trong các phép so sánh =, #, <, ≤, >, ≥
value được chọn từ miền giá trị của Ai (value € Di)
Ký hiệu Pr là tập hợp các vị từ đơn giản được
định nghĩa trên quan hệ R Các phần tử của
Pr được ký hiệu là pj
Thiết kế phân mãnh ngang
Trang 10Thông tin về ứng dụng (application)
Vị từ giao tối thiểu (minterm predicate) m j đối
với tập các vị từ đơn giản P r ={p 1 , p 2 ,…, p m } là
một tổ hợp giao của tất cả các vị từ xuất hiện
trong P r (ở dạng thông thường hoặc ở dạng
phủ định) sao cho m j không bị mâu thuẫn
m j = ᴧp* i , 1 ≤ i ≤ m
Gọi tập các vị từ giao tối thiểu:
M={m1, m2,…, mz}
19 Thiết kế phân mãnh ngang
Thông tin về ứng dụng (application)
Độ chọn giao tối thiểu sel(m j ) (mintern
selectivity) – số bộ quan hệ sẽ được truy xuất
bởi một truy vấn tương ứng với một vị từ giao
tối thiểu cho trước
Tần số truy xuất acc(q i ) (access frequency) –
tần số của các ứng dụng truy xuất dữ liệu
Q={q 1 , q 2 , , q q } tập hợp các truy vấn, acc(q i )
cho biết tần số truy vấn
20 Thiết kế phân mãnh ngang
Trang 11NỘI DUNG
Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Fi điều kiện chọn của mảnh Ri
Nếu Fi ở dạng chuẩn giao thì nó là một vị từ
giao tối thiểu mi
Tính đúng đắn của phân mảnh ngang chính:
mỗi bộ của quan hệ chủ được đưa vào trong
một và chỉ một mảnh
Trang 12Xác định phân mảnh ngang chính của một
quan hệ chủ là xác định một tập các vị từ
chọn (selection predicate) đầy đủ và tách
biệt
Các bộ thuộc cùng một mảnh phải được
tham chiếu giống nhau trong tất cả các
ứng dụng
Mảnh ngang hoặc mảnh giao tối thiểu R i
bao gồm tất cả các bộ của R thỏa mãn vị
từ giao tối thiểu m i
23 Thiết kế phân mãnh ngang chính
Các bước thiết kế phân mảnh ngang
Bước 1: Tìm tập các vị từ chọn P r’ là đầy đủ
và tối thiểu
Bước 2: Tìm tập các vị từ giao tối thiểu có thể
đuợc định nghĩa trên các vị từ của P r’
24 Thiết kế phân mãnh ngang chính
Trang 13Một vị từ đơn giản pi được gọi là thích hợp
(relevant) đối với một tập P r, nếu tồn tại ít
nhất hai vị từ giao tối thiểu mi và mj của
P r mà các biểu thức của chúng chỉ khác
nhau ở p i (m i chứa p i , m j chứa ¬p j) và tồn
tại ít nhất một ứng dụng tham chiếu khác
nhau đến 2 mảnh f i và f j (tương ứng với m i
và m j)
25 Thiết kế phân mãnh ngang chính
Một tập vị từ đơn giản Pr được gọi là đầy
đủ (complete) nếu và chỉ nếu 2 bộ nào
thuộc bất kỳ mảnh giao tối thiểu nào được
định nghĩa theo P r , thì bất kỳ ứng dụng
nào đều tham chiếu đến hai bộ này cùng
với một xác suất
Một tập các vị từ đơn giản P r được gọi là
tối thiểu (minimal) nếu tất cả các vị từ của
Thiết kế phân mãnh ngang chính
Trang 1427 Thiết kế phân mãnh ngang chính
Pr = (p1, p2,…, pm) – tập các vị từ đơn giản
Để cho Pr biểu diễn phân mảnh đúng đắn
và hiệu quả thì Pr phải đầy đủ và tối thiểu
28 Thiết kế phân mãnh ngang chính
Trang 15EMP(EMPNUM,NAME,SAL,TAX,MGRNUM,DEPTNUM,JOB)
DOM(DEPTNUM)={1,2}
Ứng dụng quan trọng:
Thông tin thành viên là nhân viên các dự án
Dữ liệu các nhân viên là người lập trình
29 Thiết kế phân mãnh ngang chính
Q: Qui tắc cơ bản về tính đầy đủ và tối
thiểu: Một quan hệ hoặc một mảnh được
phân mảnh "thành ít nhất hai phần và
chúng được truy xuất khác nhau bởi ít
nhất một ứng dụng“
Xét thuât tóan COM_MIN
Thiết kế phân mãnh ngang chính
Trang 1631 Thiết kế phân mãnh ngang chính
32 Thiết kế phân mãnh ngang chính
Trang 17Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Thiết kế phân mãnh dọc
Trang 18Thiết kế phân mãnh ngang dẫn xuất
Phân mảnh ngang dẫn xuất được định
nghĩa trên các quan hệ bộ phận của đường
liên kết theo phép chọn trên quan hệ chủ
của đường liên kết này
Đường liên kết giữa quan hệ chủ và quan
Thiết kế phân mãnh ngang dẫn xuất
Trang 19Để thực hiện phân mảnh ngang dẫn xuất
Phép kết phân bố (distributed join) là một
phép kết giữa các quan hệ được phân
Trang 20Đồ thị kết được gọi là hoàn toàn (total)
nếu nó chứa tất cả các cạnh có thể có giữa
các mảnh của R và S
Đồ thị kết được gọi là suy giảm (reduced)
nếu không có một số cạnh giữa các mảnh
của R và S
Đồ thị kết suy giảm phân hoạch (partitioned)
Đồ thị kết suy giảm đơn giản (simple)
39 Thiết kế phân mãnh ngang dẫn xuất
Đồ thị kết suy giảm phân hoạch – bao
gồm hai hoặc nhiều đồ thị con và không
có các cạnh giữa chúng
Đồ thị kết suy giảm đơn giản – phân
hoạch và mỗi đồ thị con có đúng 1 cạnh
40 Thiết kế phân mãnh ngang dẫn xuất
Trang 2141
Đồ thị kết
Đồ thị kết phân hoạch
Đồ thị kết đơn giản
Thiết kế phân mãnh ngang dẫn xuất
Có thể có nhiều đường liên kết đến một
quan hệ R và có nhiều cách phân mảnh
ngang dẫn xuất cho R dựa trên 2 tiêu
chuẩn:
Sự phân mảnh có các đặc điểm kết tốt hơn
Sự phân mảnh được sử dụng trong nhiều
ứng dụng hơn
Thiết kế phân mãnh ngang dẫn xuất
Trang 22NỘI DUNG
Các bước thiết kế CSDL phân bố
Mục tiêu của thiết kế CSDL phân bố
Các cách tiếp cận thiết kế CSDL
Thiết kế phân mãnh ngang
Thiết kế phân mãnh ngang chính
Thiết kế phân mãnh ngang dẫn xuất
Thiết kế phân mãnh dọc
43
Phân mãnh dọc
Phân mảnh tách biệt (Vertical partitioning
fragmentation): các tập thuộc tính không
giao nhau
Phân mảnh nhóm gom tụ (Vertical
clustering fragmentation): các tập thuộc
tính có thể giao nhau
Lưu ý có nhân bản, không nên cập nhật
thường xuyên thuộc tính bị phủ lấp
Phân mảnh tối ưu (Optimal fragmentation)
Tạo lược đồ phân mảnh, tối thiểu hóa thời
gian thực hiện của các ứng dụng
44
Trang 23Cách tiếp cận phân tách (split approach)
QH toàn cục được tách dần dần để tạo mảnh dựa
trên cách phân mảnh có lợi dựa trên truy suất của
các applications
Cách tiếp cận gom nhóm (grouping approach)
Thuộc tính kết hợp dần để tạo mảnh Gắn mỗi
attribute cho mỗi mảnh và sau đó kết hợp dần dần
thỏa một tiêu chuẩn nào đó
45 Phân mãnh dọc
Tự lực/ái lực/lực hút (affinity)
Là số đo lực hút của các thuộc tính
Chỉ ra mức độ liên đới giữa các thuộc tính
Các khái niệm
Tập vấn tin người dùng (ứng dụng): Q=(qi q);
Quan hệ R(Ai n)
Giá trị sử dụng thuộc tính của qi với Aj:
use(qi,Aj)=0/1
Phân mãnh dọc
Trang 24Xét quan hệ:
PROJ(Pno, pname,budget,loc)
q1: Select budget from PROJ
where pno=value
q2: Select pname,budget from PROJ
q3: Select pname from PROJ where loc =value
q4: Select sum(budget)
from PROJ where loc=value
Đặt: PROJ(A1,A2,A3,A4)
47 Phân mãnh dọc
Ma trận sử dụng thuộc tính:
48 Phân mãnh dọc
Trang 25Kiểm tra
Cho các quan hệ toàn cục:
NV(MaNV, Hoten, MaNQL, Phong, Luong, Diachi)
DA(MaDA, TenDA, Diadiem, KP)
Phancong(MaNV,MaDA)
Các quan hệ được phân đoạn như sau:
Trang 26Kiểm tra
NV1(MaNV, Hoten,MaNQL, Diachi, Phong): Gồm các
nhân viên có lương 5tr USD trở lên
NV2(MaNV, Hoten,MaNQL, Diachi, Phong): Gồm các
nhân viên có lương dưới 5tr USD
NV3(MaNV, Hoten, Lương): Gồm các nhân viên có
lương 5tr USD trở lên
NV4(MaNV, Hoten, Lương): Gồm các nhân viên có
lương dưới 5tr USD
DA1: Danh sách dự án ở TP.HCM có KP từ 1 tỉ trở lên;
DA2: Danh sách dự án ở TP.HCM có KP dưới 1 tỉ;
Vì một nguyên nhân giả định, nhân viên
có MaNV NV01005 vi phạm kỷ luật Quyết
định phạt hành chính được thành lập trừ
lương mỗi tháng 2tr., thuyên chuyển công
tác nhân viên này về làm bảo vệ ở dự án
Đồng Nai và rút kinh phí ở dự án nhân
viên này đang công tác 100tr đồng đưa
vào ngân sách cty Viết truy vấn xử lý
trường hợp trên (mức trong suốt định vị
dữ liệu)
52
Trang 2753