This paper aims to reduce the expensive costs of replication protocols and to make them more affordable. The authors consider that existing transactional storage systems are expensive to use due to the costly replication protocols, like Paxos, for fault tolerance. These expensive replication protocols do provide strong consistency but impose a high-performance cost. However, weak consistency protocols cannot provide such strong system guarantees, though they have good performance. The authors conclude that none of the previous works have addressed both latency and throughput for general-purpose, replicated, read-write transactions with strong consistency.
In this paper, the authors sacrifice consistency to reduce the cost of replication protocol. Their key insight is that existing transactional storage systems waste work and performance by incorporating a distributed transaction protocol and a replication protocol that both enforce strong consistency. Thus, they eliminate consistency from the replication protocol. They further demonstrate that it is possible to provide distributed transactions with strong consistency to applications using such replication protocol with no consistency. Based on this idea, they present TAPIR, a transaction protocol using the inconsistent replication for fault tolerance, which also provides linearizable read-write transactions and supports globally-consistent reads across the database at a timestamp. For evaluation purpose, they build TAPIR-KV, a combination of TAPIR and the inconsistent replication. Moreover, their experiments show that TAPIR-KV has 50% lower commit latency and more than 3x better throughput compared to conventional transactional storage systems.
- The authors define a new replication technique, called inconsistent replication, which provides fault tolerance without consistency.
- The authors also design a new distributed transaction protocol, called TAPIR - the Transactional Application Protocol for Inconsistent Replication. This protocol can provide strict serializable transactions using inconsistent replication for fault tolerance.
- Apart from the design details, the authors also implement TAPIR in a new distributed transactional key-value store called TAPIR-KV, which combines inconsistent replication and TAPIR to achieve high-performance transactional storage.
- Based on the implementation of TAPIR-KV, the authors conduct comprehensive evaluations to check TAPIR's latency and throughput.
- TAPIR provides better latency and throughput than conventional transaction protocols in both the data center and wide-area environments. For the specific implementation TAPIR-KV, it has 50% lower commit latency and more than 3x better throughput compared to systems using conventional transaction protocols.
- For the abort rate, TAPIR scale similarly to other OCC-based transaction protocols as contention increases. At lower Zipf co-efficients, TAPIR-KV outperforms OCC-based transaction protocols. Both cases have low abort rates: 0.005% and 0.04%, respectively. At higher Zipf co-efficients, both have high abort rates: 36% and 40%, respectively.
- While comparing with other systems with weak consistency guarantees and no transactions, TAPIR's performance remains competitive. TAPIR-KV outperforms MongoDB and has throughput with a factor of 2 of Cassandra and Redis.
- TAPIR requires loosely synchronized clocks at the clients, which improves performance but is not necessary for correctness. This design decision can lead to a single round-trip to all replicas in all shards that are part of the transaction.