5 Basic concurrency control

Conflicts at home

This chapter covers

  • Managing concurrent mutations with a lock-free optimistic concurrency control strategy
  • Supporting high throughput of reads and writes
  • Reconciliation between concurrent mutations

The changes required for system manage concurrency are only in the commit phase. They involve a reconciliation algorithm that is universal, in the sense that it can be used in any system where data is represented as an immutable hash map. The implementation of the reconciliation algorithm is efficient because subsequent versions of the system state are created via structural sharing.

In the previous chapter, we illustrated the multiversion approach to state management, where a mutation is split into two ...

Get Data-Oriented Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.