Optimizing Optimistic Concurrency Control for Tree-Structured, Log-Structured Databases

Philip A. Bernstein, Sudipto Das, Bailu Ding, Markus Pilman
<span title="">2015</span> <i title="ACM Press"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/vxrc3vebzzachiwy3nopwi3h5u" style="color: black;">Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data - SIGMOD &#39;15</a> </i> &nbsp;
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
more &raquo; ... oning the database. Our solution is modeled on the Hyder architecture, published by Bernstein, Reid, and Das at CIDR 2011. We present the design and evaluation of the first full implementation of that architecture. The core of the system is a log roll-forward algorithm, called meld, that does optimistic concurrency control. Meld is inherently sequential and is therefore the main bottleneck. Our main algorithmic contributions are optimizations to meld that significantly increase transaction throughput. They use a pipelined design that parallelizes meld onto multiple threads. The slowest pipeline stage is much faster than the original meld algorithm, yielding a 3x improvement of system throughput over the original meld algorithm.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/2723372.2737788">doi:10.1145/2723372.2737788</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/sigmod/BernsteinDDP15.html">dblp:conf/sigmod/BernsteinDDP15</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/m2mranxm3re4vcf72mlkyp4i3y">fatcat:m2mranxm3re4vcf72mlkyp4i3y</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20160328192312/http://www.cs.cornell.edu:80/%7Eblding/pub/hyder_sigmod_2015.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/dd/45/dd454f77131b834f66997e7a724c58faca999589.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1145/2723372.2737788"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> acm.org </button> </a>