SolarDB: Toward a Shared-Everything Database on Distributed Log-Structured Storage

SolarDB: Toward a Shared-Everything Database on Distributed Log-Structured Storage
复制标题

SolarDB:在分布式日志结构存储上迈向共享一切的数据库

DOI:
10.1145/3318158
复制
发表时间:
2019
影响因子:
1.7
通讯作者:
Hu Huiqi
Hu Huiqi
中科院分区:
计算机科学3区
文献类型:
--
作者:
Zhu Tao;Zhao Zhuoyue;Li Feifei;Qian Weining;Zhou Aoying;Xie Dong;Stutsman Ryan;Li Haining;Hu Huiqi

文献摘要

被引文献

相似文献

大型数据库上的高效事务处理是许多关键任务应用程序的关键需求。尽管现代数据库通过水平分区获得了良好的性能,但是当必须执行跨分区分布式事务时,它们的性能会下降。本文介绍了SolarDB,这是一个分布式关系数据库系统,已在一家大型商业银行成功地进行了测试。SolarDB的主要特点包括:(1)基于两层日志结构合并树的共享一切架构;(2)一种新的与日志结构存储相结合的并发控制算法,即使存储层在后台对节点之间的数据进行压缩,也能保证事务处理的高效和无阻塞;(3)寻找粒度数据访问,有效地减少和平衡集群内的网络通信。根据我们对TPC-C、Smallbank和实际工作负载的经验评估,当分布式事务接近或超过5%时,SolarDB的性能比现有的无共享系统高出50倍。
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.