Pessimistic vs Optimistic Lock

Pessimistic vs Optimistic Lock

2021, Oct 18    

Phân biệt Pessimistic và Optimistic Lock

Pessimistic Lock

  • Là cơ chế sử dụng lock record khi write record

  • Cách thực hiện

Optimistic Lock

  • Là cơ chế sử dụng version (hoặc một giá trị tương đương) để kiểm tra record có bị thay đổi không trước khi write nó.

  • Cách thực hiện

Usage

  • Optimistic Locking
    • Sử dụng trong trường hợp ít xảy ra conflict giữa 2 transaction
    • Chỉ kiểm tra data khi write (UPDATE, DELECT) nên gây ra inconsistent khi read dữ liệu
  • Pessimistic Locking
    • Sử dụng trong trường hợp có khả năng xảy ra conflict cao
    • Performaince thấp do chi phí acquire lock
    • Cẩn thận khi áp dụng, có khả năng xảy ra deadlock khi acquire trên nhiều data

Reference