
上QQ阅读APP看书,第一时间看更新
Concurrency and consistency
Let's start with the term concurrency. Here, you have to answer the following question: What kind of concurrency mechanism do you want to use?
The following options are available:
- Pessimistic concurrency control: In the case of pessimistic concurrency control, the application performs many updates, which can contain a high conflict potential. The mechanism you choose will try to counteract this with record locking.
- Optimistic concurrency control: In the case of optimistic concurrency control, there is no high conflict potential. Therefore, this mechanism provides only a simple timestamp lock.
The next term is consistency or rather, consistency model.
Consistency models are used in distributed systems or distributed data stores (such as a filesystem or a database). The consistency model specifies a contract between user and system, wherein the system guarantees that if the user follows the contract, the memory will be consistent and the results of memory operations will be predictable.
I will address the topic of the consistency model later in this chapter, in the description of the Azure Cosmos DB.