跳到主要导航 跳到搜索 跳到主要内容

Scaling distributed transaction processing and recovery based on dependency logging

  • Chang Yao
  • , Meihui Zhang*
  • , Qian Lin
  • , Beng Chin Ooi
  • , Jiatao Xu
  • *此作品的通讯作者
  • National University of Singapore
  • Tencent

科研成果: 期刊稿件文章同行评审

摘要

Dependency graph-based concurrency control (DGCC) protocol has been shown to achieve good performance on multi-core in-memory system. DGCCseparates contention resolution from the transaction execution and employs dependency graphs to derive serializable transaction schedules. However, distributed transactions complicate the dependency resolution, and therefore, an effective transaction partitioning strategy is essential to reduce expensive multi-node distributed transactions. During failure recovery, log must be examined from the last checkpoint onward and the affected transactions are re-executed based on the way they are partitioned and executed. Existing approaches treat both transaction management and recovery as two separate problems, even though recovery is dependent on the sequence in which transactions are executed. In this paper, we propose to treat the transaction management and recovery problems as one. We first propose an efficient distributed dependency graph-based concurrency control (DistDGCC) protocol for handling transactions spanning multiple nodes and propose a new novel and efficient logging protocol called dependency logging that also makes use of dependency graphs for efficient logging and recovery. DistDGCCoptimizes the average cost for each distributed transaction by processing transactions in batches. Moreover, it also reduces the effects of thread blocking caused by distributed transactions and consequently improves the runtime performance. Further, dependency logging exploits the same data structure that is used by DistDGCCto reduce the logging overhead, as well as the logical dependency information to improve the recovery parallelism. Extensive experiments are conducted to evaluate the performance of our proposed technique against state-of-the-art techniques. Experimental results show that DistDGCCis efficient and scalable, and dependency logging supports fast recovery with marginal runtime overhead. Hence, the overall system performance is significantly improved as a result.

源语言英语
页(从-至)347-368
页数22
期刊VLDB Journal
27
3
DOI
出版状态已出版 - 1 6月 2018

指纹

探究 'Scaling distributed transaction processing and recovery based on dependency logging' 的科研主题。它们共同构成独一无二的指纹。

引用此