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


1. Các hệ cơ sở dữ liệu tập trung

- Đặc trưng cơ bản để phân biệt kiến trúc một hệ CSDL là cách tổ chức lưu trữ CSDL.

- Với hệ CSDL tập trung, toàn bộ dữ liệu được lưu 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.

- Việc phân loại phụ thuộc vào cách tổ chức khai thác, cụ thể là:

+ Những ai sẽ truy cập vào CSDL?

+ Việc truy cập được thực hiện từ đâu

+ Các môđun của hệ QTCSDL được lưu trữ ở đâu?

- Dựa vào các tiêu chí trên người ta chia các hệ CSDL tập trung thành 3 loại:

+ Hệ CSDL cá nhân;

+ Hệ CSDL trung tâm;

+ Hệ CSDL khách - chủ.

a. Hệ CSDL cá nhân

- Khái niệm: Hệ CSDL 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 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.

- Đặc điểm:

+ Dữ liệu được tập trung ở một máy;

+ Chỉ một người hoặc một nhóm người truy cập theo nguyên tắc lần lượt (không có tương tranh, xung đột);

+ Toàn bộ hệ QTCSDL được lưu ngay tại hệ thống chứa CSDL;

+ Việc truy cập vào CSDL được thực hiện ngay hệ thống chứa CSDL.

- Ưu điểm và nhược điểm:

+ Ưu điểm: 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.

+ Nhược điểm: Tình an toàn thường không cao.

Hình 1. Hệ cơ sở dữ liệu cá nhân

b. Hệ CSDL trung tâm

- Khái niệm: 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. 

- Đặc điểm:

+ Dữ liệu được lưu trữ trên máy tính trung tâm.

+ Nhiều người dùng từ xa có thể truy cập CSDL.

- Tùy thuộc vào việc tổ chức: máy tính trung tâm có thể là một máy hay một dàn máy và có rất nhiều người dùng. Việc truy cập thông qua thiết bị đầu cuối và phương tiện truyền thông.

Hình 2. Hệ cơ sở dữ liệu trung tâm

c. Hệ CSDL khách - chủ

- Trong kiến trúc khách-chủ, các thành phần của hệ QTCSDL: bộ phận cung cấp tài nguyên được đặt ở máy chủ, bộ phận yêu cầu cấp phát tài nguyên đặt ở máy khách. 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. 

- Phần mềm máy khách:

+ Tiếp nhận kết quả và tổ chức đưa ra khuôn dạng phù hợp.

+ Chuyển tới yêu cầu của máy chủ và chờ đợi trả lời;

+ Tổ chức giao diện, tiếp nhận yêu cầu truy cập thông tin;

- Phần mềm máy chủ:

+ Tiếp nhận yêu cầu truy vấn thông tin;

+ Xử lý

+ Gửi kết quả tới máy khách.

- Việc xử lý yêu cầu truy cập thông tin được thực hiện theo nguyên lý truy cập từ xa (RPC – Remote Procedure Call).

- 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ủa CPU: 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 một nhiệm vụ;

+ Chi phí cho phần cứng giảm do chỉ cần máy chủ có cấu hình mạnh để lưu trữ và quản trị dữ liệu;

+ Chi phí 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ề 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 trên máy chủ.

+ Kiến trúc này phù hợp với việc xây dựng các hệ thống mở.

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

Hình 3. Hệ CSDL khách-chủ

a. Khái niệm 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.

Hình 4. Cơ sở dữ liệu phân tán

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

Hình 5. Hệ CSDL phân tán

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

1. Các hệ cơ sở dữ liệu tập trung

- Đặc trưng cơ bản để phân biệt kiến trúc một hệ CSDL là cách tổ chức lưu trữ CSDL.

- Với hệ CSDL tập trung, toàn bộ dữ liệu được lưu 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.

- Việc phân loại phụ thuộc vào cách tổ chức khai thác, cụ thể là:

+ Những ai sẽ truy cập vào CSDL?

+ Việc truy cập được thực hiện từ đâu

+ Các môđun của hệ QTCSDL được lưu trữ ở đâu?

- Dựa vào các tiêu chí trên người ta chia các hệ CSDL tập trung thành 3 loại:

+ Hệ CSDL cá nhân;

+ Hệ CSDL trung tâm;

+ Hệ CSDL khách - chủ.

a. Hệ CSDL cá nhân

- Khái niệm: Hệ CSDL 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 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.

- Đặc điểm:

+ Dữ liệu được tập trung ở một máy;

+ Chỉ một người hoặc một nhóm người truy cập theo nguyên tắc lần lượt (không có tương tranh, xung đột);

+ Toàn bộ hệ QTCSDL được lưu ngay tại hệ thống chứa CSDL;

+ Việc truy cập vào CSDL được thực hiện ngay hệ thống chứa CSDL.

- Ưu điểm và nhược điểm:

+ Ưu điểm: 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.

+ Nhược điểm: Tình an toàn thường không cao.

Hình 1. Hệ cơ sở dữ liệu cá nhân

b. Hệ CSDL trung tâm

- Khái niệm: 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. 

- Đặc điểm:

+ Dữ liệu được lưu trữ trên máy tính trung tâm.

+ Nhiều người dùng từ xa có thể truy cập CSDL.

- Tùy thuộc vào việc tổ chức: máy tính trung tâm có thể là một máy hay một dàn máy và có rất nhiều người dùng. Việc truy cập thông qua thiết bị đầu cuối và phương tiện truyền thông.

Hình 2. Hệ cơ sở dữ liệu trung tâm

c. Hệ CSDL khách - chủ

- Trong kiến trúc khách-chủ, các thành phần của hệ QTCSDL: bộ phận cung cấp tài nguyên được đặt ở máy chủ, bộ phận yêu cầu cấp phát tài nguyên đặt ở máy khách. 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. 

- Phần mềm máy khách:

+ Tiếp nhận kết quả và tổ chức đưa ra khuôn dạng phù hợp.

+ Chuyển tới yêu cầu của máy chủ và chờ đợi trả lời;

+ Tổ chức giao diện, tiếp nhận yêu cầu truy cập thông tin;

- Phần mềm máy chủ:

+ Tiếp nhận yêu cầu truy vấn thông tin;

+ Xử lý

+ Gửi kết quả tới máy khách.

- Việc xử lý yêu cầu truy cập thông tin được thực hiện theo nguyên lý truy cập từ xa (RPC – Remote Procedure Call).

- 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ủa CPU: 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 một nhiệm vụ;

+ Chi phí cho phần cứng giảm do chỉ cần máy chủ có cấu hình mạnh để lưu trữ và quản trị dữ liệu;

+ Chi phí 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ề 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 trên máy chủ.

+ Kiến trúc này phù hợp với việc xây dựng các hệ thống mở.

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

Hình 3. Hệ CSDL khách-chủ

a. Khái niệm 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.

Hình 4. Cơ sở dữ liệu phân tán

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

Hình 5. Hệ CSDL phân tán

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

Bài học bổ sung