SolarDB

Τao Zhu,Zhuoyue Zhao,Feifei Li,Weining Qian,Aoying Zhou,Dong Xie,Ryan Stutsman,Haining Li,Huiqi Hu
DOI: https://doi.org/10.1145/3318158
2019-01-01
ACM Transactions on Storage
Abstract:Efficient transaction processing over large databases is a key requirement for many mission-critical applications. Although modern databases have achieved good performance through horizontal partitioning, their performance deteriorates when cross-partition distributed transactions have to be executed. This article presents SolarDB, a distributed relational database system that has been successfully tested at a large commercial bank. The key features of SolarDB include (1) a shared-everything architecture based on a two-layer log-structured merge-tree; (2) a new concurrency control algorithm that works with the log-structured storage, which ensures efficient and non-blocking transaction processing even when the storage layer is compacting data among nodes in the background; and (3) find-grained data access to effectively minimize and balance network communication within the cluster. According to our empirical evaluations on TPC-C, Smallbank, and a real-world workload, SolarDB outperforms the existing shared-nothing systems by up to 50x when there are close to or more than 5% distributed transactions.
What problem does this paper attempt to address?