skip to main content
10.1145/2611354.2611366acmconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
tutorial

Reconciling Transactional and Non-Transactional Operations in Distributed Key-Value Stores

Published:30 June 2014Publication History

ABSTRACT

NoSQL databases were initially designed to provide extreme scalability and availability for Internet applications, often at the expense of data consistency. The recent generation of Web-scale databases fills this gap, by offering transaction support. However, transaction processing implies a significant performance overhead on online applications that only require atomic reads and writes. The state-of-the-art solutions are either static separation of the data accessed by transaction-enabled and native applications, or complete "transactification" of the latter, which are both inadequate.

We present a scalable transaction processor, Mediator, that enjoys the best of both worlds. It preserves the latencies of atomic reads and writes, without compromising data safety. We introduce a lightweight synchronization protocol that enables conflict resolution between transactions and native operations that share data in a distributed database. We evaluate Mediator's implementation on top of the HBase key-value store on a large-scale testbed, and show that it substantially outperforms the traditional approach on a vast majority of mixed workloads. In particular, Mediator achieves a significantly larger throughput for all workloads in which the fraction of native operations exceeds 50%.

References

  1. M. Alomari, M. Cahill, A. Fekete, and U. Rohm. The cost of serializability on platforms that use snapshot isolation. In ICDE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. Attiya and J. Welch. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. Wiley Series on Parallel and Distributed Computing, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Balakrishnan, D. Malkhi, V. Prabhakaran, T. Wobber, and M. Wei. Corfu: A shared log design for flash clusters. In NSDI, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O'Neil, and P. O'Neil. A critique of ansi sql isolation levels. In SIGMOD '95, pages 1--10, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. H. Bloom. Space/time trade-offs in hash coding with allowable errors. Commun. ACM, 13(7):422--426, July 1970. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. E. Bortnikov, E. Hillel, and A. Sharov. Reconciling transactional and non-transactional operations in distributed key-value stores. Technical report, Yahoo Labs, 2014.Google ScholarGoogle Scholar
  7. M. J. Cahill, U. Rohm, and A. Fekete. Serializable isolation for snapshot databases. In SIGMOD, pages 729--738, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F. Chang et al. Bigtable: A distributed storage system for structured data. In OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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. In VLDB, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with YCSB. In ACM SoCC 2010, pages 143--154, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. C. Corbett et al. Spanner: Google's globally-distributed database. In OSDI, pages 251--264, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. O. et. al. The case for ram cloud. Commun. ACM, 54:121--130, July 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Fekete, D. Liarokapis, E. O'Neil, P. O. Neil, and D. Shasha. Making snapshot isolation serializable. ACM TODS, 30:492--528, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Gomez-Ferro and M. Yabandeh. A critique of snapshot isolation. In EuroSys, pages 155--168, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Gray and A. Reuters. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Herlihy and N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. P. Junqueira, I. Kelly, and B. Reed. Durability with BookKeeper. OS Review, 47:9--15, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. H. Papadimitriou. The serializability of concurrent database updates. J. ACM, 26(4):631--653, Oct. 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Peluso, P. Romano, and F. Quaglia. SCORe: A scalable one-copy serializable partial replication protocol. In Proceedings of the 13th International Middleware Conference, Middleware '12, pages 456--475, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Peng and F. Dabek. Large-scale incremental processing using distributed transactions and notifications. In OSDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. F. Spear, M. M. Michael, and C. von Praun. RingSTM: scalable transactions with a single atomic instruction. In SPAA '08, pages 275--284, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. Thomson, T. Diamond, S.-C. Weng, K. Ren, P. Shao, and D. J. Abadi. Calvin: Fast distributed transactions for partitioned database systems. In SIGMOD, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. Thonangi, S. Babu, and J. Yang. A practical concurrent index for solid-state drives. In CIKM, pages 1332--1341, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Weikum and G. Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Yabandeh, D. Gomez-Ferro, I. Kelly, F. Junqueira, and B. Reed. Lock-free transactional support for distributed data stores. Accepted to ICDE '14.Google ScholarGoogle Scholar

Index Terms

  1. Reconciling Transactional and Non-Transactional Operations in Distributed Key-Value Stores

    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
      SYSTOR 2014: Proceedings of International Conference on Systems and Storage
      June 2014
      168 pages
      ISBN:9781450329200
      DOI:10.1145/2611354

      Copyright © 2014 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: 30 June 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • tutorial
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate94of285submissions,33%

      Upcoming Conference

      SYSTOR '24
      The 17th ACM International Systems and Storage Conference
      September 23 - 25, 2024
      Tel-Aviv , Israel

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader