Bài giảng Thiết kế cơ sở dữ liệu phân tán nêu chiến lược phân tán, các yêu cầu của thiết kế phân tán, phân mảnh, cấp phát dữ liệu, thiết kế DDB trên ORACLE. Bài giảng được trình bày khoa học, súc tích giúp các bạn sinh viên tiếp thu bài học nhanh.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Thiết kế cơ sở dữ liệu phân tán - TS. Hồ Bảo Quốc
- Thiết kế cơ sở dữ liệu phân
tán
TS. Hồ Bảo Quốc
- Nội dung
• Chiến lược phân tán
• Các yêu cầu của thiết kế phân tán
• Phân mảnh
• Cấp phát dữ liệu
• Thiết kế DDB trên ORACLE
- Vấn đề
• Đối với một hệ phân tán tổng quát
Phải quyết định vị trí phân bố dữ liệu và chương
trình trên các máy trên hệ thống mạng cũng
như có thể phải thiết kế cả hệ thống mạng
• Đối với một HQTCSDL phân tán
– Nơi đặt HQTCSDL phân tán
– Nơi đặt các ứng dụng chạy trên CSDL
- Trục tham chiếu
- Chiến lược phân tán
• Từ trên xuống (Top down)
– Xuất phát từ một lược đồ toàn cục để xây
dựng các lược đồ cục bộ
– Hệ thống thuần chủng
• Từ dưới lên (Bottom – up)
– Tích hợp các lược đồ cục bộ đã có sẳn
– Hệ thống đa chủng
- Thiết kế từ trên xuống
- Các yêu cầu của thiết kế phân tán
• Tại sao phải phân mảnh ?
• Phân mảnh như thế nào ?
• Bao nhiêu mảnh sẽ phải phân ?
• Làm sao kiểm tra tính đúng đắn ?
• Phân bố các mảnh như thế nào ?
• Các yêu cầu thông tin ra sao ?
- Phân mảnh
• Chúng ta không thể chỉ phân tán các quan hệ !!!
• Đơn vị phân mảnh sẽ như thế nào là hợp lý ?
– Quan hệ ?
• Truy xuất thường trên các khung nhìn (view) : chỉ là tập con
của quan hệ
• Đòi hỏi nhiều xử lý
– Các phân mảnh của quan hệ
• Cho phép xử lý đồng thời trên các mảnh của một quan hệ
• Cho phép truy vấn tin song hành
• Một khung nhìn được định nghĩa trên nhiều mảnh => đòi hỏi
nhiều xử lý
• Khó kiểm sóat dữ liệu ngữ nghĩa (semantic data control)
- Một ví dụ về phân mảnh ngang
- Một ví dụ về phân mảnh dọc
- Cấp độ phân mảnh
- Tính đúng đắn của phân mảnh
• Tính đầy đủ
– Một LDQH R được phân ră thành n lược đồ con R1,
R2,…Rn là đầy đủ nếu và chỉ nếu mỗi yếu tố dữ liệu
trên R đều có thể tìm thấy trong một vài Ri
• Tính tái thiết được
– Nếu một LDQH R được phân mảnh thành n lược đồ
con R1,R2,…,Rn thì phải tồn tại một phép toán quan
hệ ∆ sao cho
R = ∆ Ri Ri, i=1..n
• Tính tách biệt
– Nếu một LDQH R được phân ră thành n lược đồ con
R1,,R2,…Rn và một mục dữ liệu di trong Rj, thì nó sẽ
không nằm trong Rk nào khác (k=1..n và k≠j)
- Các giải pháp phân bổ
• Không nhân bản
– CSDL được phân hoặch : mỗi mảnh được phân bổ trên
mỗi vị trí khác nhau
• Có nhân bản
– Nhân bản toàn bộ : mỗi mảnh được phân bổ lên tất cả các
vị trí
– Nhân bản một phần : mỗi mảnh chỉ được phân bổ lên vài vị
trí
• Nguyên tắc chủ đạo
– Nếu truy vấn chỉ đọc > truy vấn cập nhật thì việc nhân bản
là thuận lợi ngược lại thì nhân bản có thể gây nên nhiều
vấn đề
- Các yếu tố thông tin cần thiết
• Thông tin về có sở dữ liệu
• Thông tin về các ứng dụng
• Thông tin về mạng truyền thông
• Thông tin về hệ thống máy
- Các lọai phân mảnh
• Phân mảnh ngang
– Phân mảnh ngang nguyên thủy
– Phân mảnh ngang dẫn xuất
• Phân mảnh dọc
• Phân mảnh tổ hợp
- Phân mảnh ngang nguyên
thủy
- Các thông tin cần thiết
• Thông tin về các ứng dụng
– Vị từ đơn giản (predicate simple): cho một LDQH R(A1,A2,…,An),
một vị từ đơn giản pj là một biểu thúc luận lý
Pj : Ai giá trị
ở đây = {=,,≥,≠}, giá trị Dom(Ai)
Với một R, chúng ta định nghĩa Pr ={p1,p2,…,pm}
Ví dụ : JNAME =« Maintenance »
BUDGET< 200000
– Vị từ hội sơ cấp (minterm predicate) là hội (conjunction) của các vị
từ đơn giản
định nghĩa M={m1,m2,…,mz} như sau :
- Các thông tin cần thiết (tt.)
• Điều kiện của một câu truy vấn có thể
được biểu diễn dưới dạng chuẩn hội
(conjunctive normal form) của các vị từ hội
sơ cấp
E= mi
Không mất tính tổng quát chúng ta sẽ làm việc với các vị từ sơ
cấp
Vấn đề là làm sao xác định được một tập các vị từ đơn giản
đầy đủ và tối thiểu
- Các thông tin cần thiết (tt.)
Ví dụ : với Pr gồm 2 vị từ hội đơn giản
JNAME =« Maintenance »;BUDGET≤ 200000
chúng ta có các vị từ hội sơ cấp sau :
- Các thông tin cần thiết (tt.)
• Thông tin về cơ sở dữ liệu
– Các mối liên hệ (relationships)
– Lực lượng của quan hệ card(R)