Mở đầu Một cách trực quan, một CSDL phân bố là một bộ sưu tập các loại dữ liệu có liên kết logic với nhau và được phânbố vật lý trên nhiều máy chủ của mạng máy tính. Khái niệm hệ CSDLPT bao gồm cả khái niệm CSDL và hệ quản trị CSDLPT. Định nghĩa này nhấn mạnh hai khía cạnh quan trọng của CSDLPT: Tính phân bố: thực tế dữ liệu không cư trú trên cùng một site, vì vậy có thể phân biệt một CSDLPT với cơ sở dữ liệu tập trung (CSDLTT). Sự tương quan logic: các loại dữ liệu có một số tính chất ràng buộc lẫn nhau, như vậy có thể phân biệt CSDLPT với tập các CSDL địa phương hoặc với các tệp lưu trữ trên các site khác nhau.
Hệ quản trị CSDL phân bố là hệ thống phần mềm cho phép quản trị CSDL phân bố và làm cho sự phân bố đó là trong suốt đối với người sử dụng. Nói cách khác CSDL phân bố là CSDL được phân bố một cách vật lý nhưng được thống nhất tổ chức như là một CSDL duy nhất. Như vậy sự phân bố dữ liệu là trong suốt đối với người sử dụng. Việc quản lý các dữ liệu phân bố đòi hỏi mỗi trạm (site) cài đặt các thành phần hệ thống sau: 17 Thành phần quản trị CSDL (Database Management DM) Thành phần truyền dữ liệu (Data Communication DC) Từ điển dữ liệu (Data Dictionary DD): thông tin về sự phân bố dữ liệu trên mạng Thành phần CSDLPT (Distributed Database DDB) Các dịch vụ của hệ thống trên bao gồm: Các ứng dụng truy nhập CSDL từ xa.
Cung cấp các mức trong suốt phân bố. Hỗ trợ quản trị và điều khiển CSDL, bao gồm các bộ công cụ, thu thập thông tin từ các trình tiện ích, cung cấp cách nhìn tổng quan về các file dữ liệu trên mạng. Khả năng mở rộng với các hệ thống khác nhau Cung cấp khả năng điều khiển đồng thời và phục hồi các giao tác phân bố. Trình quản lý các ứng dụng Trình quản lý các ứng dụng Trình quản lý Trình quản lý Trình quản lý Trình quản lý dữ liệu phân bố truyền thông Network dữ liệu phân bố truyền thông Hệ quản trị CSDL phân bố Hệ quản trị CSDL phân bố Databas Database Hình 1.9 Hệ quản trị CSDL phân bố Các hệ QTCSDL phân bố thường hỗ trợ về điều khiển tương tranh và khôi phục các tiến trình phân bố.
Khả năng truy cập từ xa có thể thực hiện được bằng 2 cách. Cách thứ nhất (hình 1.10a) trình ứng dụng yêu cầu truy cập từ xa. Yêu cầu này được định tuyến tự động bởi DDBMS tới máy chủ chứa dữ liệu. Được thực hiện tại máy chủ chứa cơ sở dữ liệu và gửi lại kết quả.
về trạm yêu cầu. Cách tiếp cận này được sử dụng cho truy cập từ xa, trong suốt phân bố có thể thực hiện được bằng việc cung cấp các file chung (global) và các truy nhập trước đó có thể địa chỉ hoá một cách tự động tới các trạm ở xa.10 b chỉ ra một cách tiếp cận khác, chương trình phụ thực hiện tại các trạm ở xa (người lập trình phải tự lập), các kết quả trả lại cho chương trình ứng dụng. 18 Hệ quản trị CSDL phân bố hỗ trợ cả hai cách tiếp cận trên. Mỗi một cách tiếp cận đều có những thuận lợi và khó khăn riêng.
Giải pháp thứ nhất cung cấp khả năng trong suốt phân bố cao hơn, trong khi giải pháp thứ hai có thể hiệu quả hơn nếu như có rất nhiều chương trìnắtngs dụng cùng yêu cầu truy nhâp, bởi vì các chương trình phụ có thể thực hiện các yêu cầu từ các trạm ở xa và trả lại kết quả. Yêu cầu truy nhập 1 Chương trình Hệ quản trị Site 1 ứng dụng CSDL 1 6 Trả kết quả 5 2 3 Site 2 Hệ quản trị CSDL CSDL 2 4 Hình 1.10a Truy nhập CSDL từ xa Chương trình Hệ quản trị ứng dụng Site 1 CSDL 1 Chương trình Hệ quản trị ứng dụng CSDL 2 CSDL Site 2 Hình 1.10b Truy nhập từ xa bằng chương trình phụ 1.2 Hệ quản trị CSDL phân bố thuần nhất CSDLPT có được bằng cách chia một CSDL thành một tập các CSDL cục bộ (Local) và được quản lý bởi cùng một hệ QTCSDL, trong hình 2.13 CSDLPT có thuần nhất hay không được phụ thuộc bởi các yêu tố phần cứng, hệ điều hành và các hệ quản trị CSDL cục bộ. Tuy nhiên, hạn chế quan trọng tại hệ QTCSDL cục bộ, bởi vì nó phụ thuộc vào sự quản lý hệ điều hành mạng truyền thông 1.3 Hệ quản trị CSDL phân bố không thuần nhất CSDLPT không thuần nhất được tích hợp bởi một tập các CSDL cục bộ được quản lý bởi các hệ QTCSDL khác nhau. Hệ QTCSDLPT không thuần nhất thêm việc chuyển đổi các mô hình dữ liệu của các hệ QTCSDL khác nhau để thống nhất việc quản lý.
Hệ quản trị CSDL phân bố Hệ QTCSDL Hệ QTCSDL Hệ QTCSDL Databa Databa Databa Hình 1,11 Kiến trúc mô hình hệ QTCSDLPT thuần nhất Hệ quản trị CSDL1 Hệ quản trị CSDL2 Hệ quản trị CSDL3 Database Database Database Hình 1.12 Kiến trúc mô hình hệ QTCSDLPT không thuần nhất Nếu việc phát triển CSDL phân bố theo mô hình Top-down, không phụ thuộc vào hệ thống trước đó (hệ thống các CSDL cục bộ), thì việc phát triển một hệ thuần nhất là tốt nhất. Tuy nhiên, trong một số trường hợp cần xây dựng CSDL phân bố từ các CSDL đã có thì đòi hỏi phải phát triển một hệ không thuần nhất. Phương pháp tốt nhất là tiếp cận từ dưới lên (Bottum-up). Trình quản lý dữ liệu phân bố phải cung cấp các giao diện trao đổi giữa các hệ QTCSDL.
Vấn đề quản trị CSDL phân bố không thuần nhất rất khó khăn.12 MÔ HÌNH KIẾN TRÚC HỆ QUẢN TRỊ CSDL PHÂN BỐ Có ba kiểu kiến trúc tham chiếu cho hệ quản trị CSDL phân bố , đó là hệ Client Server, hệ quản trị CSDL phân bố kiểu ngang hàng (Peer-to-Peer) và hệ đa CSDL. 20 Các lựa chọn cài đặt một hệ quản trị CSDLđược tổ chức hệ thống theo các đặc tính: (1) tính tự trị, (2) tính phân bố, (3) tính hỗn hợp (không thuần nhất) của hệ thống.1 Tính tự vận hành Tính tự vận hành hay còn gọi là tính tự trị, được hiểu là sự phân bố quyền điều khiển. Là mức độ hoạt động độc lập của từng hệ quản trị CSDL riêng lẻ. Tính tự vận hành được biểu hiện qua chức năng của một số yếu tố, như sự trao đổi thông tin giữa các hệ thống thành viên với nhau, thực hiện giao dịch độc lập/ không đôck lập và có được phép sửa đổi chúng hay không.
Yêu cầu của hệ thống tự vận hành được xác định theo nhiều cách. Ví dụ, Các thao tác cục bộ của hệ quản trị CSDL riêng lẻ không bị ảnh hưỏng khi tham gia hoạt động trong hệ đa CSDL (Multi Database System). Các hệ quản trị CSDL xử lý và tối ưu truy vấn cũng không bị ảnh hưởng bởi thực thi truy vấn toàn cục truy nhập nhiều hệ CSDL. Tính nhất quán của hệ thống hoặc thao tác không bị ảnh hưởng khi các hệ quản trị CSDL riêng lẻ kết nối hoặc tách rời khỏi tập các CSDL.
Phân bố d÷ liệu (A0, D2, H0) (A2, D2, H1) Tính tù trÞ Tính hỗn hỢp Hình 1. Lựa chọn cài đặt hệ quản trị CSDL Mặt khác, xác định chiều của tính tự trị như sau: 1. Tự trị thiết kế: Mỗi hệ quản trị CSDL riêng lẻ có thể sử dụng mô hình dữ liệu và kỹ thuật quản lý giao dịch theo ý muốn. Tự trị truyền thông: Mỗi hệ quản trị CSDL riêng lẻ tuỳ ý đưa ra quyết định của nó về loại thông tin mà nó cần cung cấp cho các hệ quản trị CSDL khác hoặc phần mềm điều khiển thực thi toàn cục của nó.
Tự trị thực thi: Mỗi hệ quản trị CSDL có thể thực thi các giao dịch được gửi tới nó theo bất kỳ cách nào mà nó muốn. 21 Ba lựa chọn xem xét ở trên cho các hệ thống tự trị không phải là những khả năng duy nhất, mà là ba lựa chọn phổ biến nhất.2 Tính phân bố dữ liệu Tính phân bố dữ liệu: Tính tự vận hành đề cập đến việc phân bố quyền điều khiển, thì tính phân bố dữ liệu đề cập đến dữ liệu. Hiển nhiên, sự phân bố vật lý của dữ liệu trên nhiều vị trí khác nhau. Người sử dụng nhìn dữ liệu bằng khung nhìn dữ liệu.
Có hai cách phân bố dữ liệu: phân bố kiểu Client/Server và phân bố kiểu ngang hàng. Kết hợp với các tùy chọn không phân bố, trục kiến trúc cho ba loại kiến trúc khác nhau. Phân bố kiểu Client/Server ngày càng phổ biến. Quản trị dữ liệu tại Server, Client cung cấp môi trường ứng dụng và giao diện người sử dụng.
Nhiệm vụ truyền thông được chia sẻ giữa các Client và Server. Hệ quản trị CSDL kiểu Client/Server là hệ phân bố chức năng. Có nhiều cáchễuây dựng, mỗi cách cung cấp một mức độ phân bố khác nhau. Trong kiểu ngang hàng không có sự khác biệt giữa chức năng Client và Server.
Mỗi máy đều có đầy đủ chức năng của hệ quản trị CSDL và có thể trao đổi thông tin với các máy khác để thực hiện các truy vấn và giao dịch. Các hệ thống này cũng được gọi là phân bố đầy đủ, 1.3 Tính hỗn hợp Tính hỗn hợp: Từ khác biệt về phần cứng và các giao thức mạng đến khác biệt trong cách quản lý dữ liệu, có một số dạng hỗn hợp trong các hệ phân bố. Sự khác biệt lớn nhất liên quan đến các mô hình dữ liệu, ngôn ngữ truy vấn và giao thức quản lý giao dịch. Biểu diễn dữ liệu bằng nhiều mô hình khác nhau tạo ra tính hỗn hợp.
Tính hỗn hợp trong ngôn ngữ truy vấn không chỉ bao gồm việc sử dụng các dạng truy nhập dữ liệu khác nhau trong các mô hình dữ liệu khác nhau , mà còn bao gồm những khác biệt trong các ngôn ngữ ngay cả khi sử dụng cùng một mô hình dữ liệu. Ngôn ngữ truy vấn khác nhau sử dụng cùng một mô hình dữ liệu thường chọn các phương pháp khác nhau để diễn tả các yêu cầu giống nhau, ví dụ, DB2 sử dụng SQL, trong khi INGRES sử dụng QUEL.4 Các kiểu kiến trúc Xem xét các kiến trúc trong hình 2.15, bắt đầu từ gốc và di chuyển theo trục tự trị. Ký hiệu A là tự trị, D là phân bố và H là hỗn hợp. Các kiểu trên trục tự trị được định nghĩa, A0 là biểu diễn tích hợp chặt chẽ,A1 biểu diễn hệ bán tự trị và A2 biểu diễn hệ cô lập.
Trên trục phân bố, D0 nghĩa là không phân bố, D1 là hệ Client/Server, và D2 là phân bố ngang hàng.