Ma trận tương thích của các thể thức khoá được thể hiện như hình dưới đây:

Một phần của tài liệu Tiểu luận môn Hệ phân tán – Kỹ thuật bảo đảm tính toàn vẹn dữ liệu (Trang 29)

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

Ta nhận thấy rằng các khoá đọc là 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. Vì vậy 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, nếu đã khóa và thể thức khóa đó không tương thích với thể thức của giao Thuật toán điều khiển đồng thời bằng khóa chốt

 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 Tiểu luận môn Hệ phân tán – Kỹ thuật bảo đảm tính toàn vẹn dữ liệu (Trang 29)