Site LogoSite Logo
  • πŸ—ƒοΈ read_me
  • ai
  • backend
    • api
    • caching
    • canal
    • concepts
    • data-systems
    • databases
      • elasticsearch
      • fundamentals
        • ACID
        • b_plus_tree
        • b_plus_tree_indexes
        • b_tree
        • b_trees_comparisons
        • coffman_conditions
        • column_oriented_storage
        • concurrency_control
        • database_cursor
        • database_replication_async_sync_semi
        • database_sharding_strategies
        • db_disk_management
        • hash_indexes
        • keyset_cursor
        • lsm_trees
        • moc_db_internals
        • optimistic_locking
        • outbox_pattern
        • pessimistic_locking
        • phantom_reads
        • pool_suspension
        • row_oriented_storage
        • saga_pattern
        • segmented_locking
        • skip_list
        • sstables
        • transaction_isolation_levels
        • two_phase_commit
      • mysql
      • redis
    • frameworks
    • hologres
    • integration
    • jvm
    • languages
    • libraries
    • media
    • os
    • sql
    • streaming
    • system-design
    • transport
  • concepts
  • dump
  • finance
  • frontend
  • home
  • infrastructure
  • readings
  • skating
  • backend
  • databases
  • fundamentals
  • pessimistic_locking

πŸ—“οΈ 07082025 1052

PESSIMISTIC LOCKING

β€œAssume conflict will happen. Lock early.”

🧰 Mechanism:​

  • Acquire lock before accessing data
  • Other transactions block until lock is released

🟒 Pros:​

  • Safe: avoids conflicts
  • Good for high-contention systems

πŸ”΄ Cons:​

  • Can lead to deadlocks
  • Lower concurrency
  • Blocking = slower performance

πŸ› οΈ Common in:​

  • Traditional RDBMS (e.g., SELECT ... FOR UPDATE)
  • Critical sections in threads (synchronized, ReentrantLock)

References​

  • ChatGPT
Previous
outbox_pattern
Next
phantom_reads
  • 🧰 Mechanism:
  • 🟒 Pros:
  • πŸ”΄ Cons:
  • πŸ› οΈ Common in:
  • References