arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1701.02408cs.DC
收藏

先投票后决定:一个用于高可用数据存储的无日志单阶段提交协议

To Vote Before Decide: A Logless One-Phase Commit Protocol for Highly-Available Datastores

Yuqing Zhu, Philip S. Yu, Guolei Yi, Wenlong Ma, Mengying Guo, Jianxun Liu

摘要:

高度可用的数据存储被广泛部署用于在线应用程序。然而,许多在线应用程序并不满足于目前由高可用性数据存储提供的简单数据访问接口。支付宝或Paypal使用的大规模在线支付等应用程序需要分布式交易支持。当前的分布式事务解决方案可能会将整个事务处理时间的一半以上花费在分布式提交上。一个有效的原子提交协议是非常可取的。本文提出了HACommit协议,一个无日志的高可用性系统的单阶段提交协议。HACommit让事务参与者在客户端决定提交或中止事务之前对提交进行投票;相比之下,分布式提交的最先进实践是让客户端在参与者投票之前做出决定。该改变使得能够移除分布式提交过程中的参与者日志记录和协调器日志记录步骤;它还使得在客户端发起事务提交之后,事务数据在一个通信往返时间内对其他事务可见(即,一个阶段)。在大量实验的评估中,HACommit在不同工作负载下的高可用数据存储中优于最近的原子提交解决方案。在最好的情况下,HACommit可以在2 PC的五分之一时间内提交。

英文摘要:

Highly-available datastores are widely deployed for online applications. However, many online applications are not contented with the simple data access interface currently provided by highly-available datastores. Distributed transaction support is demanded by applications such as large-scale online payment used by Alipay or Paypal. Current solutions to distributed transaction can spend more than half of the whole transaction processing time in distributed commit. An efficient atomic commit protocol is highly desirable. This paper presents the HACommit protocol, a logless one-phase commit protocol for highly-available systems. HACommit has transaction participants vote for a commit before the client decides to commit or abort the transaction; in comparison, the state-of-the-art practice for distributed commit is to have the client decide before participants vote. The change enables the removal of both the participant logging and the coordinator logging steps in the distributed commit process; it also makes possible that, after the client initiates the transaction commit, the transaction data is visible to other transactions within one communication roundtrip time (i.e., one phase). In the evaluation with extensive experiments, HACommit outperforms recent atomic commit solutions for highly-available datastores under different workloads. In the best case, HACommit can commit in one fifth of the time 2PC does.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑