DBMS phân tán - Môi trường cơ sở dữ liệu
Trong phần này của hướng dẫn, chúng ta sẽ nghiên cứu các khía cạnh khác nhau hỗ trợ trong việc thiết kế môi trường cơ sở dữ liệu phân tán. Chương này bắt đầu với các loại cơ sở dữ liệu phân tán. Cơ sở dữ liệu phân tán có thể được phân loại thành cơ sở dữ liệu đồng nhất và không đồng nhất có sự phân chia sâu hơn. Phần tiếp theo của chương này thảo luận về các kiến trúc phân tán cụ thể là client - server, peer - to - peer và multi - DBMS. Cuối cùng, các lựa chọn thay thế thiết kế khác nhau như sao chép và phân mảnh được giới thiệu.
Các loại cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán có thể được phân loại rộng rãi thành các môi trường cơ sở dữ liệu phân tán đồng nhất và không đồng nhất, mỗi môi trường cơ sở dữ liệu phân tán đều có các phân chia nhỏ hơn, như thể hiện trong hình minh họa sau.
Cơ sở dữ liệu phân tán đồng nhất
Trong cơ sở dữ liệu phân tán đồng nhất, tất cả các trang web sử dụng hệ điều hành và DBMS giống hệt nhau. Thuộc tính của nó là -
Các trang web sử dụng phần mềm rất giống nhau.
Các trang web sử dụng DBMS hoặc DBMS giống hệt nhau từ cùng một nhà cung cấp.
Mỗi trang web đều biết tất cả các trang khác và hợp tác với các trang khác để xử lý các yêu cầu của người dùng.
Cơ sở dữ liệu được truy cập thông qua một giao diện duy nhất như thể nó là một cơ sở dữ liệu duy nhất.
Các loại cơ sở dữ liệu phân tán đồng nhất
Có hai loại cơ sở dữ liệu phân tán đồng nhất -
Autonomous- Mỗi cơ sở dữ liệu là độc lập tự hoạt động. Chúng được tích hợp bởi một ứng dụng kiểm soát và sử dụng tính năng truyền thông báo để chia sẻ cập nhật dữ liệu.
Non-autonomous - Dữ liệu được phân phối trên các nút đồng nhất và DBMS trung tâm hoặc chính điều phối các bản cập nhật dữ liệu trên các trang web.
Cơ sở dữ liệu phân tán không đồng nhất
Trong cơ sở dữ liệu phân tán không đồng nhất, các trang web khác nhau có hệ điều hành, sản phẩm DBMS và mô hình dữ liệu khác nhau. Thuộc tính của nó là -
Các trang web khác nhau sử dụng các lược đồ và phần mềm khác nhau.
Hệ thống có thể bao gồm nhiều loại DBMS khác nhau như quan hệ, mạng, phân cấp hoặc hướng đối tượng.
Xử lý truy vấn rất phức tạp do các lược đồ khác nhau.
Xử lý giao dịch rất phức tạp do phần mềm không giống nhau.
Một trang web có thể không biết các trang web khác và do đó có giới hạn hợp tác trong việc xử lý các yêu cầu của người dùng.
Các loại cơ sở dữ liệu phân tán không đồng nhất
Federated - Các hệ cơ sở dữ liệu không đồng nhất có bản chất độc lập và được tích hợp với nhau để chúng hoạt động như một hệ cơ sở dữ liệu duy nhất.
Un-federated - Hệ thống cơ sở dữ liệu sử dụng một mô-đun điều phối trung tâm mà qua đó các cơ sở dữ liệu được truy cập.
Kiến trúc DBMS phân tán
Kiến trúc DDBMS thường được phát triển phụ thuộc vào ba tham số:
Distribution - Nó cho biết sự phân phối vật lý của dữ liệu trên các trang web khác nhau.
Autonomy - Nó chỉ ra sự phân bố quyền kiểm soát hệ thống cơ sở dữ liệu và mức độ mà mỗi DBMS cấu thành có thể hoạt động độc lập.
Heterogeneity - Nó đề cập đến sự đồng nhất hoặc khác biệt của các mô hình dữ liệu, thành phần hệ thống và cơ sở dữ liệu.
Mô hình kiến trúc
Một số mô hình kiến trúc phổ biến là -
- Kiến trúc Máy khách - Máy chủ cho DDBMS
- Kiến trúc ngang hàng cho DDBMS
- Kiến trúc đa DBMS
Kiến trúc Máy khách - Máy chủ cho DDBMS
Đây là một kiến trúc hai cấp trong đó chức năng được chia thành máy chủ và máy khách. Các chức năng của máy chủ chủ yếu bao gồm quản lý dữ liệu, xử lý truy vấn, tối ưu hóa và quản lý giao dịch. Các chức năng máy khách chủ yếu bao gồm giao diện người dùng. Tuy nhiên, chúng có một số chức năng như kiểm tra tính nhất quán và quản lý giao dịch.
Hai kiến trúc máy khách - máy chủ khác nhau là -
- Máy chủ đơn Nhiều máy khách
- Nhiều máy chủ Nhiều máy khách (hiển thị trong sơ đồ sau)
Kiến trúc ngang hàng cho DDBMS
Trong các hệ thống này, mỗi máy ngang hàng hoạt động như một máy khách và máy chủ để truyền tải các dịch vụ cơ sở dữ liệu. Các đồng nghiệp chia sẻ nguồn lực của họ với các đồng nghiệp khác và điều phối các hoạt động của họ.
Kiến trúc này thường có bốn cấp độ của lược đồ -
Global Conceptual Schema - Mô tả quan điểm logic toàn cục của dữ liệu.
Local Conceptual Schema - Mô tả tổ chức dữ liệu hợp lý tại mỗi trang web.
Local Internal Schema - Mô tả tổ chức dữ liệu vật lý tại mỗi trang web.
External Schema - Mô tả chế độ xem dữ liệu của người dùng.
Đa kiến trúc DBMS
Đây là một hệ thống cơ sở dữ liệu tích hợp được hình thành bởi một tập hợp của hai hoặc nhiều hệ thống cơ sở dữ liệu tự quản.
Đa DBMS có thể được thể hiện thông qua sáu cấp độ của lược đồ:
Multi-database View Level - Mô tả nhiều chế độ xem của người dùng bao gồm các tập con của cơ sở dữ liệu phân tán tích hợp.
Multi-database Conceptual Level - Mô tả đa cơ sở dữ liệu tích hợp bao gồm các định nghĩa cấu trúc đa cơ sở dữ liệu logic toàn cục.
Multi-database Internal Level - Mô tả việc phân phối dữ liệu trên các trang web khác nhau và đa cơ sở dữ liệu để lập bản đồ dữ liệu cục bộ.
Local database View Level - Mô tả chế độ xem dữ liệu cục bộ công khai.
Local database Conceptual Level - Mô tả tổ chức dữ liệu cục bộ tại mỗi trang web.
Local database Internal Level - Mô tả tổ chức dữ liệu vật lý tại mỗi trang web.
Có hai lựa chọn thay thế thiết kế cho đa DBMS -
- Mô hình với mức khái niệm đa cơ sở dữ liệu.
- Mô hình không có mức khái niệm đa cơ sở dữ liệu.
Các giải pháp thay thế thiết kế
Các lựa chọn thay thế thiết kế phân phối cho các bảng trong DDBMS như sau:
- Không sao chép và không phân mảnh
- Nhân rộng hoàn toàn
- Sao chép một phần
- Fragmented
- Mixed
Không sao chép & không phân mảnh
Trong phương án thiết kế này, các bảng khác nhau được đặt ở các vị trí khác nhau. Dữ liệu được đặt sao cho gần với địa điểm được sử dụng nhất. Nó phù hợp nhất cho các hệ thống cơ sở dữ liệu nơi tỷ lệ truy vấn cần thiết để nối thông tin trong các bảng được đặt tại các trang khác nhau là thấp. Nếu một chiến lược phân phối thích hợp được áp dụng, thì phương án thiết kế này sẽ giúp giảm chi phí truyền thông trong quá trình xử lý dữ liệu.
Sao chép đầy đủ
Trong phương án thiết kế này, tại mỗi trang web, một bản sao của tất cả các bảng cơ sở dữ liệu được lưu trữ. Vì mỗi trang web có bản sao riêng của toàn bộ cơ sở dữ liệu, các truy vấn rất nhanh đòi hỏi chi phí truyền thông không đáng kể. Ngược lại, dữ liệu dư thừa lớn đòi hỏi chi phí rất lớn trong quá trình cập nhật. Do đó, điều này phù hợp với các hệ thống yêu cầu xử lý số lượng lớn các truy vấn trong khi số lượng cập nhật cơ sở dữ liệu thấp.
Sao chép một phần
Các bản sao của bảng hoặc các phần của bảng được lưu trữ tại các trang web khác nhau. Việc phân bố các bảng được thực hiện phù hợp với tần suất truy cập. Điều này xét đến thực tế là tần suất truy cập các bảng khác nhau đáng kể giữa các trang web. Số lượng bản sao của bảng (hoặc các phần) phụ thuộc vào tần suất thực thi các truy vấn truy cập và trang web tạo ra các truy vấn truy cập.
Bị phân mảnh
Trong thiết kế này, một bảng được chia thành hai hoặc nhiều phần được gọi là các mảnh hoặc phân vùng và mỗi mảnh có thể được lưu trữ tại các vị trí khác nhau. Điều này cho thấy thực tế là hiếm khi xảy ra rằng tất cả dữ liệu được lưu trữ trong một bảng được yêu cầu tại một trang web nhất định. Hơn nữa, phân mảnh làm tăng tính song song và cung cấp khả năng phục hồi thảm họa tốt hơn. Ở đây, chỉ có một bản sao của mỗi phân mảnh trong hệ thống, tức là không có dữ liệu thừa.
Ba kỹ thuật phân mảnh là -
- Phân mảnh dọc
- Phân mảnh theo chiều ngang
- Phân mảnh lai
Phân phối hỗn hợp
Đây là sự kết hợp giữa phân mảnh và sao chép từng phần. Ở đây, ban đầu các bảng được phân mảnh dưới bất kỳ hình thức nào (ngang hoặc dọc), sau đó các phân mảnh này được sao chép một phần trên các trang web khác nhau theo tần suất truy cập các phân mảnh.