Multi Data center Transaction Chain : Achieving ACID for cross data center multi-key transactions

University essay from KTH/Skolan för informations- och kommunikationsteknik (ICT)

Author: Qinjin Wang; [2016]

Keywords: ;

Abstract: Transaction support for Geo-replicated storage system is one of the most popular challenges in the last few years. Some systems gave up for supporting transactions and let upper application layer to handle it. While some other systems tried with different solutions on guaranteeing the correctness of transactions and paid some efforts on performance improvements. However, there are very few systems that claim the supporting of ACID in the global scale. In this thesis, we have studied on various data consistency and transaction design theories such as Paxos, transaction chopping, transaction chain, etc. We have also analyzed several recent distributed transactional systems. As the result, a Geo-replicated transactional framework, namely Multi Data center Transaction Chain (MDTC), is designed and implemented. MDTC adopts transaction chopping approach, which brings more concurrency by chopping transactions into pieces. A two phase traversal mechanism is designed to validate and maintain dependencies. For cross data center consistency, a Paxos like majority vote protocol is designed and implemented as a state machine. Moreover, some tuning such as executing read-only transaction locally helps to improve performance of MDTC in different scenarios. MDTC only requires 1 cross data center message roundtrip for executing a distributed transaction globally. ACID properties are kept in MDTC. We have evaluated MDTC with an extended TPC-C benchmark on top of Cassandra. The results from various setups have been evaluated and the result shows that MDTC achieves a good performance on throughout and latency. Meanwhile it has very low abort rate and scales well for transactions executed in a global scale.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)