Tin cậy qua các giao dịch phân tán

Một phần của tài liệu Quản lý cơ sở dữ liệu trên mạng Internet bằng mô hình cơ sở dữ liệu phân tán (Trang 27)

Các hệ quản trị CSDL phân tán được dự định dùng để cải thiện độ tin cậy

(reliability) bởi vì chúng có các thành phần được nhân bản và vì thế loại bỏ được các tình huống có sự cố tại các điểm riêng lẻ. Sự cố tại một trạm riêng lẻ, hoặc sự cố đường liên lạc làm mất liên lạc với một hoặc nhiều trạm, sẽ không đủ làm ngừng trệ toàn bộ hệ thống. Trong trường hợp một CSDL phân tán, điều này có nghĩa là một số dữ liệu sẽ không thể truy xuất được, nhưng nếu biết sắp đặt, người sử dụng vẫn có thể được phép truy xuất các phần khác của CSDL phân tán. "Biết sắp đặt" ở đây có nghĩa là vẫn có hỗ trợ cho các giao dịch phân tán và các giao thức ứng dụng.

Một giao dịch (transaction) là một đơn vị tính toán cơ bản, nhất quản và tin

cậy được, bao gồm một loạt các thao tác CSDL được thực hiện như một hành động

nguyên tử (atomic action). Nó biến đổi CSDL từ một trạng thái nhất quán này sang một trạng thái nhất quán khác ngay cả khi có một số lượng giao dịch được thực hiện

đồng thời (đôi khi được gọi là vô hình đồng thời, concunency transparency) và ngay

cả khi có sự cố xảy ra (cũng được gọi là tính nguyên tử khi có sự cố (failure atomicity) Vì thế một DBMS có hỗ trợ đầy đủ cho giao dịch sẽ bảo đảm rằng việc thực hiện đồng thời các giao dịch của người dùng sẽ không vi phạm tính nhất quán của CDSL khi có sự cố hệ thống, với điều kiện là mỗi giao dịch đều hợp lệ, nghĩa là tuân thủ các quy tắc toàn vẹn được đặc tả trên CSDL.

Nếu có hỗ trợ đầy đủ cho các giao dịch phân tán, các ứng dụng có thể có được một hình ảnh cục bộ duy nhất về CSDL và nhờ hệ quản trị CSDL phân tán để bảo đảm rằng các yêu cầu sẽ được thực hiện chính xác, bất kể điều gì xảy ra đối với hệ thống. "Chính xác" ở đây có nghĩa là các ứng dụng không cần phải biết về việc điều phối các truy xuất đến các CSDL cục bộ, cũng không phải thắc mắc về khả năng xảy ra sự cố của đường liên lạc hay sự cố các trạm trong khi thực hiện giao dịch của chúng. Điều này minh họa cho sự liên quan giữa giao dịch phân tán và tính vô hình bởi vì cả hai đều có những vấn đề liên quan với việc đặt tên phân tán và quản lý thư

mục, cùng với một số hỗ trợ giao dịch đòi hỏi phải cài đặt các nghi thức điều khiển

đồng thời phân tán và nghi thức khả tín phân tán - đặc biệt là các nghi thức ủy thác

hai pha (two-phase commit, 2PC) và khôi phục phân tán - là những nghi thức phức tạp hơn nhiều so với trường hợp hệ thống tập trung.

Hỗ trợ nhiều bản sao (nhân bản) đòi hỏi phải cài đặt các nghi thức điều khiển

bản sao (replica control protocol) nhằm bảo đảm các ngữ nghĩa được đặc tả khi truy xuất chúng.

Các hệ thống thương mại cung cấp nhiều mức độ hỗ trợ giao dịch phân tán. Một số (thí dụ như Oracle V7 và V8) có hỗ trợ các giao dịch phân tán trong khi các phiên bản cũ đòi hỏi tại mỗi thời điểm người dùng mở một CSDL, vì thế loại bỏ nhu cầu đối với các giao dịch phân tán, và một số khác (chẳng hạn như Sybase) cài

đặt các nguyên thủy (primitive) cần cho nghi thức 2PC, nhưng đòi hỏi các ứng dụng

phải lo điều phối giữa các hành dộng ủy thác. Nói cách khác, DBMS phân tán không cưỡng chế tính nguyên tử cho các giao dịch phân tán nhưng có cung cấp các nguyên thủy để nhờ đó ứng dụng có thể bảo đảm được tính nguyên tử.

Một phần của tài liệu Quản lý cơ sở dữ liệu trên mạng Internet bằng mô hình cơ sở dữ liệu phân tán (Trang 27)