Bài 12: Các loại kiến trúc của hệ cơ sở dữ liệu

Nội dung lý thuyết

Các phiên bản khác

BÀI 12: CÁC LOẠI KIẾN TRÚC CỦA HỆ CƠ SỞ DỮ LIỆU

1. Các hệ CSDL 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ệ CSDL cá nhân

- Hệ CSDL cá nhân là hệ CSDL có một người dùng, người này vừa thiết kế, vừa tạo lập, vừa 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.

b. Hệ CSDL trung tâm

- Hệ CSDL trung tâm là hệ CSDL với dữ liệu được lưu trữ trên máy tính trung tâm, nhiều người sử 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. Tùy thuộc vào quy mô của tổ chức, máy tính trung tâm này là một dàn máy hay một 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 tổ chức tài chính,…

c. Hệ CSDL khách - chủ

Hình 1: Mô hình 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ộ)
  • Còn 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 trên mạng (ta gọi là các máy khách).

- Phần mềm CSDL trên máy khách quản lí các giao diện khi thực hiện chương trình.

- Kiến trúc loại này có một số ưu điểm sau:

  • Khả năng truy cập rộng rãi đến các CSDL.
  • 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 chạy 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ị CSDL.
  • Chi phí cho truyền thông được giảm do một phần các thao tác được giải quyết trên máy khách, chỉ cần: yêu cầu về truy cập CSDL gửi đến máy chủ và dữ liệu kết quả gửi về cho máy khách.
  • Nâng cao khả năng đảm bảo tính nhất quán của dữ liệu vì các ràng buộc được định nghĩa và kiểm tra chỉ tại máy chủ.
  • Kiến trúc này phù hợp với việc mở rộng các hệ thống.

2. Các hệ CSDL phân tán

a. Khái niệm CSDL phân tán

- 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.

Hình 2: Mô hình CSDL phân tán

- CSDL phân tán là một tập hợp dữ liệu có liên quan (về logic) đượ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 sử dụng không nhận thấy sự phân tán về lưu trữ dữ liệu.

- Người dùng truy cập vào CSDL phân tán thông quan chương trình ứng dụng. Các chương trình ứng dụng được chia làm 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.

- Có thể chia các hệ CSDL phân tán thành 2 loại chính: thuần nhất và hỗn hợp.

  • Hệ CSDL phân tán thuần nhất: các nút trên mạng đều dùng cùng một hệ QTCSDL.
  • Hệ CSDL phân tán hỗn hợp: các nút trên mạng có thể dùng các hệ QTCSDL khác nhau.

b. Một số ưu điểm và hạn chế của các hệ CSDL phân tán

- Sự phân tán dữ liệu và các ứng dụng có một số ưu điểm so với các hệ CSDL tập trung:

  • 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 sẵn sàng cao.
  • Dữ liệu có tính tin cậy cao vì khi một nút gặp sự cố, có thể khôi phục được dữ liệu tại đây do bản sao của nó có thể được lưu trữ tại một nút khác nữa.
  • Hiệu năng của hệ thống được nâng cao hơn.
  • 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ế như sau:

  • 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.
  • Chi phí cao hơn.
  • Đảm bảo an ninh khó khăn hơn.
  • Đảm bảo tính nhất quán dữ liệu khó hơn.
  • Việc thiết kế CSDL phân tán phức tạp hơn.