I: Lý Thuyết
Câu 1:CSDLPT là gì? Sự cần thiết của phân tán dữ liệu? (Mô Hình CSDLPT),
Câu 2: Khái niệm phân mảnh, các kiểu phân mảnh dữ liệu,diều kiện phân mảnh, thông tin phân
mảnh?
Câu 3: Khái niệm phân mảnh ngang, các kiểu phân mảnh ngang, điều kiện phân mảnh ngang,
thông tin phân mảnh và thuật toán phân mảnh?
Câu 4: Khái niệm phân mảnh dọc, các kiểu phân mảnh dọc, điều kiện phân mảnh dọc?
Câu 5:cấp phát dữ liệu?
Câu 6:tối ưu hóa phân mảnh?
II:Bài Tập
1: Bài tập trong phần phân mảnh
2:Các câu hỏi trong tài liệu giáo trình
Nguồn : Đề Cương Cơ Sở Dữ Liệu Phân Tán />Diễn Đàn Sinh Viên Học Viện Công Nghệ Bưu Chính Viễn Thông Hà Nội.
Follow us: svptit.vn on Facebook
Câu 1: Cơ sở phân tán là gì? Sự cần thiết phân tán dữ liệu
1. Cơ sở phân tán là:
+ Cơ sở dữ liệu phân tán là một tập các cơ sở dữ liệu có quan hệ với nhau về mặt logic và được
phân bố trên một mạng máy tính. Hệ quản trị cơ sở dữ liệu phân tán là hệ thống phần mềm cho
phép quản trị cơ sở dữ liệu phân tán và làm cho sự phân tán đó là trong suốt đối với người sử
dụng.
+ Trong mô hình cơ sở dữ liệu phân tán bản thân cơ sở dữ liệu có ở trên nhiều máy tính khác
nhau. Như vậy, đặc trưng của cơ sở dữ liệu phân tán là các CSDL được phân bố trên mạng máy
tính và có quan hệ với nhau về mặt logic.
2. Sự cần thiết phân tán dữ liệu:
2.1 Sự phát triển của các cơ cấu tổ chức
Cùng với sự phát triển cuả xã hội, nhiều cơ quan, xí nghiệp có cơ cấu tổ chức không tập trung,
hoạt động phân tán trên phạm vi rộng. Vì vậy thiết kế và cài đặt cơ sở dữ liệu phân tán là phù
hợp, đáp ứng mọi nhu cầu truy xuất và khai thác dữ liệu Cùng với sự phát triển của công nghệ
viễn thông, tin học, động cơ thúc đẩy kinh tế, việc tổ chức các trung tâm máy tính lớn và tập
trung trở thành vấn đề cần nghiên cứu. Cơ cấu tổ chức và vấn đề kinh tế là một trong những
nguyên nhân quan trọng nhất của sự phát triển cơ sở dữ liệu phân tán.
2.2 Giảm chi phí truyền thông
+ Trong thực tế, sử dụng một số ứng dụng mang tính địa phương sẽ làm giảm chi phí truyền
thông. Bởi vậy, việc tối ưu hoá tính địa phương của các ứng dụng là một trong những mục tiêu
chính của việc thiết kế và cài đặt một CSDLPT.
2.3 Hiệu quả công việc
+ Sự tồn tại một số hệ thống xử lý điạ phương đạt được thông quan việc xử lý song song. Vấn
đề này có thể thích hợp với mọi hệ đa xử lý. CSDLPT có thuận lợi trong phân tích dữ liệu phản
ánh điều kiện phụ thuộc của các ứng dụng, cực đại hoá tính địa phương của ứng dụng. Theo
cách này tác động qua lại giữa các bộ xử lý được làm cức tiểu. Công việc được phân chia giữa
các bộ xử lý khác nhau và tránh được các tắc nghẽn thông tin trên mạng truyền thông hoặc các
dịch vụ chung của toàn hệ thống. Sự phân tán dữ liệu phản ánh hiệu quả làm tăng tính địa
phương của các ứng dụng.
2.4 Độ tin cậy và tính sẵn sàng
+ Cách tiếp cận CSDLPT, cho phép truy nhập độ tin cậy và tính sẵn sàng cao hơn. Tuy nhiên, để
đạt được mục đích đó là vấn đề không đơn giản đòi hỏi kỹ thuật phức tạp. Những lỗi xuất hiện
trong một CSDLPT có thể xảy ra nhiều hơn vì số các thành phần cấu thành lớn hơn, nhưng ảnh
hưởng của lỗi chỉ ảnh hưởng tới các ứng dụng sử dụng các site lỗi. Sự hỏng hóc của toàn hệ
thống hiếm khi xảy ra.
+ CSDLPT là sự tập hợp các dữ liệu thuộc cùng một hệ thống về mặt logic nhưng phân bố trên
các site của mạng máy tính. Công nghệ CSDLPT là sự kết hợp giữa hai vấn đề phân tán và hợp
nhất:
• Phân tán : phân tán dữ liệu trên các site của mạng
• Hợp nhất : hợp nhất về mặt logic các dữ liệu phân tán sao cho chúng xuất hiện với người sử
dụng giống như với CSDL đơn lẻ duy nhất.
Câu 2:Khái niệm phân mảnh, các kiểu phân mảnh dữ liệu, điều kiện phân mảnh, thông tin
phân mảnh?
1. Khái niệm phân mảnh:
+ Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị dữ liệu, sẽ
cho phép thực hiện nhiều giao dịch đồng thời. Đồng thời việc phân mảnh các quan hệ cũng cho
phép thực hiện song song một câu vấn tin bằng cách chia nó thành một tập các câu vấn tin con
hoạt tác trên các mảnh. Vì thế việc phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và tăng
lưu lượng hoạt động của hệ thống.
2. Các kiểu phân mảnh dữ liệu:
+ Phân mảnh theo chiều dọc: các quan hệ được chia theo chiều dọc. Các quan hệ mảnh có thể
có một số thuộc tính chung( khóa chẳng hạn) khi kết nối tự nhiên các mảnh sẽ khôi phục lại quan
hệ gốc. Thực chất, phân mảnh dọc là phép chiếu trên 1 tập con các thuộc tính của quan hệ gốc.
+ Phân mảnh ngang: một quan hệ được chia theo chiều ngang thành nhiều mảnh khác nhau.
Các mảnh là các quan hệ khả hợp với quan hệ gốc. Thực chất đây là các phép chọn quan hệ
gốc
thỏa mãn các biếu thức điều kiện cho trước. Câc quan hệ mảnh không có các bộ chung.
3. Điều kiện phân mảnh:
+ Trong các hệ quản trị csdl tập trung, cácquan hệ được lưu trữ dưới dạng các bảng 2 chiều.
Các thao tác đối với csdl đượcthực hiện trên các bảng có cấu trúc. Tuy nhiên, trong thực tế, các
ứng dụng chỉyêu cầu thao tác trên các tập con của quan hệ. Vì vậy, có thể cho tập con củaquan
hệ là đơn vị truy xuất thông tin để phân tán dl trên mạng máy tính.
+ Việc phân rã 1 quan hệ hình thành nhiềumảnh, mỗi mảnh được xử lý như một đơn vị dữ liệu,
sẽ cho phép thực hiện nhiềugiao dịch đồng thời. Đồng thời việc phân mảnh các quan hệ cũng
cho phép thựchiện song song 1 câu vấn tin bằng cách chia nó thành 1 tập các câu vấn tin
conthực hiện trên các mảnh, trên các địa phương khác nhau. Vì thế việc phân mảnhsẽ làm tăng
mức độ hoạt động đồng thời và tăng lưu lượng hoạt động của hệthống.
+ Những ứng dụng có những yêu cầu “ xung đột”sẽ làm hạn chế hiệu quả của việc phân rã quan
hệ thành các mảnh.
+ Những ứng dụng có khung nhìn đc định nghĩatrên nhiều mảnh khác nhai sẽ làm giảm hiệu suất
hoạt động của hệ thống, làmtăng chỉ phí truy xuất dữ liệu đến các mảnh và tăng chi phí.
+ Việc kiểm soát ngữ nghĩa, đảm bảo tính độc lập dữ liệu, đặc biệt là vấn đề ktra tính toàn vẹn dl
sẽ khó khăn hơn rất nhiều.
4. Thông tin phân mảnh:
• Thông tin về csdl bao gồm tập các quan hệ, tập các phụ thuộc.
• Thông tin các ứng dụng bao gồm các câu truy vấn trên quan hệ.
• Thông tin về mạng máy tính, cấu trúc, băng thông...
• Thông tin về hệ thống máy tính,bộ nhớ lưu trữ...
( chỉ sử dụng trong các mô hình cấp phát, không sử dụng trong các thuật toán phân mảnh dữ
liệu).
Câu 3:Khái niệm phân mảnh ngang, các kiểu phân mảnh ngang, điều kiện phân mảnh
ngang. Thông tin phân mảnh và thuật toán phân mảnh ngang?
1. Khái niệm phân mảnh ngang:
+ Phân mảnh ngang chính là việc chia quan hệ thành nhiều các nhóm bộ. Kết quả của quá trình
phân mảnh ngang là các quan hệ con, số lượng quan hệ con phụ thuộc vào điều kiện ràng buộc
của các thuộc tính. Và các bộ trong các quan hệ con là tách biệt nhau
Phân mảnh ngang thực chất là phép chọn quan hệ thỏa mãn một biểu thức điều kiên cho trước.
2. Các kiểu phân mảnh ngang:
+ Có hai loại phương pháp phân mảnh ngang là:
• Phân mảnh ngang nguyên thủy: Là phân mảnh ngang được thực hiện trên các vị từ của chính
quan hệ đó.
• Phân mảnh ngang dẫn xuất: Là phân rã một quan hệ dựa trên các vị từ của quan hệ khác.
3. Điều kiện phân mảnh ngang:
( Chưa có )
4. Thông tin phân mảnh ngang:
+ Thông tin về csdl: là các thông tin về lược đồ khái niệm toàn cục của hệ csdl. Trong mô hình
quan hệ, các mối quan hệ giữa các thực thể được mô tả như là những quan hệ. Trong mô hình
quan hệ thực thể ( ER ), các mối liên hệ giữa các đối tượng csdl được mô tả rõ ràng hơn
+ Thông tin về ứng dụng: để thực hiện phân mảnh cần phải có thông tin định tính và thông tin
định lượng. Thông tin định tính hướng dẫn cho hoạt động phân mảnh, thông tin định lượng chủ
yếu sử dụng trong các mô hình cấp phát.
5. Thuật toán phân mảnh ngang:
+ Phân mảnh ngang nguyên thủy:
Phân mảnh ngang nguyên thuỷ được định nghĩa bằng một phép toán chọntrên các quan hệ chủ
nhân của một lược đồ của CSDL. Vì thế cho biết quan hệ R, cácmảnh ngang của R là các Ri:
Ri= σFi(R), 1 ≤ i ≤ z.
Trong đó Fi là công thức chọn được sử dụng để có được mảnh Ri.
Chú ý rằngnếu Fi có dạng chuẩn hội, nó là một vị từ hội sơ cấp (mj)
+ Phân mảnh ngang dẫn xuất:
Phân mảnh ngang dẫn xuất được định nghĩa trên 1 quan hệ thành viên của đường nối dực theo
phép toàn chọn trên quan hệ chủ nhân của đường nối đó.
Như thế nếu cho trước 1 đường nối L, trong đó owner (L)=S và member(L)=R và các mảnh
ngang dẫn cuất của R được định nghĩa là:
Ri=R|>
Trong đó w là số lượng các mảnh được định nghĩa trên R và Si= σFi(S) với Fi là công thực định
nghĩa mảnh ngang nguyện thủy Si.
+ Phân mảnh dọc quan hệ R sinh ra các mảnh R1, R2, ... Rn, sao cho mỗi mảnh chứa 1 tập con
các thuộc tính của quan hệ R và khóa của nó. Mục đích của phân mảnh dọc là phân chia quan
hệ R thành tập các quan hệ nhỏ hơn để có nhiều ứng dụng có thể chỉ cần thực hiện trên 1 mảnh.
Mảnh tối ưu là mảnh sinh ra 1 lược đồ phân mảnh cho phép giảm tối thiểu thời gian thực hiện
của ứng dụng trên mảnh đó.
Kỹ thuật hơn kĩ thuật phân mảnh ngang, ví số lựa chọn phân hoạch rất lớn.
Để có được các lời giải tối ưu cho bài toán phân mảnh dọc phức tạp phân mảnh dọc rất không
hiệu quả, phải sử dụng 2 phương pháp Heuristic cho phân mảnh dọc các quan hệ toàn cục:
- - Nhóm thuộc tính: bắt đầu gán mỗi thuộc tính cho 1 mảnh và trong mỗi bược, nối 1 số mảnh lại
vs nhau cho đến khi thỏa điều kiện.
- - Tách mảnh: bắt đầu bằng 1 quan hệ và quyết định cách phân chia chỉ dựa trên hành vi truy
nhập của các ứng dụng trên thuộc tính.
2. Các kiểu phân mảnh dọc:
+ Phân mảnh dọc dư thừa:
(redundantfragmentation) là các phân mảnh dọc chứa 1 hoặc nhiều thuộc tính chung không
khóa.
+ Phân mảnh dọc không dư thừa: (non -redundantfragmentation) là các phân mảnh dọc không
chứa thuộc tính chung không khóa nào cả.
Câu 4: khái niệm phân mảnh dọc, các kiểu phân mảnh dọc, điều kiện phân mảnh dọc?
1. Khái niệm phân mảnh dọc:
+ Phân mảnh dọc quan hệ R sinh ra các mảnh R1, R2, ... Rn, sao cho mỗi mảnh chứa 1 tập con
các thuộc tính của quan hệ R và khóa của nó. Mục đích của phân mảnh dọc là phân chia quan
hệ R thành tập các quan hệ nhỏ hơn để có nhiều ứng dụng có thể chỉ cần thực hiện trên 1 mảnh.
Mảnh tối ưu là mảnh sinh ra 1 lược đồ phân mảnh cho phép giảm tối thiểu thời gian thực hiện
của ứng dụng trên mảnh đó.
Kỹ thuật hơn kĩ thuật phân mảnh ngang, ví số lựa chọn phân hoạch rất lớn.
Để có được các lời giải tối ưu cho bài toán phân mảnh dọc phức tạp phân mảnh dọc rất không
hiệu quả, phải sử dụng 2 phương pháp Heuristic cho phân mảnh dọc các quan hệ toàn cục:
- - Nhóm thuộc tính: bắt đầu gán mỗi thuộc tính cho 1 mảnh và trong mỗi bược, nối 1 số mảnh lại
vs nhau cho đến khi thỏa điều kiện.
- - Tách mảnh: bắt đầu bằng 1 quan hệ và quyết định cách phân chia chỉ dựa trên hành vi truy
nhập của các ứng dụng trên thuộc tính.
2. Các kiểu phân mảnh dọc:
+ Phân mảnh dọc dư thừa:
(redundantfragmentation) là các phân mảnh dọc chứa 1 hoặc nhiều thuộc tính chung không
khóa.
+ Phân mảnh dọc không dư thừa: (non -redundantfragmentation) là các phân mảnh dọc không
chứa thuộc tính chung không khóa nào cả.
3. Điều kiện phân mảnh dọc:
(chưa có)
Câu 5: Cấp phát dữ liệu
1. Bài toán cấp phát:
Giả sử có 1 tập các mảnh F={F1,F2,...,F3} và 1 mạng bao gồm các vị trí S={S1,S2,...,Sm} trên đó
có 1 tập các ứng dụng Q={q1,q2,...,qq} đang chạy.
Bài toán cấp phát là tìm 1 phân phối “tối ưu” của F cho S
Tình tối ưu có thể định nghĩa ứng với 2 số đo.
- Chi phí nhỏ nhất: hàm chi phí có chỉ lưu mảnh Fi vào vị trí Sj, chi phí vấn tin mảnh Fi vào vị trí
Sj, chi phí cập nhật Fi tại tất cả mọi vị trí có chứa nó và chi phí truyền dữ liệu. Vì thế, bài toán cấp
phát cố gắng tìm 1 lược đồ cấp phát với hàm chi phí tổ hợp nhỏ nhất.
- Hiệu năng: chiến lược cấp phát được thiết kế nhằm duy trì 1 hiệu quả lớn đó là hạ thấp thời
gian đáp ứng và tăng tối đa lưu lượng hệ thống tại mỗi vị trí.
2. Yêu câu về thông tin:
a) Thông tin về CSDL: Để thực hiện việc phân mảnh ngang, cần định nghĩa độ tuyển hội sơ
cấp. Mở rộng định nghĩa này cho các mảnh.
• Ký hiệu là seli(Fj) là độ tuyển của mảnh Fj ứng với truy vấn qi. là số lượng các bộ
Fj được truy nhập để xử lý qi.
• Kích thước của một mảnh Fj được định nghĩa bởi:
size(Fj) = card(Fj)*length(F),
Trong đó length(Fj) là chiều dài (tính theo byte) của một bộ trong mảnh Fj.
b) Thông tin về ứng dụng:
• Ký hiệu là RRij là số truy nhập đọc do truy vấn qi thực hiện trên mảnh Fj.
• Ký hiêu URij tương ứng với RRij là các truy nhập cập nhật
• Ma trận UM gồm các phần tử tương ứng uij như sau:
[IMG]file:///C:/Users/phuongCN/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[/IMG]
• Ma trận RM gồm các phần tử tương ứng rij như sau:
[IMG]file:///C:/Users/phuongCN/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg[/IMG]
• Một vectơ O gồm các giá trị o(i) mô tả trạm đưa ra câu truy vấn qi.
c) Thông tin về vị trí: Cần phải biết khả năng lưu trữ và xử lý của mỗi một vị trí. Những
giá trị này có thể tính được bằng các hàm thích hợp hoặc bằng các phương pháp đánh giá
đơn giản. Chi phí đơn vị để lưu trữ dữ liệu tại trạm Sk được ký hiệu là USCk. Chi phí xử lý
một công việc tại vị trí Sk là LPCk. Đơn vị công việc phải giống với đơn vị của RR và UR.
d) Thông tin về mạng: Giả sử tồn tại một mạng đơn giản, chi phí để truyền được định nghĩa
theo đơn vị khung dữ liệu. Ký hiệu gij là chi phí truyền một khung giữa hai vị trí Si và Sj.
Hàm fsize tính được kích thước tính theo byte của một khung dữ liệu.
3. Mô hình cấp phát.
Mô hình cấp phát có mục tiêu làm giảm thiểu tổng chi phí xử lý và lưu trữ dữ liệu trong khi vẫn
đang cố gắng đáp ứng được các đòi hỏi về thời gian đáp ứng. Mô hình của chúng ta có hình thái
như sau:
Min(Total Cost)
Ứng với ràng buộc thời gian đáp ứng, ràng buộc lưu trữ, ràng buộc xử lý.
Biến quyết định xij được định nghĩa
là[IMG]file:///C:/Users/phuongCN/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg[/IMG]
Một vấn đề rất quan trọng cần đề cập ở đây. Hàm chi phí truy xuất giả sử rằng việc xử lý một câu
vấn tin có bao gồm cả việc phân rã nó thành một tập các vấn tin con hoạt tác trên một mảnh
được lưu tại vị trí đó, theo sau là truyền kết quả trở lại về vị trí đã đưa ra vấn tin
Hệ số chi phí duy trì tính toàn vẹn có thể được mô tả rất giống thành phần xử lý ngoại trừ chi phí
xử lý cục bộ một đơn vị cần thay đổi nhằm phản ánh chi phí thực sự để duy trì tính toàn vẹn.
- Ràng buộc:
Ràng buộc thời gian đáp ứng cần được đặc tả là thời gian thực thi của qi< thời gian đáp ứng lớn
nhất của qi với mọi qi thuộc Q.
Người ta thích đặc tả số đo chi phí của hàm theo thời gian bởi vì nó đơn giản hóa đặc tả về ràng
buộc thời gian thực thi.
Nguồn : Đề Cương Cơ Sở Dữ Liệu Phân Tán />Diễn Đàn Sinh Viên Học Viện Công Nghệ Bưu Chính Viễn Thông Hà Nội.
Follow us: svptit.vn on Facebook
ĐỀ 1: Thời gian làm bài: 90 phút
1 .Trình bày tiêu chuẩn hóa hệ quản trị CSDl bằng tiếp cận dựa vào các thành phần
2. Định nghĩa phân mảnh hỗn hợp,các mảnh hỗn hợp có cần thêm các trường khóa không?
3 .Trình bày 4 bước liên tiếp của tầng phân rã vấn tin
4 .Ý nghĩa thuật toán System R*
Cho các quan hệ sau :
EMP(ENO,ENAME,TITLE)
PROJ(PNO,PNAME,BUDGET)
PAY(TITLE,SAL)
ASG(ENO,PNO,DUR,RESP)
Xét câu vấn tin như sau:
SELECT ENAME , RESP
FROM EMP,ASG,PROJ
WHERE EMP.ENO = ASG.ENO
AND PNAME= “CAD/CAM”
AND DUR >= 36
AND TITLE = “ programmer”
Vẽ đồ thị vấn tin và chỉ ra chỗ sai của câu vấn tin này.
ĐỀ 4
1.Trình bày tính tự vận hành của Gligor và Popescu – Zelatin vào năm 1986
2.Những thông tin nào sẽ cần thiết cho việc phân mảnh và cấp phát
3.Ba tác nhân chính liên quan đến việc kiểm soát cáp quyền là bộ ba gì?
4.Trình bày các chiến lược tìm kiếm
Cho các quan hệ sau:
EMP(ENO,ENAME,TITLE)
PROJ(PNO,PNAME,BUDGET)
PAY(TITLE,SAL)
ASG(ENO,PNO,DUR,RESP)
Giả sử EMP và ASG được phân mảnh thành
EMPH1 = бENO≤”E3”(EMP)
EMPH2 = б”E3”
EMP H3 = бENO> ”E6”(EMP)
và
ASGH1 = бENO≤”E3”(ASG)
ASG H2 = бENO> ”E3”(ASG)
Xét câu vấn tin nối
SELECT *
FROM EMP,ASG
WHERE EMP.ENO = ASG.ENO
Nguồn : Đề Thi Cơ Sở Dữ Liệu Phân Tán - C07HTTT />Diễn Đàn Sinh Viên Học Viện Công Nghệ Bưu Chính Viễn Thông Hà Nội.
Follow us: svptit.vn on Facebook