Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2685048.2685087acmotherconferencesArticle/Chapter ViewAbstractPublication PagesosdiConference Proceedingsconference-collections
Article

Salt: combining ACID and BASE in a distributed database

Published: 06 October 2014 Publication History

Abstract

This paper presents Salt, a distributed database that allows developers to improve the performance 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 applications, the transactions that actually test the performance 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 properties 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 allows BASE transactions to reap the performance benefits of the BASE paradigm without compromising the guarantees 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.

References

[1]
Apache HBase. http://hbase.apache.org/.
[2]
AuctionMark. http://hstore.cs.brown.edu/projects/auctionmark/.
[3]
Current users of Fusion Ticket. http://www.fusionticket. com/hosting/our-customers.
[4]
Dolibarr. http://www.dolibarr.org/.
[5]
E-venement. http://www.e-venement.org/.
[6]
Fusion Ticket. http://www.fusionticket.org.
[7]
MemSQL. http://www.memsql.com/.
[8]
Microsoft SQL Server. http://www.microsoft.com/sqlserver/.
[9]
MySQL Cluster. http://www.mysql.com/products/cluster/.
[10]
Ofbiz. http://ofbiz.apache.org/.
[11]
Openbravo. http://www.openbravo.com/.
[12]
Oracle Database. http://www.oracle.com/database/.
[13]
Postgres SQL. http://www.postgresql.org/.
[14]
SAP Hana. http://www.saphana.com/.
[15]
SimpleDB. http://aws.amazon.com/simpledb/.
[16]
Utah Emulab. http://www.emulab.net/.
[17]
Jason Baker, Chris Bond, James C. Corbett, JJ Furman, Andrey Khorlin, James Larson, Jean-Michel Leon, Yawei Li, Alexander Lloyd, and Vadim Yushprakh. Megastore: Providing Scalable, Highly Available Storage for Interactive Services. In Proceedings of the Conference on Innovative Data system Research (CIDR), pages 223-234, 2011.
[18]
Hal Berenson, Phil Bernstein, Jim Gray, Jim Melton, Elizabeth O'Neil, and Patrick O'Neil. A Critique of ANSI SQL Isolation Levels. In Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, SIGMOD '95, pages 1-10, New York, NY, USA, 1995. ACM.
[19]
Philip A Bernstein, Istvan Cseri, Nishant Dani, Nigel Ellis, Ajay Kalhan, Gopal Kakivaya, David B Lomet, Ramesh Manne, Lev Novik, and Tomas Talius. Adapting Microsoft SQL Server for Cloud Computing. In Data Engineering (ICDE), 2011 IEEE 27th International Conference on, pages 1255-1263. IEEE, 2011.
[20]
Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: a distributed storage system for structured data. In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7, OSDI '06, Berkeley, CA, USA, 2006. USENIX Association.
[21]
Brian F Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver, and Ramana Yerneni. PNUTS: Yahoo!'s hosted data serving platform. Proceedings of the VLDB Endowment, 1(2):1277-1288, 2008.
[22]
James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson Hsieh, Sebastian Kanthak, Eugene Kogan, Hongyi Li, Alexander Lloyd, Sergey Melnik, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Christopher Taylor, Ruth Wang, and Dale Woodford. Spanner: Google's Globally-distributed Database. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI'12, pages 251-264, Berkeley, CA, USA, 2012. USENIX Association.
[23]
Transaction Processing Performance Council. TPC benchmark C, Standard Specification Version 5.11, 2010.
[24]
James Cowling and Barbara Liskov. Granola: Low-Overhead Distributed Transaction Coordination. In Proceedings of the 2012 USENIX Annual Technical Conference, Boston, MA, USA, June 2012. USENIX.
[25]
Sudipto Das, Divyakant Agrawal, and Amr El Abbadi. ElasTraS: an elastic transactional data store in the cloud. In Proceedings of the 2009 conference on Hot topics in cloud computing, Hot-Cloud'09, Berkeley, CA, USA, 2009. USENIX Association.
[26]
Sudipto Das, Divyakant Agrawal, and Amr El Abbadi. G-store: a scalable data store for transactional multi key access in the cloud. In Proceedings of the 1st ACM symposium on Cloud computing, pages 163-174. ACM, 2010.
[27]
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. Dynamo: amazon's highly available key-value store. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles, SOSP '07, pages 205-220, New York, NY, USA, 2007. ACM.
[28]
Armando Fox, Steven D. Gribble, Yatin Chawathe, Eric A. Brewer, and Paul Gauthier. Cluster-based scalable network services. In Proceedings of the sixteenth ACM symposium on Operating systems principles, SOSP '97, pages 78-91, New York, NY, USA, 1997. ACM.
[29]
Hector Garcia-Molina and Kenneth Salem. Sagas. In Proceedings of the ACM SIGMOD International Conference on Management of Data, 1987.
[30]
Seth Gilbert and Nancy Ann Lynch. Perspectives on the CAP Theorem. Institute of Electrical and Electronics Engineers, 2012.
[31]
James N Gray. Notes on data base operating systems. Springer, 1978.
[32]
Pat Helland. Life beyond Distributed Transactions: an Apostate's Opinion. In Third Biennial Conference on Innovative Data Systems Research, pages 132-141, 2007.
[33]
George Roy Hill and William Goldman. Butch Cassidy and the Sundance Kid. Clip at https://www.youtube.com/watch?v= 1IbStIb9XXw, October 1969.
[34]
Avinash Lakshman and Prashant Malik. Cassandra: a decentralized structured storage system. ACM SIGOPS Operating Systems Review, 44:35-40, April 2010.
[35]
Michael McLure. Vilfredo Pareto, 1906 Manuale di Economia Politica, Edizione Critica, Aldo Montesano, Alberto Zanni and Luigino Bruni (eds). Journal of the History of Economic Thought, 30(01):137-140, 2008.
[36]
Michael A Olson, Keith Bostic, and Margo I Seltzer. Berkeley DB. In USENIX Annual Technical Conference, FREENIX Track, pages 183-191, 1999.
[37]
Dan Pritchett. BASE: An Acid Alternative. Queue, 6:48-55, May 2008.
[38]
Jeff Shute, Mircea Oancea, Stephan Ellner, Ben Handy, Eric Rollins, Bart Samwel, Radek Vingralek, Chad Whipkey, Xin Chen, Beat Jegerlehner, Kyle Littleeld, and Phoenix Tong. F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, pages 777-778. ACM, 2012.
[39]
Michael Stonebraker, Samuel Madden, Daniel J. Abadi, Stavros Harizopoulos, Nabil Hachem, and Pat Helland. The end of an architectural era: (it's time for a complete rewrite). In Proceedings of the 33rd international conference on Very large data bases, VLDB '07, pages 1150-1160. VLDB Endowment, 2007.
[40]
Alexander Thomson, Thaddeus Diamond, Shu-Chun Weng, Kun Ren, Philip Shao, and Daniel J. Abadi. Calvin: fast distributed transactions for partitioned database systems. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, SIGMOD '12, pages 1-12, New York, NY, USA, 2012. ACM.
[41]
Gerhard Weikum and Gottfried Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, 2002.
[42]
Brian White, Jay Lepreau, Leigh Stoller, Robert Ricci, Shashi Guruprasad, Mac Newbold, Mike Hibler, Chad Barb, and Abhijeet Joglekar. An Integrated Experimental Environment for Distributed Systems and Networks. In Proceedings of the Fifth Symposium on Operating Systems Design and Implementation, pages 255-270, Boston, MA, December 2002. USENIX Association.
[43]
Chao Xie, Chunzhi Su, Manos Kapritsos, Yang Wang, Navid Yaghmazadeh, Lorenzo Alvisi, and Prince Mahajan. Salt: Combining ACID and BASE in a Distributed Database (extended version). Technical Report TR-14-10, Department of Computer Science, The University of Texas at Austin, September 2014.
[44]
Yang Zhang, Russell Power, Siyuan Zhou, Yair Sovran, Marcos K Aguilera, and Jinyang Li. Transaction chains: achieving serializability with low latency in geo-distributed storage systems. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, pages 276-291. ACM, 2013.

Cited By

View all
  • (2020)IsoDiffProceedings of the VLDB Endowment10.14778/3407790.340786013:12(2773-2786)Online publication date: 1-Jul-2020
  • (2018)wPerfProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291207(527-543)Online publication date: 8-Oct-2018
  • (2018)The fuzzylogProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291195(357-372)Online publication date: 8-Oct-2018
  • Show More Cited By
  1. Salt: combining ACID and BASE in a distributed database

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    OSDI'14: Proceedings of the 11th USENIX conference on Operating Systems Design and Implementation
    October 2014
    676 pages
    ISBN:9781931971164

    Sponsors

    • USENIX Assoc: USENIX Assoc

    In-Cooperation

    Publisher

    USENIX Association

    United States

    Publication History

    Published: 06 October 2014

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 25 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)IsoDiffProceedings of the VLDB Endowment10.14778/3407790.340786013:12(2773-2786)Online publication date: 1-Jul-2020
    • (2018)wPerfProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291207(527-543)Online publication date: 8-Oct-2018
    • (2018)The fuzzylogProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291195(357-372)Online publication date: 8-Oct-2018
    • (2018)Deconstructing RDMA-enabled distributed transactionsProceedings of the 13th USENIX conference on Operating Systems Design and Implementation10.5555/3291168.3291186(233-251)Online publication date: 8-Oct-2018
    • (2018)IPAProceedings of the VLDB Endowment10.14778/3297753.329776012:4(404-418)Online publication date: 1-Dec-2018
    • (2018)Improving optimistic concurrency control through transaction batching and operation reorderingProceedings of the VLDB Endowment10.14778/3282495.328250212:2(169-182)Online publication date: 1-Oct-2018
    • (2018)MixT: a language for mixing consistency in geodistributed transactionsACM SIGPLAN Notices10.1145/3296979.319237553:4(226-241)Online publication date: 11-Jun-2018
    • (2018)SPADEProceedings of the 19th International Middleware Conference10.1145/3274808.3274815(80-93)Online publication date: 26-Nov-2018
    • (2018)Towards affordable externally consistent guarantees for geo-replicated systemsProceedings of the 5th Workshop on the Principles and Practice of Consistency for Distributed Data10.1145/3194261.3194264(1-4)Online publication date: 23-Apr-2018
    • (2018)MixT: a language for mixing consistency in geodistributed transactionsProceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3192366.3192375(226-241)Online publication date: 11-Jun-2018
    • Show More Cited By

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media