Một người có thể sử dụng máy tính cá nhân để tạo lập, cập nhật và khai thác CSDL quản lí công việc của mình, chẳng hạn quản lí địa chỉ của bạn bè, mối liên lạc công việc, quản lí việc thu, chi của gia đình, tổ chức các thư viện CD nhạc và video,...
Với quy mô lớn, một tổ chức có thể xây dựng một CSDL rất lớn lưu trữ trên các máy tính có cấu hình mạnh hoặc hệ thống CSDL gồm nhiều CSDL con đặt ở nhiều nơi cách xa nhau và được liên kết với nhau.
Có hai loại kiến trúc hệ CSDL: tập trung và phân tán.
Tuỳ theo quy mô và đặc thù hoạt động, mỗi tổ chức lựa chọn kiến trúc của hệ CSDL phù hợp.
1. Các hệ cơ sở dữ liệu tập trung
Với hệ CSDL tập trung, toàn bộ dữ liệu được lưu trữ tại một máy hoặc một dàn máy. Những người dùng từ xa có thể truy cập vào CSDL thông qua các phương tiện truyền thông dữ liệu. Nói chung có ba kiểu kiến trúc tập trung:
a) Hệ cơ sở dữ liệu cá nhân là hệ CSDL có một người dùng. Thông thường, người này vừa thiết kế, tạo lập, cập nhật và bảo trì CSDL, đồng thời cũng là người khai thác thông tin, tự lập và hiển thị các báo cáo. Nói một cách khác, cá nhân này đóng vai trò của người quản trị CSDL đồng thời có thể là người viết chương trình ứng dụng và cũng là người dùng đầu cuối của hệ thống. Việc phát triển và sử dụng các hệ CSDL cá nhân khá đơn giản và dễ dàng, tuy nhiên tính an toàn thường không cao.
Hình 80. Hệ cơ sở dữ liệu cá nhân
b) Hệ cơ sở dữ liệu trung tâm là hệ CSDL được cài đặt trên máy tính trung tâm. Nhiều người dùng từ xa có thể truy cập CSDL này thông qua các thiết bị đầu cuối và các phương tiện truyền thông. Tuỳ thuộc vào quy mô của tổ chức, máy tính trung tâm này là một máy hay một dàn máy. Các hệ CSDL trung tâm thường rất lớn và có nhiều người dùng, ví dụ các hệ thống đăng kí và bán vé máy bay, các hệ thống thông tin của các tổ chức tài chính,...
Hình 81. Hệ cơ sở dữ liệu trung tâm
c) Hệ cơ sở dữ liệu khách - chủ. Trong kiến trúc khách-chủ, các thành phần (của hệ QTCSDL) tương tác với nhau tạo nên hệ thống gồm thành phần yêu cầu tài nguyên và thành phần cấp tài nguyên. Hai thành phần này không nhất thiết phải cài đặt trên cùng một máy tính.
- Thành phần cấp tài nguyên thường được cài đặt tại một máy chủ trên mạng (cục bộ). Thành phần quản trị CSDL trên máy chủ tiếp nhận và xử lí các yêu cầu về cơ sở dữ liệu, sau đó gửi kết quả về lại cho máy khách. Các xử lí ở máy chủ bao gồm cả việc kiểm tra quyền truy cập dữ liệu, đảm bảo tính toàn vẹn dữ liệu, bảo trì hệ thống, thực hiện truy vấn và cập nhật. Ngoài ra nó còn cung cấp các dịch vụ điều phối cập nhật đồng thời và khôi phục dữ liệu.
- Thành phần yêu cầu tài nguyên có thể cài đặt tại nhiều máy khác (ta gọi là các máy khách) trên mạng.
- Phần mềm quản trị CSDL trên máy khách quản lí các giao diện khi thực hiện các chương trình ứng dụng CSDL. Nó tiếp nhận yêu cầu của người dùng, xử lí rồi gửi thông báo đến máy chủ yêu cầu tài nguyên, chờ nhận trả lời từ máy chủ và định dạng dữ liệu đưa ra cho người dùng.
- Kiến trúc loại này có một số ưu điểm sau:
- Nâng cao khả năng thực hiện: các CPU ở máy chủ và máy khách khác nhau có thể cùng hoạt động song song, mỗi CPU thực hiện nhiệm vụ của riêng nó;
- Chi phí cho phần cứng có thể được giảm do chỉ cần máy chủ có cấu hình đủ mạnh để lưu trữ và quản trị cơ sở dữ liệu;
- Bổ sung thêm máy khách là dễ dàng.
Hình 82. Hệ CSDL khách - chủ
2. Các hệ cơ sở dữ liệu phân tán
a) Khái niệm cơ sở dữ liệu phân tán
Khác với các hệ CSDL tập trung với dữ liệu được định nghĩa và quản trị một cách tập trung tại một CSDL duy nhất đặt tại một vị trí, các hệ CSDL phân tán là những hệ thống cho phép người dùng truy cập không chỉ dữ liệu đặt tại chỗ mà cả những dữ liệu để ở xa.
Trên thực tế sự phát triển của mạng máy tính đã tạo cơ hội cho phương thức làm việc có tính phân tán. Cách tạo lập một hệ thống CSDL phân tán về mặt vật lí phản ánh cấu trúc của những tổ chức có các phòng ban, chi nhánh, dự án,... đặt ở các vị trí khác nhau. Các hệ CSDL phân tán cho phép truy cập được dữ liệu trong tất cả các đơn vị. Những dữ liệu được đơn vị nào sử dụng nhiều nhất thì sẽ được lưu trữ tại đơn vị đó. Điều này làm tăng hiệu quả truy cập dữ liệu.
Hình 83. Cơ sở dữ liệu phân tán
CSDL phân tán là một tập hợp dữ liệu có liên quan (về mặt lôgic) được dùng chung và phân tán về mặt vật lí trên một mạng máy tính.
Một hệ QTCSDL phân tán là một hệ thống phần mềm cho phép quản trị CSDL phân tán và làm cho người dùng không nhận thấy sự phân tán.
Người dùng truy cập vào CSDL phân tán thông qua chương trình ứng dụng. Các chương trình ứng dụng được phân thành hai loại:
- Chương trình không yêu cầu dữ liệu từ nơi khác;
- Chương trình có yêu cầu dữ liệu từ nơi khác.
Ví dụ. Một ngân hàng quốc gia có nhiều chi nhánh, ở mỗi thành phố có một chi nhánh, CSDL tại mỗi chi nhánh quản lí các tài khoản của dân cư và đơn vị kinh doanh tại thành phố này. Thông qua một mạng truyền thông, các CSDL tại các chi nhánh tạo thành một hệ CSDL phân tán. Người chủ của một tài khoản có thể thực hiện các giao dịch (chẳng hạn rút một khoản tiền trong tài khoản) ở chi nhánh đặt tại nơi mở tài khoản (Hà Nội chẳng hạn), nhưng cũng có thể thực hiện giao dịch ở một chi nhánh đặt tại một thành phố khác (Đà Nẵng chẳng hạn).
Hình 84. Hệ CSDL phân tán
Cần phải phân biệt CSDL phân tán với xử lí phân tán. Điểm quan trọng trong khái niệm CSDL phân tán là ở chỗ các dữ liệu được chia ra đặt ở những trạm khác nhau trên mạng. Nếu dữ liệu tập trung tại một trạm và những người dùng trên các trạm khác có thể truy cập được dữ liệu này, ta nói đó là hệ CSDL tập trung xử lí phân tán chứ không phải là CSDL phân tán (h. 85).
Hình 85. Hệ CSDL tập trung xử lí phân tán
b) Một số ưu điểm và hạn chế của các hệ cơ sở dữ liệu phân tán
So với các hệ CSDL tập trung, các hệ CSDL phân tán có một số ưu điểm sau:
- Cấu trúc phân tán dữ liệu thích hợp cho bản chất phân tán của nhiều người dùng;
- Dữ liệu được chia sẻ trên mạng nhưng vẫn cho phép quản trị dữ liệu địa phương (dữ liệu đặt tại mỗi trạm);
- Dữ liệu có tính tin cậy cao vì khi một trạm được dữ liệu tại đây do bản sao của nó có khác nữa; gặp sự cố, có thể khôi phục thể được lưu trữ tại một trạm
- Cho phép mở rộng các tổ chức một cách linh hoạt. Có thể thêm nút mới vào mạng máy tính mà không ảnh hưởng đến hoạt động của các nút sẵn có.
So với các hệ CSDL tập trung, hệ CSDL phân tán có một số hạn chế:
- Hệ thống phức tạp hơn vì phải làm ẩn đi sự phân tán dữ liệu đối với người dùng;
- Việc thiết kế CSDL phân tán phức tạp hơn, chi phí cao hơn;
- Đảm bảo an ninh khó khăn hơn. Đối với hệ CSDL phân tán ngoài những vấn đề an ninh chung của mạng máy tính còn cần đảm bảo an ninh khi có sự truy cập đến các bản sao đặt ở những vị trí khác nhau;
CÂU HỎI VÀ BÀI TẬP
1. Nêu sự khác nhau giữa hệ CSDL tập trung và hệ CSDL phân tán.
2. Tại sao chi phí phản cúng trong hệ CSDL khách-chủ giảm?
3. Vì sao nói hiệu năng hệ thống của hệ CSDL phân tán được nâng cao?