Optimizing Optimistic Concurrency Control for Tree-Structured, Log-Structured Databases
Philip A. Bernstein, Sudipto Das, Bailu Ding, Markus Pilman · 2015
Scaling-out a database system typically requires partitioning the database across multiple servers. If applications do not partition perfectly, then transactions accessing multiple partitions end up being distributed, which has well-known scalability challenges. To address them, we describe a high-performance transaction mechanism that uses optimistic concurrency control on a multi-versioned tree-structured database stored in a shared log. The system scales out by adding servers, without partitioning the database.