tezvyn:

Lock Now or Check Later: Optimistic vs. Pessimistic Concurrency

Source: Wikipedia: Concurrency controlbeginner

Pessimistic concurrency locks data first, assuming conflict is likely ('ask permission'). Optimistic concurrency proceeds without locks and checks for conflicts before saving, assuming they're rare ('ask forgiveness'). Use pessimistic for high-contention.

Pessimistic concurrency control locks data first, assuming conflict is likely ('ask permission'). It's for high-contention systems like booking an airline seat. Optimistic control assumes conflict is rare, proceeding without locks and checking for changes before committing ('ask forgiveness'). It suits low-contention tasks like editing a wiki page. The footgun is misjudging contention: pessimistic locking kills performance in low-conflict scenarios, while optimistic locking causes constant, wasteful rollbacks in high-conflict ones.

Read the original → Wikipedia: Concurrency control

Get five bites like this every day.

Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.

Lock Now or Check Later: Optimistic vs. Pessimistic Concurrency · Tezvyn