Giao thức khóa hai pha (2PL) là gì?
A transaction is two-phase locked if:
before reading x, it sets a read lock on x
before writing x, it sets a write lock on x
it holds each lock until after it executes the corresponding operation
after its first unlock operation, it requests no new locks
Bây giờ, khóa giai đoạn Nghiêm ngặt là gì?
Ở đây, một giao dịch phải giữ tất cả các khóa độc quyền của nó cho đến khi nó cam kết / hủy bỏ.
Nhưng, 2PL nghiêm ngặt là gì?
Khóa hai pha nghiêm ngặt thậm chí còn nghiêm ngặt hơn:ở đây tất cả các khóa được giữ cho đến khi cam kết / hủy bỏ. Trong giao thức này, các giao dịch có thể được tuần tự hóa theo thứ tự mà chúng cam kết.
Sâu hơn nhiều:
2PL nghiêm ngặt:
Tương tự như 2PL nhưng Giữ tất cả các khóa độc quyền cho đến khi giao dịch đã được cam kết hoặc hủy bỏ thành công. –Nó đảm bảo khả năng phục hồi vô cấp
2PL nghiêm ngặt:
Tương tự như Nghiêm ngặt 2PL nhưng Giữ tất cả các khóa cho đến khi giao dịch đã được cam kết hoặc hủy bỏ thành công. –Nó được sử dụng trong môi trường động, nơi mà các mẫu truy cập dữ liệu chưa được biết trước.
Không có bế tắc. Ngoài ra, giao dịch trẻ hơn yêu cầu một mặt hàng do giao dịch cũ hơn nắm giữ sẽ bị hủy bỏ và khởi động lại với cùng một dấu thời gian, tránh được tình trạng chết đói.
Tôi hy vọng rằng những giải thích rõ ràng ở trên với sơ đồ hẳn đã giúp bạn hiểu rõ về khái niệm và ưu điểm của khái niệm chặt chẽ so với khái niệm khác.
Cảm ơn