中文

MVCC事务间冲突的修复

数据库 2016-03-03 v1

摘要

MVCC(多版本并发控制)的乐观变体以避免阻塞并发事务为代价,引入了一个验证阶段。在验证阶段失败时,事务通常被中止并从头重启。这种“中止并重启”方法对于具有高竞争对象或长事务的使用场景成为性能瓶颈。此外,从头重启会在系统中产生负反馈循环,因为系统会产生额外的开销,从而可能引发进一步的冲突。本文中,我们提出了一种用于内存数据库中MVCC冲突解决的新方法。这种低开销方法以依赖图的形式概括事务程序。该依赖图还包含MVCC算法验证阶段所使用的结构。然后,在遇到事务间冲突的情况下,快速检测程序中的冲突位置,并对冲突事务进行部分重执行。该方法最大化了初始执行轮次中已完成计算的重用,并提高了事务处理吞吐量。

关键词

引用

@article{arxiv.1603.00542,
  title  = {Repairing Conflicts among MVCC Transactions},
  author = {Mohammad Dashti and Sachin Basil John and Amir Shaikhha and Christoph Koch},
  journal= {arXiv preprint arXiv:1603.00542},
  year   = {2016}
}

备注

12 pages, 9 figures