skip to main content
10.1145/2213836.2213838acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Calvin: fast distributed transactions for partitioned database systems

Published:20 May 2012Publication History

ABSTRACT

Many distributed storage systems achieve high data access throughput via partitioning and replication, each system with its own advantages and tradeoffs. In order to achieve high scalability, however, today's systems generally reduce transactional support, disallowing single transactions from spanning multiple partitions. Calvin is a practical transaction scheduling and data replication layer that uses a deterministic ordering guarantee to significantly reduce the normally prohibitive contention costs associated with distributed transactions. Unlike previous deterministic database system prototypes, Calvin supports disk-based storage, scales near-linearly on a cluster of commodity machines, and has no single point of failure. By replicating transaction inputs rather than effects, Calvin is also able to support multiple consistency levels---including Paxos-based strong consistency across geographically distant replicas---at no cost to transactional throughput.

References

  1. Amazon simpledb. http://aws.amazon.com/simpledb/.Google ScholarGoogle Scholar
  2. Project voldemort. http://project-voldemort.com/.Google ScholarGoogle Scholar
  3. Riak. http://wiki.basho.com/riak.html.Google ScholarGoogle Scholar
  4. Transaction processing performance council. http://www.tpc.org/tpcc/.Google ScholarGoogle Scholar
  5. D. Abadi. Replication and the latency-consistency tradeoff. http://dbmsmusings.blogspot.com/2011/12/replication-and-latency-consistency.html.Google ScholarGoogle Scholar
  6. J. C. Anderson, J. Lehnardt, and N. Slater. CouchDB: The Definitive Guide. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Baker, C. Bond, J. Corbett, J. J. Furman, A. Khorlin, J. Larson, J.-M. Leon, Y. Li, A. Lloyd, and V. Yushprakh. Megastore: Providing scalable, highly available storage for interactive services. In CIDR, 2011.Google ScholarGoogle Scholar
  8. P. A. Bernstein, C. W. Reid, and S. Das. Hyder - a transactional record manager for shared flash. In CIDR, 2011.Google ScholarGoogle Scholar
  9. D. Campbell, G. Kakivaya, and N. Ellis. Extreme scale with full sql language support in microsoft sql azure. In SIGMOD, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Cao, M. Vaz Salles, B. Sowell, Y. Yue, A. Demers, J. Gehrke, and W. White. Fast checkpoint recovery algorithms for frequently consistent applications. In SIGMOD, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber. Bigtable: a distributed storage system for structured data. In OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. F. Cooper, R. Ramakrishnan, U. Srivastava, A. Silberstein, P. Bohannon, H.-A. Jacobsen, N. Puz, D. Weaver, and R. Yerneni. Pnuts: Yahoo!'s hosted data serving platform. VLDB, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. Dynamo: Amazon's highly available key-value store. SIGOPS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Gilbert and N. Lynch. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. Hunt, M. Konar, F. P. Junqueira, and B. Reed. Zookeeper: Wait-free coordination for internet-scale systems. In In USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. P. C. Jones, D. J. Abadi, and S. R. Madden. Concurrency control for partitioned databases. In SIGMOD, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. A. Lakshman and P. Malik. Cassandra: structured storage system on a p2p network. In PODC, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L. Lamport. The part-time parliament. ACM Trans. Comput. Syst., 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. L. Lamport. Paxos made simple. ACM SIGACT News, 2001.Google ScholarGoogle Scholar
  20. D. Lomet and M. F. Mokbel. Locking key ranges with unbundled transaction services. VLDB, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. B. Lomet, A. Fekete, G. Weikum, and M. J. Zwilling. Unbundling transaction services in the cloud. In CIDR, 2009.Google ScholarGoogle Scholar
  22. C. Mohan, B. G. Lindsay, and R. Obermarck. Transaction management in the r* distributed database management system. ACM Trans. Database Syst., 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. E. Pacitti, M. T. Ozsu, and C. Coulon. Preventive multi-master replication in a cluster of autonomous databases. In Euro-Par, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  24. E. Plugge, T. Hawkins, and P. Membrey. The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Rao, E. J. Shekita, and S. Tata. Using paxos to build a scalable, consistent, and highly available datastore. VLDB, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Seltzer. Oracle nosql database. In Oracle White Paper, 2011.Google ScholarGoogle Scholar
  27. M. Stonebraker, S. R. Madden, D. J. Abadi, S. Harizopoulos, N. Hachem, and P. Helland. The end of an architectural era (it's time for a complete rewrite). In VLDB, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Thomson and D. J. Abadi. The case for determinism in database systems. VLDB, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Whitney, D. Shasha, and S. Apter. High volume transaction processing without concurrency control, two phase commit, SQL or C. In HPTS, 1997.Google ScholarGoogle Scholar

Index Terms

  1. Calvin: fast distributed transactions for partitioned database systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            SIGMOD '12: Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
            May 2012
            886 pages
            ISBN:9781450312479
            DOI:10.1145/2213836

            Copyright © 2012 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 20 May 2012

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            SIGMOD '12 Paper Acceptance Rate48of289submissions,17%Overall Acceptance Rate785of4,003submissions,20%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader