Salt: combining ACID and BASE in a distributed database

Xie Chao, Chunzhi Su, Manos Kapritsos, Yan Wang, Navid Yaghmazadeh, Lorenzo Alvisi, Prince Mahajan · 2014

Abstract: This paper presents Salt, a distributed database that allows developers to improve the perfor-mance and scalability of their ACID applications through the incremental adoption of the BASE approach. Salt’s motivation is rooted in the Pareto principle: for many ap-plications, the transactions that actually test the perfor-mance limits of ACID are few. To leverage this insight, Salt introduces BASE transactions, a new abstraction that encapsulates the workflow of performance-critical transactions. BASE transactions retain desirable proper-ties like atomicity and durability, but, through the new mechanism of Salt Isolation, control which granularity of isolation they offer to other transactions, depending on whether they are BASE or ACID. This flexibility al-lows BASE transactions to reap the performance benefits of the BASE paradigm without compromising the guar-antees enjoyed by the remaining ACID transactions. For example, in our MySQL Cluster-based implementation of Salt, BASE-ifying just one out of 11 transactions in the open source ticketing application Fusion Ticket yields a 6.5x increase over the throughput obtained with an ACID implementation. 1

Read the paper · More papers on PaperTik