Performance-Optimal Read-Only Transactions

Performance-Optimal Read-Only Transactions
复制标题

DOI:
--
复制
发表时间:
2020
期刊:
--
影响因子:
--
通讯作者:
Haonan Lu;S. Sen;Wyatt Lloyd
Haonan Lu;S. Sen;Wyatt Lloyd
中科院分区:
其他
文献类型:
--
作者:
Haonan Lu;S. Sen;Wyatt Lloyd

文献摘要

相似文献

只读事务对于一致地读取分布在分布式存储系统上的数据至关重要,但其性能比简单的非事务性读取更差。我们确定了简单读取的三个属性,它们是只读事务实现性能最优所必需的,即尽可能接近简单读取。我们通过证明严格的序列化性(最强的一致性)是不可能实现性能最优的,从而证明了只读事务设计中的一个基本权衡。在此结果的指导下,我们提出了PORT,这是迄今为止具有最强一致性的性能优化设计。PORT的核心是版本时钟,这是一种专门的逻辑时钟,可以简洁地捕获必要的排序约束。我们通过两个应用程序展示PORT的通用性。Scylla-PORT通过简单的写操作提供进程顺序的序列化性,并显示出与其非事务性基础系统相当的性能。eger - port为写事务提供了因果一致性,并显著提高了其事务基础系统的性能。
Read-only transactions are critical for consistently reading data spread across a distributed storage system but have worse performance than simple, non-transactional reads. We identify three properties of simple reads that are necessary for read-only transactions to be performance-optimal, i.e., come as close as possible to simple reads. We demonstrate a fundamental tradeoff in the design of read-only transactions by proving that performance optimality is impossible to achieve with strict serializability, the strongest consistency. Guided by this result, we present PORT, a performance-optimal design with the strongest consistency to date. Central to PORT are version clocks, a specialized logical clock that concisely captures the necessary ordering constraints. We show the generality of PORT with two applications. Scylla-PORT provides process-ordered serializability with simple writes and shows performance comparable to its non-transactional base system. Eiger-PORT provides causal consistency with write transactions and significantly improves the performance of its transactional base system.