May 2008 Blog Posts

Concurrency is confusing. Terms line “optimistic concurrency control” and “pessimistic concurrency control” can mean quite different things depending on the context. I hope to clarify some points surrounding concurrency as it relates to application and database design with a series of posts. In this first post, I’ll review some basic concurrency concepts and highlight some differences in concurrency models from a database and application perspective.
In computer science, “concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible” (from the Concurrency control wiki). Every major DBMS supports ACID transactional reliability so one...