Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

2PL, Mô hình nghiêm ngặt và nghiêm ngặt, Có lợi ích gì không?

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm SYS_EXTRACT_UTC () trong Oracle

  2. Cách nhận giá trị UTC cho SYSDATE trên Oracle

  3. SQL Thiếu dấu ngoặc phải theo thứ tự theo câu lệnh

  4. cách lấy cột rowNum trong sqlite IPHONE

  5. Oracle:Thứ tự cột có quan trọng trong một chỉ mục không?