Chương 1 - TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 Cơ sở dữ liệu phân tán 1.1 Sự ra đời của CSDL phân tán Sự phát triển các hệ cơ sở dữ liệu (CSDL) phân tán xuất phát từ nhiều yêu cầu của thực tiễn hình thành và phát triển của các tổ chức. Nhiều tổ chức khi tăng trưởng cần có cơ cấu hoạt động không tập trung. Nhiều đơn vị thành viên của nó buộc phải phân tán ở những vị trí địa lý khác nhau. Vì thế, cần xây dựng CSDL phân tán cho các tổ chức này đề đảm bảỏ hoạt động của tổ chức một cách hiệu quả.
Trong quá trình hình thành hoặc hợp nhất, tổ chức cần phải tổ chức lại các CSDL đã tồn tại. Chi phí cho việc xây dựng một hệ CSDL phân tán từ các CSDL đã tồn tại thường nhỏ hơn đáng kể so với xây dựng lại một hệ CSDL phân tán từ đầu. Trong quá trình phát triển, một tổ chức có thể tăng thêm một số thành viên mới. Khi đó hệ CSDL phân tán cho phép mở rộng hệ thống mà không làm ảnh hưởng lớn tới các thành phần còn lại.
Việc xây dựng hệ thống phân tán còn đảm bảo hiệu quả công việc, độ tin cậy cao và khả năng sẵn dùng lớn của tổ chức.2 Khái niệm hệ CSDL phân tán Hệ CSDL phân tán là một tập hợp các CSDL có thể quan hệ với nhau và được phân tán trên một mạng máy tính trải ra trên một không gian địa lý. Các CSDL có quan hệ logic với nhau cho phép ta phân biệt một CSDL phân tán với một tập các CSDL cục bộ. Một CSDL phân tán đòi hỏi phải có một cấu trúc tổ chức lưu trữ và một phương pháp truy nhập dữ liệu có hiệu lực và hiệu quả.3 Khái niệm hệ quản trị CSDL phân tán Hệ quản trị CSDL phân tán là một phần mềm cho phép quản trị CSDL phân tán và đảm bảo tính trong suốt của sự phân tán dữ liệu đối với người sử dụng. Nhờ tính trong suốt này mà người sử dụng làm việc với CSDL phân tán như làm việc với một CSDL tập trung.4 Phân loại các hệ CSDL phân tán.
Có thể chia CSDL phân tán làm hai loại: Cơ sở dữ liệu phân tán thuần nhất: là CSDL phân tán được hình thành do chia nhỏ CSDL thành nhiều CSDL địa phương, được lưu ở LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 16 các trạm của mạng máy tính. Tất cả các CSDL địa phương đều sử dụng cùng một hệ quản trị CSDL và cùng một mô hình dữ liệu như nhau. Cơ sở dữ liệu phân tán không thuần nhất: được tạo ra bằng cách kết hợp các hệ CSDL địa phương thành một hệ CSDL. Các CSDL địa phương có thể sử dụng hệ quản trị CSDL khác nhau và mô hình dữ liệu khác nhau.
Cơ sở dữ liệu phân tán Cơ sở dữ Cơ sở dữ Cơ sở dữ liệu 1 liệu 2 liệu n Mô hình Mô hình Mô hình dữ liệu 1 dữ liệu 2 dữ liệu n Hệ quản trị CSDL 1 Hệ quản trị CSDL 2 Hệ quản trị CSDL n Trạm 1 Trạm 2 Trạm n Hình 1.1: Mô hình CSDL phân tán Sự không thuần nhất trong các hệ quản trị CSDL có thể có ở nhiều mức khác nhau trong hệ thống, như sự khác nhau về phần cứng ở các trạm, hệ điều hành khác nhau, giao thức mạng khác nhau… LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Kiến trúc hệ quản trị CSDL phân tán 1.1 Tiêu chuẩn hóa hệ quản trị CSDL Có 3 cách tiếp cận để tiêu chuẩn hóa hệ quản trị CSDL là: Dựa trên các thành phần: DBMS gồm một số thành phần, mỗi thành phần có một chức năng. Tương tác có trật tự và hệ thống giữa chúng sẽ cung cấp toàn bộ chức năng của hệ thống. Dựa trên các chức năng, dựa vào nhóm người sử dụng để tạo ra các chức năng cho nhóm người đó. Dựa trên dữ liệu: Các kiểu dữ liệu khác nhau được định nghĩa, kiến trúc được đặc tả để xác định các đơn vị chức năng sử dụng dữ liệu này.
Một kiến trúc phổ biến được xây dựng cho các hệ quản trị CSDL là kiến trúc ANSI/SPARC. ` ` ` ` ` Lược đồ ngoài Lược đồ ngoài Lược đồ ngoài Lược đồ khái niệm Lược đồ trong Hình 1.2: Kiến trúc tổng quan ANSI/SPARC Trong đó: Lược đồ trong: xác định tổ chức vật lý của dữ liệu, cơ chế truy xuất Lược đồ khái niệm: định nghĩa khái niêm niệm của CSDL. Lược đồ biểu diễn các đối tượng dữ liệu và mối quan hệ giữa chúng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 18 Lược đồ ngoài: Tập các khung nhìn, là phần CSDL mà người dùng có thể truy xuất hay nhìn thấy.2 Mô hình kiến trúc hệ DBMS phân tán Mô hình được xây dựng dựa trên 3 yếu tố: tính tự trị, sự phân tán và tính đa chủng. Tính tự trị Tính tự vận hành là sự phân bố quyền điều khiển.
Nó chỉ ra mục đích hoạt động của từng DBMS. Tính tự vận hành biểu hiện qua một số yếu tố như các hệ thống thành viên có trao đổi thông tin cho nhau hay không, chúng có thể thực hiện giao dịch độc lập không, người ta có thể sửa đổi chúng không. Sự hoạt động cục bộ của từng DBMS không bị ảnh hưởng khi chúng tham gia vào hệ DBMS. Các phương thức xử lý truy vấn và tối ưu hóa truy vấn của từng DBMS không bị ảnh hưởng của việc thực hiện các câu truy vấn với nhiều CSDL.
Tính nhất quán và hoạt động của hệ thống không bị thay đổi khi có DBMS tham gia hoặc tách khỏi hệ CSDL. Các DBMS còn có thể tự trị trong thiết kế, trong truyền thông và thực thi. Thông dụng nhất thì có 3 kiểu lựa chọn sau: Hệ tích hợp chặt chẽ: nếu nó chỉ có một hình ảnh về toàn bộ hệ thống CSDL. Trong hệ này có một bộ quản lý dữ liệu nắm quyền kiểm soát việc xử lý yêu cầu của người sử dụng.
Hệ thống bán tự trị: gồm các DBMS hoạt động độc lập. Mỗi DBMS xác định những thành phần dữ liệu mà chúng sẽ chia sẻ cho DBMS khác. Chúng phải tự thay đổi để có thể trao đổi thông tin với hệ thống. Hệ kín: từng DBMS là cô lập, không biết đền DBMS khác, và không biết cách để giao tác với chúng.
Sự phân tán Có một số cách phân tán các hệ DBMS sau: Phân tán kiểu khách chủ: tập trung nhiệm vụ quản lý dữ liệu cho các hệ thống chủ, còn hệ thống khách lo cung cấp môi trường ứng dụng, giao diện người dùng. Việc truyền thông diễn ra giữa hệ thống khách và hệ thống chủ. Các vị trí trên mạng cũng được phân thành nhóm các vị trí hệ thống chủ, và nhóm các vị trí khách. Chức năng của các vị trí này cũng khác nhau.
LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 19 Phân tán kiểu ngang hàng (peer to peer) không có phân biệt máy chủ, máy khách. Mỗi trạm đều có chức năng của một DBMS và có thể trao đổi thông tin lẫn nhau để thực hiện truy vấn, giao tác… Không phân tán Tính đa chủng Các hệ thống khác nhau về phần cứng, giao thức kết nối, bộ quản lý dữ liệu. Đặc biệt là các hệ thống khác nhau về cách mô hình hóa dữ liệu, ngôn ngữ truy vấn, giao thức quản lý các giao tác… Tổng hợp của các phân loại trên cho ta 18 kiến trúc.3 Kiến trúc hệ quản trị CSDL phân tán Các hệ khách chủ (máy khách/máy dịch vụ) Hệ khách chủ xuất hiện vào những năm 90. Các chức năng của hệ phân thành hai lớp.
Lớp chức năng chủ, và lớp chức năng khách. Nó cung cấp một kiến trúc hai tầng, dễ dàng cho việc quản lý độ phức tạp của các DBMS hiện tại và độ phức tạp của việc phân tán dữ liệu. Phần máy dịch vụ thực hiện phần lớn công việc quản lý dữ liệu. Mọi công việc xử lý, tối ưu truy vấn, quản lý giao dịch, quản lý thiết bị lưu trữ để được thực hiện tại phần máy dịch vụ.
Phần máy khách gồm các ứng dụng, giao diện, một môdun DBMS máy khách quản lý dữ liệu được gửi đến và có thể quản lý các khóa chốt giao dịch. Việc giao tiếp khách-chủ thể hiện ở việc truyền các câu lệnh SQL đi và nhận kết quả trả về. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 20 Giao diện Chương trình người dùng ứng dụng Hệ điều hành DBMS khách Phần mềm giao tiếp Câu truy vấn Kết quả Phần mềm giao tiếp Điều khiển dữ liệu Hệ điều Tối ưu truy vấn hành Quản lý giao dịch Quản lý phục hồi Xử lý hỗ trợ thời gian chạy CSDL Hình 1.3: Kiến trúc tham chiếu máy khách-máy dịch vụ Có nhiều loại máy khách - máy dịch vụ Một máy dịch vụ- nhiều máy khách: Loại này không khác nhiều lắm với CSDL tập trung. Chỉ khác ở cách thực hiện giao diện và quản lý bộ nhớ tạm.
Nhiều máy dịch vụ- nhiều máy khách: Có hai cách quản lý o Mỗi máy khách tự quản lý kết nối của nó với máy dịch vụ o Mỗi máy khách có một máy dịch vụ chính và nó giao tiếp với các máy dịch vụ khác qua máy dịch vụ này. Các hệ phân tán ngang hàng Trong hệ phân tán ngang hang, việc tổ chức dữ liệu trên các máy khác nhau có một định nghĩa riêng cho mỗi vị trí. Nó được gọi là lược đồ cục bộ trong LIS (local internal schema). Còn hình ảnh về dữ liệu của cả hệ thống được gọi là LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 21 lược đồ khái niệm toàn cục GCS (global conceptual schema).
Nó mô tả cấu trúc logic của dữ liệu tại mọi vị trí. Dữ liệu trong hệ phân tán thường được phân đoạn (chia các quan hệ ra thành nhiều quan hệ con) và nhân bản (chứa các đoạn này tại nhiều vị trí). Vì thế cần mô tả tổ chức logic của dữ liệu tại mỗi vị trí, gọi là lược đồ khái niệm cục bộ LCS (local conceptual schema). GCS là hợp của các LCS.
Các ứng dụng và việc truy xuất được hỗ trợ bởi lược đồ ngoài ES (external schema). Quan hệ của các lược đồ này được cho ở hình vẽ. ESn GCS LCS1 LCS2 …. LCSn LIS1 LIS2 ….4: Kiến trúc tham chiếu CSDL phân tán Do tính độc lập dữ liệu, độc lập vị trí của CSDL, người dùng chỉ cần truy vấn mà không cần quan tâm đến vị trí, thành phần cung cấp dữ liệu.
Các câu truy vấn toàn cục sẽ được hệ quản trị CSDL dịch thành các câu truy vấn cục bộ và được các thành phần DBMS tại các vị trí khác nhau thực hiện.