SƠ LƯC VỀ
CƠ SỞ DỮ LIỆU PHÂN BỐ
Trong những năm gần đây, cơ sở dữ liệu phân bố đã trở thành một lãnh vực quan trọng
của xử lý thông tin. Các công ty hoặc cơ quan có hoạt động qui mô lớn cần phải có các hệ
thống xử lý thông tin trên một mạng diện rộng. Điều này đòi hỏi một hệ quản trò cơ sở dữ liệu
phân bố hiệu quả và có độ tin cậy cao. Cơ sở dữ liệu phân bố tránh được một số nhược điểm
của các cơ sở dữ liệu tập trung và thích hợp với cách tổ chức không tập trung của các công ty
hoặc cơ quan lớn.
I. CÁC ĐẶC ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ
Cơ sở dữ liệu phân bố không đơn giản là sự phân bố của các cơ sở dữ liệu tập trung, bởi
vì cơ sở dữ liệu phân bố có nhiều đặc điểm khác biệt so với cơ sở dữ liệu tập trung, truyền
thống. Phần này so sánh cơ sở dữ liệu phân bố với cơ sở dữ liệu tập trung ở một số đặc điểm:
điều khiển tập trung, sự độc lập dữ liệu, sự giảm dư thừa dữ liệu, các cấu trúc vật lý phức tạp để
truy xuất hiệu quả.
I.1. Điểu khiển tập trung :
Điều khiển tập trung (centralized control) là một đặc điểm của cơ sở dữ liệu, toàn bộ dữ
liệu được tập trung lại nhằm để tránh sự dư thừa dữ liệu, và được quản lý bởi người quản trò cơ
sở dữ liệu. Chức năng cơ bản của người quản trò cơ sở dữ liệu (DBA - database administrator) là
bảo đảm sự an toàn của dữ liệu.
Trong các cơ sở dữ liệu phân bố, vấn đề điều khiển tập trung không được nhấn mạnh.
Nói chung, trong các cơ sở dữ liệu phân bố, sự điều khiển được thực hiện theo một cấu trúc
điều khiển phân cấp bao gồm hai loại người quản trò cơ sở dữ liệu:
(1) Người quản trò cơ sở dữ liệu toàn cục (global database administrator) là người có trách
nhiệm chính về toàn bộ cơ sở dữ liệu phân bố.
(2) Người quản trò cơ sở dữ liệu cục bộ (local database administrator) là người có trách
nhiệm về cơ sở dữ liệu cục bộ của họ.
Tuy nhiên, những người quản trò cơ sở dữ liệu cục bộ cần phải có những quyền độc lập
riêng về cơ sở dữ liệu dữ liệu cục bộ của mình mà người quản trò cơ sở dữ liệu toàn cục hoàn
toàn không có những quyền này và sự phối hợp giữa các vò trí được thực hiện bởi chính những
người quản trò cục bộ. Đặc điểm này được gọi là sự độc lập vò trí. Các cơ sở dữ liệu phân bố có
thể khác nhau rất nhiều về mức độ độc lập vò trí: từ sự độc lập vò trí hoàn toàn (không có người
được nhân bản tại các vò trí khác.
Tuy nhiên, sự nhân bản dữ liệu cần phải xem xét kỹ lưỡng dựa vào hai loại ứng dụng cơ
bản, đó là ứng dụng chỉ đọc và ứng dụng cập nhật. Sự nhân bản dữ liệu giúp cho các ứng dụng
chỉ đọc được thực hiện nhanh hơn, nhưng nó làm cho các ứng dụng cập bò thực hiện lâu hơn vì
phải cập nhật dữ liệu tại các vò trí được nhân bản.
Như vậy, sự nhân bản dữ liệu sẽ là một ưu điểm nếu hệ thống có rất nhiều ứng dụng chỉ
đọc và có rất ít ứng dụng cập nhật; trong trường hợp ngược lại thì sự nhân bản dữ liệu lại là một
nhược điểm.
II. KIẾN TRÚC THAM KHẢO DÙNG CHO CÁC CƠ SỞ DỮ LIỆU PHÂN BỐ
Hình ở trang kế tiếp trình bày một kiến trúc tham khảo dùng cho một cơ sở dữ liệu phân
bố. Kiến trúc tham khảo này không được thực hiện một cách tường minh trong tất cả cơ sở dữ
liệu phân bố; tuy nhiên, các mức của nó thích hợp ở mức ý niệm để hiểu về tổ chức của một cơ
sở dữ liệu phân bố bất kỳ.
II.1. Lược đồ toàn cục
Ở mức cao nhất của kiến trúc này là lược đồ toàn cục (global schema). Lược đồ toàn cục
dùng để đònh nghóa tất cả các dữ liệu được chứa trong cơ sở dữ liệu phân bố và cũng giống như
toàn bộ cơ sở dữ liệu không được phân bố. Do đó, lược đồ toàn cục có thể được đònh nghóa theo
cách hoàn toàn giống với cách đònh nghóa trong một cơ sở dữ liệu không phân bố. Chúng ta
dùng mô hình dữ liệu quan hệ để minh họa cho một lược đồ toàn cục và các ánh xạ giữa các
mức khác nhau của cơ sở dữ liệu phân bố. Trong mô hình dữ liệu quan hệ này, lược đồ toàn cục
bao gồm đònh nghóa một tập hợp các quan hệ toàn cục (global relation).
Ví dụ: Một lược đồ toàn cục như sau
sinhvien (masv, hoten, tuoi, malop)
lop (malop, tenlop, malt, tenkhoa)
hoc (masv, mamh, diem)
monhoc (mamh, tenmh)
trong đó:
Sinhvien chứa thông tin về sinh viên gồm: mã sinh viên (masv), họ tên (hoten),
tuổi (tuoi), thuộc lớp (malop). Khóa là masv.
Lop chứa thông tin về lớp học gồm: mã lớp (malop), tên lớp (tenlop), mã lớp
phần này được gọi là các mảnh (fragment). Có nhiều cách khác nhau để thực hiện phép phân
chia này. nh xạ giữa các quan hệ toàn cục và các mảnh được đònh nghóa trong lược đồ phân
mảnh (fragmentation schema). nh xạ này là một - nhiều, nghóa là một quan hệ toàn cục có thể
được phân chia thành nhiều mảnh, nhưng một mảnh chỉ tương ứng với một quan hệ toàn cục.
Các mảnh được chỉ ra bởi một tên quan hệ toàn cục và một chỉ số mảnh; ví dụ R
i
chỉ ra mảnh
thứ i của quan hệ toàn cục R.
Ví dụ: Một lược đồ phân mảnh tương ứng với lược đồ toàn cục ở trên như sau, giả sử chỉ có hai
khoa tên là ‘CNTT’ và ‘DIEN’.
lop1 (malop, tenlop, malt, tenkhoa)
lop2 (malop, tenlop, malt, tenkhoa)
sinhvien1 (masv, hoten, tuoi, malop)
sinhvien2 (masv, hoten, tuoi, malop)
trong đó:
lop1 mảnh chứa dữ liệu của các lớp thuộc khoa ‘CNTT’.
lop2 mảnh chứa dữ liệu của các lớp thuộc khoa ‘DIEN’.
sinhvien1 mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘CNTT’.
sinhvien2 mảnh chứa dữ liệu của các sinh viên thuộc khoa ‘DIEN’.
và các ánh xạ phân mảnh là:
lop1 = σ
tenkhoa = ‘CNTT’
(lop)
lop2 = σ
tenkhoa = ‘DIEN’
(lop)
sinhvien1 = sinhvien <
malop = malop
(lop1)
sinhvien2 = sinhvien <