Bài Tập môn Hệ Thống Phân Tán
Câu 1: 
!
Định nghĩa CSDL phân tán:
"#$ " %&'()
$*+(,-'#."/0
#1 '2 #(3/4#456
7&89: %&;)189:"$3- ()2<
###$1%#-%&%=%
Giải thích định nghĩa:
>1%?#'@A4/B%+(C
B%+D 5
>E. 0 0"
()(##$%=%
FGDF- 2&/89:H0()(#
%&% (#E#$1%#=%&%=%I1 
EE289:389:;#J5
F(@-DF- 2&/89:"%&<&
# 2&E3I1 E".2%&89:
3K;)89:B2&-?(#E=#H
#-%&%=%5
LGHM)D89:N89:O7=%5P" ')
G/(3M;D@Q89: #10%=
%5
Câu 2:6
I.Giới thiệu Phân mảnh ngang
a. Khái niệm Phân mảnh ngang
R% HS;%&@2 1%
'#$2& /@"57T% %&;-2&I
(U$G#E&&57B$ .<
("#G VG<5
b. Lý do phân mảnh
*B(WX#YG%&;-/@IH0
- 2&56
>#%&@ 1%-ZY[Q--1
-I%W#G5
R%EV%*&-=&\W %(()#1
#-<5
c. Các quy tắc phân mảnh đúng đắn
Tính đầy đủ (Completeness):])G%2^@
<5
Tính tái thiết được (Reconstruction):".=-@2,+
%56
Tính tách biệt (Disjointness):%H0()\G%T
2&X&%&%5
d. Các loại phân mảnh
Phân mảnh ngang nguyên thủy (Primary Horizontal Fragmentation):
9'#$1H_#'M+@<56
Phân mảnh ngang dẫn xuất (Derived Horizontal Fragmentation):9'
#$@32HI* %%&@' -#
()#$@H5
e. Yêu cầu thông tin của phân mảnh ngang
`.MHM%<(I,;0D
F0189:D6
7BD`.2MG#E2II@25
F0189:%<"M ()\- B @<I
@-5F#- IE,2M()@aHM
=32^Z<2^ZH5>3%B
%UYGI+()#$@HI(Wb
%0A'.c$4c#4-%-4IA#-%0A 
%<$()2.d2^(W<"(3
@"$3@%&<5
F0*BD6
7BD`..#GI,G#;I1H_5
`.- 0()#ef,0
2\%+()b#-G5:()0
 B&2 -B.5
PMH0.()MG*B.Y
+ AGg$*()*Bh@#_i
G5
>;EY+%4#445-@e
 I IjI I#-"k %&&()#$%&
%12M$9k9k5
7&+R()#$e"=D
RDkl>4
F#-"lmNInIoIpIqIrs 4()_+%12M$/k
49k5
P(;I-#(3()\eI%1#9kIE".Y()
;G+Rt#$e5
>;RtNmRDkl>4s5F$#-'MX,;-
''/Rt5
-%&;RtNmk Ik IjIk s +#$@ekI;
+&G7kNm% I% IjI%uvs() D
7kNm% w% N k x3KpHp%IKpypvs
F#-"k xNk -?k xNzk 5>M%T+".YG
#-+&G(3='$-?=/5
f. Ví dụ minh họa
{["2SinhVien\%0DMaSV, HoTen, NgaySinh, Khoa,
DiemTB.
L */$- #(W5
`.<(#G4-H-I'%'#$&
|-D
SinhVien_CNTT:*$&H-005
SinhVien_KinhTe:*$&H-|M5
SinhVien_XayDung:*$&H-}'5
7T%$G#E&(X*2&~1H
Khoa = ....
PW;D
|*BH-PFF#GIX,#YG%
8>4uPFFIH0- 2&25
{%#1 V<&Y[Q5
II.Bài tập
}Z@979IF49IPI94%\%D
79 F49 P 94%
RK FM2-= •€€€€ FP$
RC }' ••€€€ ] P&
R• V0 C‚€€€ ] P&
R• | C•€€€ F]"
F#\#_ Kƒ€€€ F]"
>+".#$@9D
F4-F49D
KDF49NhFM2-=i
CDF49Nh}' i
•DF49NhV0i
•DF49Nh|i
ƒDF49NhF#\#_i
F4-D
„DPoN•€€€€
‚DP6q•€€€€
6
2+&G".()#$@9D
%KDF49NhFM2-=i6Pq•€€€€
%CD6F49NzhFM2-=i6P6q•€€€€
%•DF49NhFM2-=i6P6oN6•€€€€
%•D6F49NzhFM2-=i6PoN•€€€€
%ƒDF49Nh}' i6Pq•€€€€
%„D6F49Nzh}' i6P6q•€€€€
%‚DF49Nh}' i6P6oN6•€€€€
%…D6F49Nzh}' i6PoN•€€€€
%†DF49NhV0i6Pq•€€€€
%K€D6F49NzhV0i6P6q•€€€€
%KKDF49NhV0i6P6oN6•€€€€
%KCD6F49NzhV0i6PoN•€€€€
%K•DF49Nh|i6Pq•€€€€
%K•D6F49Nzh|i6P6q•€€€€
%KƒDF49Nh|i6P6oN6•€€€€
%K„D6F49Nzh|i6PoN•€€€€
%K‚DF49NhF#\#_i6Pq•€€€€
%K…D6F49NzhF#\#_i6P6q•€€€€
%K†DF49NhF#\#_i6P6oN6•€€€€
%C€D6F49NzhF#\#_i6PoN•€€€€
`&M/&G
Nhóm Thiết bị do đạc:
% DF49N‡FM2-=‡ Pq•€€€€ˆ`&MNKR
~
% DF49Nz‡FM2-=‡ Pq•€€€€ˆ`&MNKR
~
% DF49N‡FM2-=‡ Pp•€€€€ˆ`&MN€
H0"
% DF49Nz‡FM2-=‡ Pp•€€€€ˆ`&MN•
R IR IR ~
Nhóm Xây dựng nhà:
% DF49N‡}' ‡ Pq•€€€€ˆ`&MNKR
~
% DF49Nz‡}' ‡ Pq•€€€€ˆ`&MNKR
~
% DF49N‡}' ‡ Pp•€€€€ˆ`&MN€H0
"
% DF49Nz‡}' ‡ Pp•€€€€ˆ`&MN•R I
R IR ~
Nhóm Chăn nuôi:
% DF49N‡V0‡ Pq•€€€€ˆ`&MN€H0"
% DF49Nz‡V0‡₁₀ Pq•€€€€ˆ`&MNCR IR
~
% DF49N‡V0‡₁₁ Pp•€€€€ˆ`&MNKR ~
% DF49Nz‡V0‡₁₂ Pp•€€€€ˆ`&MNCR IR
~
Nhóm Khai thác:
% DF49N‡|‡₁₃ Pq•€€€€ˆ`&MN€H0
"
% DF49Nz‡|‡₁₄ Pq•€€€€ˆ`&MNCR IR
~
% DF49N‡|‡₁₅ Pp•€€€€ˆ`&MNKR ~
% DF49Nz‡|‡₁₆ Pp•€€€€ˆ`&MNCR IR
~
Nhóm Trồng trọt:
% DF49N‡F#\#_‡₁₇ Pq•€€€€ˆ`&MN€H0
"
% DF49Nz‡F#\#_‡₁₈ Pq•€€€€ˆ`&MNCR IR
~
% DF49N‡F#\#_‡₁₉ Pp•€€€€ˆ`&MNKR ~
% DF49Nz‡F#\#_‡₂₀ Pp•€€€€ˆ`&MNCR IR
~
R%-@9
‰KNŠTenDA = “Thiết bị đo đạc”Pq•€€€€9
79 F49 P 94%
RK FM2-= •€€€€ FP$
‰CNŠTenDA = “Xây dựng nhà ”Pq•€€€€9
79 F49 P 94%
RC }' ••€€€ ] P&
‰•NŠTenDA = “Chăn nuôi ”PoN•€€€€9
79 F49 P 94%
R• V0 C‚€€€ ] P&
‰•NŠTenDA = “Khai thác”PoN•€€€€9
79 F49 P 94%
R• | C•€€€ F]"
‰ƒNŠTenDA = “Trồng trọt ” PoN•€€€€9
79 F49 P 94%
F#\#_ Kƒ€€€ F]"

Preview text:

Bài Tập môn Hệ Thống Phân Tán

Câu 1: Anh(Chị) hãy giải thích định nghĩa cơ sở dữ liệu phân tán và giải thích định nghĩa?

Định nghĩa CSDL phân tán:

Cơ sở dữ liệu phân tán nói riêng và hệ phân tán nói chung là một lĩnh vực được nghiên cứu từ lâu nhưng gần đây do sự phát triển nhanh chóng của công nghệ truyền tin và sự bành trướng của internet.

Một CSDL phân tán là một tập hợp nhiều CSDL có liên đới logic và được phân bố rải rác trên nhiều máy trong một mạng máy tính

Giải thích định nghĩa:

  • Về mặt trực quan thì nghĩa đen của cụm từ cơ sở dữ liệu phân tán chưa 2 cụm từ: cơ sở dữ liệu và phân tán.
  • Việc phân tán ở đây chúng ta hiểu là phân tán thông tin và các thông tin đó được lưu trữ trên mạng máy tính
  • Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không được lưu trữ ở một nơi mà cư trú trên nhiều máy trạm thuộc mạng máy tính, điều này giúp chúng ta phân biệt CSDL phân tán với CSDL tập trung đơn lẻ.
  • Tương quan logic: Toàn bộ dữ liệu của CSDL phân tán có một số thuộc tính ràng buộc chúng với nhau, điều này chúng ta có thể phân biệt một CSDL phân tán với 1 tập hợp CSDL cục bộ hoặc các tệp cư trú tại các vị trí khác nhau trong một mạng máy tính.
  • Bản chất kết hợp:CSDL phân tán = CSDL + Mạng máy tính. Nó là sự hợp nhất của hai hướng tiếp cận: quản lý dữ liệu (CSDL) và truyền thông (mạng máy tính).

Câu 2:

I.Giới thiệu Phân mảnh ngang

a. Khái niệm Phân mảnh ngang

Phân mảnh ngang là kỹ thuật chia một quan hệ (bảng) thành nhiều phân mảnh dựa trên các bộ (hàng) của quan hệ đó. Mỗi phân mảnh là một tập con các bộ, nhưng vẫn giữ nguyên cấu trúc thuộc tính (cột). Mục tiêu là phân tán dữ liệu để tối ưu hóa truy vấn và tăng hiệu suất hệ thống phân tán.

b. Lý do phân mảnh

  • Các ứng dụng thường chỉ truy xuất một tập con của quan hệ, không phải toàn bộ dữ liệu.
  • Việc phân rã một quan hệ thành nhiều mảnh cho phép xử lý song song nhiều giao dịch, giảm thời gian truy vấn.
  • Phân mảnh giúp tăng mức độ hoạt động đồng thời và giảm lưu lượng truyền dữ liệu trong hệ thống.

c. Các quy tắc phân mảnh đúng đắn

  • Tính đầy đủ (Completeness): Hợp tất cả các phân mảnh phải bằng quan hệ gốc.
  • Tính tái thiết được (Reconstruction): Có thể tái tạo quan hệ ban đầu từ các phân mảnh.
  • Tính tách biệt (Disjointness): Các phân mảnh không được chồng lấn (mỗi bộ chỉ thuộc một phân mảnh).

d. Các loại phân mảnh

  • Phân mảnh ngang nguyên thủy (Primary Horizontal Fragmentation): Dựa trên điều kiện chọn trực tiếp từ quan hệ gốc.
  • Phân mảnh ngang dẫn xuất (Derived Horizontal Fragmentation): Dựa trên quan hệ với bảng khác, tức là phân mảnh một quan hệ dựa vào vị trí được định nghĩa trên quan hệ khác.

e. Yêu cầu thông tin của phân mảnh ngang

Để thiết kế phân mảnh tối ưu, cần thu thập thông tin:

  • Thông tin về CSDL:

Mục đích: Để biết cấu trúc bảng, dữ liệu, quan hệ giữa các bảng.

Thông tin về CSDL muốn nói đến là lược đồ toàn cục và quan hệ gốc, các quan hệ con. Trong ngữ cảnh này, chúng ta cần biết được các quan hệ sẽ kết lại với nhau bằng phép nối hay bằng phép tính khác. Với mục đích phân mảnh dẫn xuất, các vị từ được định nghĩa trên quan hệ khác, ta thường dùng mô hình thực thể – liên hệ (entity–relationship model), vì trong mô hình này các mối liên hệ được biểu diễn bằng các đường nối có hướng (các cung) giữa các quan hệ có liên hệ với nhau qua một nối.

  • Thông tin ứng dụng:

Mục đích: Để hiểu cách truy vấn, tần suất truy cập, điều kiện lọc dữ liệu.

Để phân tán ngoài thông tin định lượng Card (R) ta còn cần thông tin định tính cơ bản gồm các vị từ được dùng trong các câu vấn tin. Lượng thông tin này phụ thuộc bài toán cụ thể.

Nếu không thể phân tích được hết tất cả các ứng dụng để xác định những vị từ này thì ít nhất cũng phải nghiên cứu được các ứng dụng “quan trọng” nhất.

Vậy chúng ta xác định các vị từ đơn giản (simple predicate). Cho quan hệ R (A₁, A₂, …, Aₙ), trong đó Aᵢ là một thuộc tính được định nghĩa trên một miền biến thiên D(Aᵢ) hay Dᵢ.

Một vị từ đơn giản P được định nghĩa trên R có dạng:

P: Aᵢ θ Value

Trong đó θ ∈ {=, ≠, <, ≤, >, ≥} và value được chọn từ miền biến thiên của Aᵢ (value ∈ Dᵢ).

Như vậy, cho trước lược đồ R, các miền trị Dᵢ, chúng ta có thể xác định được tập tất cả các vị từ đơn giản Pᵣ trên R.

Vậy Pᵣ = {P: Aᵢ θ Value}. Tuy nhiên trong thực tế ta chỉ cần những tập con thực sự của Pᵣ.

Cho một tập Pᵣ = {pᵢ₁, pᵢ₂, …, pᵢₘ} là các vị từ đơn giản trên quan hệ Rᵢ, tập các vị từ hội sơ cấp Mᵢ = {m₁, m₂, …, m_z} được định nghĩa là:

Mᵢ = {mⱼ | mⱼ = ∧ pᵢₖ* với 1 ≤ k ≤ m, 1 ≤ j ≤ z}

Trong đó pᵢₖ* = pᵢₖ hoặc pᵢₖ* = ¬pᵢₖ. Vi thế mỗi vị từ đơn giản có thể xuất hiện trong vị từ hội sơ cấp dưới dạng tự nhiên hoặc dạng phủ định.

f. Ví dụ minh họa

Giả sử có bảng SinhVien gồm các thông tin: MaSV, HoTen, NgaySinh, Khoa, DiemTB.

Bảng này chứa dữ liệu của sinh viên toàn trường.

Để tối ưu truy vấn theo khoa, ta thực hiện phân mảnh ngang dựa trên thuộc tính Khoa:

  • SinhVien_CNTT: chứa các sinh viên thuộc khoa Công nghệ thông tin.
  • SinhVien_KinhTe: chứa các sinh viên thuộc khoa Kinh tế.
  • SinhVien_XayDung: chứa các sinh viên thuộc khoa Xây dựng.

Mỗi phân mảnh giữ nguyên cấu trúc cột nhưng chỉ chứa các bộ thỏa điều kiện Khoa = ....

Nhờ vậy:

  • Khi ứng dụng khoa CNTT truy vấn, chỉ cần truy xuất phân mảnh SinhVien_CNTT, không phải toàn bộ bảng.
  • Giảm chi phí truyền dữ liệu và tăng tốc độ xử lý.

II.Bài tập

Xét quan hệ Duan (MaDA, TenDA, Ngansach, Diadiem) gồm các dữ liệu sau:

MaDA

TenDA

Ngansach

Diadiem

P1

Thiết bị đo đạc

40000

Thái Nguyên

P2

Xây dựng nhà

34000

Hà Nội

P3

Chăn nuôi

27000

Hà Nội

P4

Khai thác

24000

Thanh Hóa

P5

Trồng trọt

15000

Thanh Hóa

a) Vị từ đơn giản có thể định nghĩa trên quan hệ Duan:

Theo TenDA:

  • p1: TenDA = “Thiết bị đo đạc”
  • p2: TenDA = “Xây dựng nhà”
  • p3: TenDA = “Chăn nuôi”
  • p4: TenDA = “Khai thác”
  • p5: TenDA = “Trồng trọt”

Theo ngân sách:

  • p6: Ngansach <= 30000
  • p7: Ngansach ∧>30000

b) Các vị từ hội sơ cấp có thể định nghĩa được trên quan hệ Duan:

  • m1: TenDA= “Thiết bị đo đạc” ∧ Ngansach > 30000
  • m2: TenDA= ¬( “Thiết bị đo đạc”) ∧ Ngansach > 30000
  • m3: TenDA= “Thiết bị đo đạc” ∧ Ngansach <= 30000
  • m4: TenDA= ¬( “Thiết bị đo đạc”) ∧ Ngansach <= 30000
  • m5: TenDA= “Xây dựng nhà” ∧ Ngansach > 30000
  • m6: TenDA= ¬( “Xây dựng nhà”) ∧ Ngansach > 30000
  • m7: TenDA= “Xây dựng nhà” ∧ Ngansach <= 30000
  • m8: TenDA= ¬( “Xây dựng nhà”) ∧ Ngansach <= 30000
  • m9: TenDA= “Chăn nuôi” ∧ Ngansach > 30000
  • m10: TenDA= ¬( “Chăn nuôi”) ∧ Ngansach > 30000
  • m11: TenDA= “Chăn nuôi” ∧ Ngansach <= 30000
  • m12: TenDA= ¬( “Chăn nuôi”) ∧ Ngansach <= 30000
  • m13: TenDA= “Khai thác” ∧ Ngansach > 30000
  • m14: TenDA= ¬( “Khai thác”) ∧ Ngansach > 30000
  • m15: TenDA= “Khai thác” ∧ Ngansach <= 30000
  • m16: TenDA= ¬( “Khai thác”) ∧ Ngansach <= 30000
  • m17: TenDA= “Trồng trọt” ∧ Ngansach > 30000
  • m18: TenDA= ¬( “Trồng trọt”) ∧ Ngansach > 30000
  • m19: TenDA= “Trồng trọt” ∧ Ngansach <= 30000
  • m20: TenDA= ¬( “Trồng trọt”) ∧ Ngansach <= 30000

c) Độ tuyến của các hội sơ cấp

Nhóm Thiết bị do đạc:

  • m₁: TenDA = "Thiết bị do đạc" ∧ Ngansach > 30000 → Độ tuyến = 1 (P₁ thỏa)
  • m₂: TenDA = ¬("Thiết bị do đạc") ∧ Ngansach > 30000 → Độ tuyến = 1 (P₂ thỏa)
  • m₃: TenDA = "Thiết bị do đạc" ∧ Ngansach ≤ 30000 → Độ tuyến = 0 (không có)
  • m₄: TenDA = ¬("Thiết bị do đạc") ∧ Ngansach ≤ 30000 → Độ tuyến = 3 (P₃, P₄, P₅ thỏa)

Nhóm Xây dựng nhà:

  • m₅: TenDA = "Xây dựng nhà" ∧ Ngansach > 30000 → Độ tuyến = 1 (P₂ thỏa)
  • m₆: TenDA = ¬("Xây dựng nhà") ∧ Ngansach > 30000 → Độ tuyến = 1 (P₁ thỏa)
  • m₇: TenDA = "Xây dựng nhà" ∧ Ngansach ≤ 30000 → Độ tuyến = 0 (không có)
  • m₈: TenDA = ¬("Xây dựng nhà") ∧ Ngansach ≤ 30000 → Độ tuyến = 3 (P₃, P₄, P₅ thỏa)

Nhóm Chăn nuôi:

  • m₉: TenDA = "Chăn nuôi" ∧ Ngansach > 30000 → Độ tuyến = 0 (không có)
  • m₁₀: TenDA = ¬("Chăn nuôi") ∧ Ngansach > 30000 → Độ tuyến = 2 (P₁, P₂ thỏa)
  • m₁₁: TenDA = "Chăn nuôi" ∧ Ngansach ≤ 30000 → Độ tuyến = 1 (P₃ thỏa)
  • m₁₂: TenDA = ¬("Chăn nuôi") ∧ Ngansach ≤ 30000 → Độ tuyến = 2 (P₄, P₅ thỏa)

Nhóm Khai thác:

  • m₁₃: TenDA = "Khai thác" ∧ Ngansach > 30000 → Độ tuyến = 0 (không có)
  • m₁₄: TenDA = ¬("Khai thác") ∧ Ngansach > 30000 → Độ tuyến = 2 (P₁, P₂ thỏa)
  • m₁₅: TenDA = "Khai thác" ∧ Ngansach ≤ 30000 → Độ tuyến = 1 (P₄ thỏa)
  • m₁₆: TenDA = ¬("Khai thác") ∧ Ngansach ≤ 30000 → Độ tuyến = 2 (P₃, P₅ thỏa)

Nhóm Trồng trọt:

  • m₁₇: TenDA = "Trồng trọt" ∧ Ngansach > 30000 → Độ tuyến = 0 (không có)
  • m₁₈: TenDA = ¬("Trồng trọt") ∧ Ngansach > 30000 → Độ tuyến = 2 (P₁, P₂ thỏa)
  • m₁₉: TenDA = "Trồng trọt" ∧ Ngansach ≤ 30000 → Độ tuyến = 1 (P₅ thỏa)
  • m₂₀: TenDA = ¬("Trồng trọt") ∧ Ngansach ≤ 30000 → Độ tuyến = 2 (P₃, P₄ thỏa)

d) Phân mảnh ngang cho quan hệ Duan

  • F1 = σ TenDA = “Thiết bị đo đạc”∧ Ngansach> 30000 (Duan)

MaDA

TenDA

Ngansach

Diadiem

P1

Thiết bị đo đạc

40000

Thái Nguyên

  • F2= σ TenDA = “Xây dựng nhà ”∧ Ngansach> 30000 (Duan)

MaDA

TenDA

Ngansach

Diadiem

P2

Xây dựng nhà

34000

Hà Nội

  • F3 = σ TenDA = “Chăn nuôi ”∧ Ngansach <= 30000 (Duan)

MaDA

TenDA

Ngansach

Diadiem

P3

Chăn nuôi

27000

Hà Nội

  • F4 = σ TenDA = “Khai thác”∧ Ngansach <= 30000 (Duan)

MaDA

TenDA

Ngansach

Diadiem

P4

Khai thác

24000

Thanh Hóa

  • F5 = σ TenDA = “Trồng trọt ”∧ Ngansach <= 30000 (Duan)

MaDA

TenDA

Ngansach

Diadiem

P5

Trồng trọt

15000

Thanh Hóa