Nếu chúng truy cập đến cùng một mục dữ liệu có thể nhận được khóa trên mục dữ liệu đó cùng lúc.

Một phần của tài liệu Sự gắn bó thông tin trong các cơ sở dữ liệu phân tán (Trang 29)

thể nhận được khóa trên mục dữ liệu đó cùng lúc. được thể hiện như hình dưới đây:

rli(x) wli(x)

rli(x) Tương thích Không tương thích

wli(x) Không tương thích Không tương thích

Ma trận tương thích của các thể thức khoá :

Các khoá đọc tương thích với nhau, còn các khoá đọc-ghi hoặc ghi-ghi

thì không tương thích => hai giao dịch có thể đọc đồng thời một mục.

 Trong các hoạt động dùng khóa chốt, bộ xếp lịch chính là Bộ Quản lý khóa. Bộ quản lý giao dịch sẽ chuyển cho Bộ Quản lý khóa các thao tác CSDL (đọc hoặc ghi) và các thông tin kèm theo (như dữ liệu cần truy xuất, định danh của giao dịch đưa ra yêu cầu). Sau đó bộ quản lý khóa sẽ kiểm tra xem đơn vị khóa có chứa mục dữ liệu đó đã bị khóa hay chưa,

 Ngược lại, khóa sẽ đặt đúng với thể thức mong muốn và thao tác này sẽ được chuyển bộ xử lý dữ liệu để truy xuất cơ sở dữ liệu thực sự. Sau đó bộ quản lý giao dịch sẽ thông tin về các kết quả thực hiện. Việc kết thúc giao dịch sẽ giải phóng các khóa của nó và khởi hoạt một giao dịch khác đang đợi truy xuất dữ liệu này.

 Quy tắc khóa hai pha chỉ đơn giản khẳng định rằng không có giao dịch nào yêu cầu khóa sau khi nó đã giải phóng một trong các khóa của nó. Nó không giải phóng khóa cho đến khi nó bảo đảm rằng không yêu cầu thêm khóa nữa.

 Thuật toán 2PL thực hiện các giao dịch hai pha, mỗi giao dịch có một pha tăng trưởng, trong pha này nó nhận khóa và truy xuất các mục dữ liệu và có một pha thu hồi là giai đoạn giải phóng các khóa.

Nhận khóa Giải phóng khóa

Số khoá

Một phần của tài liệu Sự gắn bó thông tin trong các cơ sở dữ liệu phân tán (Trang 29)