Chương I TỔNG QUAN VẾ HỆ THỐNG PHÂN TÁN
1.4 Tổ chức dữ liệu trong hệ thống phân tán
1.4.3 Các mức trong suốt và tính tự trị
Quan hệ R có thể được lưu trữ theo nhiều cách trong một hệ thống cơ sở dữ liệu phân tán. Về phía hệ thống, người dùng càng ít biết về sự phân tán thì càng tốt.
Hệ thống có thể giấu các chi tiết về sự phân tán của dữ liệu trong mạng bằng cách thể hiện rõ tính trong suốt của mạng.
− Tính trong suốt liên hệ với tính tự trị địa phương. Tính trong suốt của mạng là mức độ “nhìn thấy” được các dữ liệu mà không hề biết đến sự phân tán của chúng.
− Tính tự trị là mức độ độc lập về cài đặt và khai thác dữ liệu của một trạm đối với phần còn lại của hệ thống phân tán.
Sự trong suốt phân tán có nghĩa là một chương trình được viết theo kiểu cơ sở dữ liệu phân tán nhưng được sử dụng như cơ sở dữ liệu không phân tán. Nói cách khác, chương trình không bị ảnh hưởng bởi sự di chuyển dữ liệu từ một vị trí này sang vị trí khác. Tuy nhiên, về thực chất tốc độ thực hiện của nó có bị ảnh hưởng.
Một số các mức khác nhau của sự trong suốt phân tán:
Mức 1: Trong suốt phân đoạn: Các ứng dụng thực hiện các truy cập vào cơ sở dữ liệu như nó không được phân tán (hình 1.5).
Ví dụ, giả sử có quan hệ tổng thể là: SUPPLIER ( Id, Name, Age ) và các đoạn được tách ra từ quan hệ tổng thể là:
DBMS SUPPLIER1
SUPPLIER2
SUPPLIER3
Trạm1 Trạm2
Trạm3 Hình 1.5. Sự trong suốt phân đoạn
SUPPLIER1( Id1, Name,Age ) SUPPLIER2( Id2, Name, Age ) SUPPLIER3( Id3, Name, Age )
Khi muốn tìm một người có Id = “Id1” ta chỉ cần tìm trên quan hệ tổng thể, người dùng không cần quan tâm quan hệ tổng thể SUPPLIER có phân tán hay không :
SELECT *
FROM SUPPLIER WHERE Id = “Id1” ;
Mức 2: Trong suốt định vị: Trong suốt vị trí rất hữu ích, bởi vì, nó cho phép ứng dụng bỏ qua các bản sao đã tồn tại của mỗi đoạn tại các trạm (hình 1.6). Do đó, ta có thể di chuyển các bản sao từ một trạm tới các trạm khác, và cho phép tạo các bản sao mới mà không ảnh hưởng tới ứng dụng.
Ví dụ, cũng với ví dụ trên nhưng giả sử rằng, DBMS cung cấp trong suốt vị trí nhưng không trong suốt phân đoạn (Hình 1.6)
Một câu lệnh truy vấn để lấy ra người có Id=”Id1” đầu tiên được thực hiện với đoạn SUPPLIER1 và nếu DBMS trả về biến điều khiển #FOUND thì một câu lệnh truy vấn tương tự được yêu cầu thực hiện trên đoạn SUPPLIER2 .
SELECT *
FROM SUPPLIER1
WHERE Id = “Id1”
IF Not #FOUND THEN SELECT *
DBMS
EITHER OR
SUPPLIER1
SUPPLIER2
SUPPLIER3
Trạm1 Trạm2 Trạm3
Hình 1.6. Sự trong suốt định vị
FROM SUPPLIER2
WHERE Id = “Id1”;
Ở đây quan hệ SUPLIER2 được sao làm hai bản trên hai trạm Tram1và Tram2, ta chỉ cần tìm thông tin trên quan hệ SUPLIER2 mà không quan tâm nó được sao ở vị trí nào.
Mức 3: Trong suốt ánh xạ địa phương: Trong suốt ánh xạ địa phương (hình 1.7) là một đặc tính rất quan trọng trong một hệ thống các DBMS không đồng nhất.
Ứng dụng tham chiếu tới các đối tượng có các tên độc lập từ các hệ thống cục bộ địa phương. ứng dụng được cài đặt trên một hệ thống không đồng nhất, nhưng được sử dụng như một ứng dụng trên hệ thống đồng nhất.
Ví dụ, cũng với ví dụ trên nhưng giả sử rằng DBMS cung cấp trong suốt ánh xạ địa phương :
SELECT * FROM SUPPLIER1 AS Tram1 WHERE Id = “Id1”
IF Not #FOUND THEN SELECT *
FROM SUPPLIER2 AS Tram2 WHERE Id = “Id1”;
Mức 4: Không trong suốt: Người lập trình ứng dụng phải viết các chương trình để chạy trên các hệ quản trị cơ sở dữ liệu địa phương (DBMSs) được cài đặt tại vị trí ứng dụng cần đọc dữ liệu (trên các vị trí khác nhau các hệ điều hành có thể khác nhau, hoặc DBMSs có thể khác nhau: các phiên bản khác nhau trong cùng một hệ thống, các hệ thống khác nhau trong cùng một kiểu, các chương trình này thực hiện yêu cầu các hàm và cài đặt các chương trình phụ trợ tại các vị trí được yêu cầu).
DBMS
SUPPLIER1
SUPPLIER2
Trạm1 Trạm2 Hình 1.7. Sự trong suốt ánh xạ địa phương