Phần I: Tổng quan về hệ cơ sở dữ liệu phân tán
I- Mở đầu
Những năm gần đây, các hệ thống cơ sở dữ liệu phân tán (CSDLPT) đã trở
thành một lĩnh vực quan trọng của công nghệ thông tin và cũng dễ thấy trớc
tầm quan trọng đó sẽ tăng nhanh. Có
hai lý do để khảng định xu thế này; đó
là: cơ cấu tổ chức và phát triển công nghệ; Các CSDLPT khắc phục đợc nhiều
nhợc điểm của các hệ thống cơ sở dữ liệu tập trung (CSDLTT ) và phù hợp với
cấu trúc phân tán của nhiều tổ chức. Sau đây là một định nghĩa điển hình của
một CSDLPT: "Một CSDLPT là một bộ su tập các dữ liệu về mặt logic thuộc
cùng một hệ thống nhng đợc trải ra trên các trạm của một mạng máy tính " .
Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của một CSDLPT :
1/ Tính phân tán: nghĩa là dữ liệu không c trú tại cùng một trạm (bộ xử lý)
và nh vậy ta có thể phân biệt một CSDLPT với một CSDLTT .
2/ Tính tơng quan logic: nghĩa là dữ liệu có một số tính chất liên kết chúng
với nhau, và nh vậy ta có thể phân biệt một hệ CSDLPT với một tập các CSDL
cục bộ ( địa phơng) đợc c trú riêng rẽ tại nhiều trạm của một mạng máy tính.
Với hai tính chất: phân tán và tơng quan logic, đợc định nghĩa còn khá mơ
hồ ở trên thì không phải bao giờ ta cũng có thể phân biệt đợc những trờng hợp
nào thực sự là CSDLPT và những trờng hợp nào thì không.
Để đi tới một định nghĩa chính xác hơn, ta hãy xét một số thí dụ:
Thí dụ 1: Hãy xét một hệ thống Ngân hàng gồm 3 chi nhánh, đợc đặt tại các
vị trí khác nhau. Mỗi chi nhánh có một máy tính điều khiển các đầu cuối
(terminal) và một CSDL gồm các tài khoản khách hàng (xem hình 1). Mỗi máy
tính và CSDL hình thành một trạm của hệ CSDLPT, các máy tính đợc nối với
nhau qua mạng truyền thông. Trong thao tác thông thờng, các ứng dụng đợc
yêu cầu từ các đầu cuối của một chi nhánh chỉ cần truy cập tới CSDL của chi
nhánh đó và đợc thực hiện tại máy tính của chi nhánh; Các ứng dụng đó đợc
gọi là các ứng dụng cục bộ. Một thí dụ của ứng dụng cục bộ là giao dịch rút
hoặc gửi tiền của khách hàng đợc thực hiện trên các tài khoản đợc lu trữ tại
cùng một chi nhánh.
nguyên cho dù CSDLPT đợc cài đặt trên mạng cục bộ thay cho mạng địa lý,
nhng với khả
năng truyền dẫn thông tin và độ tin cậy cao hơn. Điều này, trong chừng mực
nào đó, có thể làm thay đổi giải pháp thực hiện của một số bài toán.
Thí dụ 3: Vẫn xét Ngân hàng nh ở trên nhng với cấu hình hệ thống đợc cho
ở hình 3. Dữ liệu của các chi nhánh đợc phân bố ( phân tán ) trên ba máy tính
"phía sau " thực hiện các chức năng quản trị CSDL. Quá trình ứng dụng đợc
thực hiện bởi một máy tính khác đòi hỏi các dịch vụ truy cập CSDL từ các máy
tính phía sau nếu cần thiết.
Ta không xem kiểu hệ thống này là một SDLPT tuy rằng dữ liệu đợc phân bố
vật lý trên nhiều bộ xử lý khác nhau, sự phân tán của chúng không thích đáng
trên phơng diện ứng dụng. Cái ta thiếu ở đây là sự tồn tại của các ứng dụng cục
bộ, hiểu theo nghĩa là cấu trúc của hệ thống không cho phép một máy tính nào
có thể thực hiện một ứng dụng bởi chính nó.
2
trên cơ sở phân tích các thí dụ trên ta đi tới định nghĩa sau:
Một CSDLPT là một bộ su tập các dữ liệu đợc phân bố trên các máy tính
khác nhau của một mạng máy tính. Mỗi trạm của mạng có khả năng xử lý tự
trị và có thể thực hiện các ứng dụng cục bộ. Mỗi trạm cũng tham gia vào việc
thực hiện ít nhất một ứng dụng toàn thể đòi hỏi truy cập dữ liệu ở nhiều trạm
bằng cách sử dụng hệ thống truyền thông.
II-xu thế phát triển của hệ CSDLPT
Nh đã nêu ở phần mở đầu, CSDLPT ngày càng đợc phát triển và ứng dụng
rộng rãi trong công nghệ thông tin. Những động cơ chính thúc đẩy sự phát
triển đó là:
1- Cơ cấu tổ chức và vấn đề kinh tế
Các động cơ về cơ cấu tổ chức và kinh tế có khả năng là nguyên nhân quan
trọng nhất cho việc phát triển CSDLPT.
Đối với các tổ chức là phi tập trung thì việc xây dựng một CSDLPT là phù
hợp một cách tự nhiên với cấu trúc của các tổ chức đó. Với những phát triển
qua lại giã 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à những tắc nghẽn trong mạng truyền thông hay các dịch vụ
chung cho toàn hệ thống là tránh đợc. Đó là kết quả của khả năng xử lý tự trị
đối với các ứng dụng cục bộ nh đã đợc phát biểu trong định nghĩa của
CSDLPT.
5- Độ tin cậy và sự sẵn dùng ( availability)
Cách tiếp cận CSDLPT, đặc biệt với dữ liệu d thừa, cũng đợc sử dụng để có
độ tin cậy và sự sẵn dùng cao hơn. Tuy nhiên, đạt đợc mục đích đó là vấn đề
không đơn giản và đòi hỏi sử dụng các kỹ thuật phức tạp. Những hỏng hóc
trong một CSDLPT có thể xảy ra nhiều hơn vì có số thành phần cấu thành lớn
hơn, nhng ảnh hởng của mỗi hỏng hóc đó chỉ giới hạn ở những ứng dụng có
dùng dữ liệu của trạm bị h hỏng, còn sự hỏng hóc của toàn hệ thống là hiếm
khi xảy ra.
Những động cơ thúc đẩy sự phát triển của CSDLPT không phải là mới. Vậy
tại sao sự phát triển đó mới chỉ ở giai đoạn bắt đầu? có hai lý do chính: Một là
sự phát triển gần đây của các máy tính nhỏ với giá thành hạ và cung cấp nhiều
khả năng mà trớc đấy chỉ có các máy tính lớn mới có đã cung cấp phần cứng
cần thiết cho sự phát triển của các hệ phân tán; Hai là công nghệ của CSDLPT
dựa trên hai công nghệ khác đã có cơ sở vững chắc từ những năm 70: công
nghệ máy tính và công nghệ CSDL; Không có những cái đó rõ ràng là không
thể thực hiện đợc một nhiệm vụ phức tạp là xây dựng một CSDLPT dựa trên
một mạng máy tính và một tập các hệ quản trị cơ sở dữ liệu có ở mỗi trạm
(Kỳ sau: cơ sở dữ liệu phân tán trong hệ thống Ngân hàng.)
ài liệu tham khảo
* GS.TS Hồ Thuần: Một số bài giảng về CSDLPT- Lớp cao học
[1] S. Ceri, G. Pepagatti, Distributed database, Principles and Systems, Mc
Graw Hill Book company, 1985.
[2] W. Draffan, F. Poole, Distributed databases - An advanced Course,
Cambridge Univ. Press, 1980.
[3] G.Gardarin, P.Valduri, SGBD avances, Ed, Eyrolles, 1990.