当前位置: X-MOL 学术Front. Comput. Sci. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Plover: parallel logging for replication systems
Frontiers of Computer Science ( IF 4.2 ) Pub Date : 2020-01-03 , DOI: 10.1007/s11704-019-8314-y
Huan Zhou , Jinwei Guo , Huiqi Hu , Weining Qian , Xuan Zhou , Aoying Zhou

Logging and replication are commonly used recovery approaches in database systems. To guarantee that the database state is not corrupted due to system crash, database systems rely on a centralized logging method to persist log entries into a stable storage device; to prevent data loss due to device failure, a primary server in the database system periodically replicates its state to backup servers by copying log entries over networks. As the transaction execution in a modern database system is highly parallelized, the centralized logging with a single I/O channel tends to inhibit the scalability of the system. Meanwhile, log entries generated at high speed make a network with limited bandwidth a potential bottleneck for replication.In this paper, we propose an in-memory transaction engine named Plover with parallel logging and speedy replication for primary-backup replication systems. The parallel logging enables concurrent execution of logging by utilizing multiple log buffers associated with multiple stable storages. All log entries in the log buffers maintain a global sequence number (GSN), which ensures a partial order among transactions. The kernel of the speedy replication is an adaptive shipping method, which allows to transfer data increments instead of log entries to backups under heavy workloads. Experimental results using the YCSB and TPC-C benchmarks show that Plover scales well with the increasing number of worker threads and stable storage devices. And our adaptive shipping requires only one fifth network bandwidth of the conventional log shipping.

中文翻译:

l:复制系统的并行日志记录

日志记录和复制是数据库系统中常用的恢复方法。为了确保数据库状态不会由于系统崩溃而损坏,数据库系统依靠集中式日志记录方法将日志条目持久保存到稳定的存储设备中。为了防止由于设备故障而导致数据丢失,数据库系统中的主服务器通过在网络上复制日志条目来定期将其状态复制到备份服务器。由于现代数据库系统中的事务执行高度并行化,因此具有单个I / O通道的集中式日志记录倾向于抑制系统的可伸缩性。同时,高速生成的日志条目使带宽有限的网络成为复制的潜在瓶颈。我们提出了一个名为Plover的内存事务处理引擎,该引擎具有并行日志记录和快速复制的主备份复制系统。并行日志记录通过利用与多个稳定存储关联的多个日志缓冲区来启用日志记录的并发执行。日志缓冲区中的所有日志条目都维护一个全局序列号(GSN),以确保事务之间的部分顺序。快速复制的内核是一种自适应传送方法,该方法允许在工作量很大的情况下将数据增量而不是日志条目传输到备份。使用YCSB和TPC-C基准测试的实验结果表明,随着工作线程和稳定存储设备数量的增加,Plover可以很好地扩展。而且我们的自适应传送只需要传统日志传送的五分之一网络带宽。
更新日期:2020-01-03
down
wechat
bug