MSc Thesis Defence: Alexander Richert


Design and Implementation of Pessimistic Concurrency Control Methods in ReactDB  


The ubiquitous emergence of software solutions in domains such as finance, web applications, mobile computing, video games, and many others pose great challenges to data management systems. Requirements such as short response time in transaction execution while preserving the possibility to serve a great number of users simultaneously, demand an efficient yet highly flexible and modular data management layer in software applications.

One solution for these requirements is offered by the actor database system ReactDB. ReactDB utilizes the actor programming model and allows software developers to bring application logic close to the data and still allowing to reason about the scalability and correctness of their applications.

One part that is crucial to meet those demands is the concurrency control mechanism inside the reactor database system. It is one of its main components and provides the necessary functionality to fulfill transactional properties.

Out of the ACID properties, must concurrency control guarantee all but the Durability property, and is with the internal index data structures the main responsible component for smooth transaction execution. The concurrency controller arranges transactions such that many transactions can be executed simultaneously while preserving the ACID properties.

This thesis implements and examines two pessimistic concurrency control mechanisms as an alternative to the already present optimistic strategy. Two-Phase Locking (2PL), and as an extension of it, Multi-Version Concurrency Control (in particular 2V2PL), for higher contention workloads.

To validate the proposed implementation a series of synthetic benchmarks is conducted for various scenarios.

Supervisors: Marcos António Vaz Salles and Vivek Shah, DIKU

External examiner: Morten Frank, Nordea