skip to main content
10.1145/1411273.1411280acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Scalaris: reliable transactional p2p key/value store

Authors Info & Claims
Published:27 September 2008Publication History

ABSTRACT

We present Scalaris, an Erlang implementation of a distributed key/value store. It uses, on top of a structured overlay network, replication for data availability and majority based distributed transactions for data consistency. In combination, this implements the ACID properties on a scalable structured overlay.

By directly mapping the keys to the overlay without hashing, arbitrary key-ranges can be assigned to nodes, thereby allowing a better load-balancing than would be possible with traditional DHTs. Consequently, Scalaris can be tuned for fast data access by taking, e.g. the nodes' geographic location or the regional popularity of certain keys into account. This improves Scalaris' lookup speed in datacenter or cloud computing environments.

Scalaris is implemented in Erlang. We describe the Erlang software architecture, including the transactional Java interface to access Scalaris.

Additionally, we present a generic design pattern to implement a responsive server in Erlang that serializes update operations on a common state, while concurrently performing fast asynchronous read requests on the same state.

As a proof-of-concept we implemented a simplified Wikipedia frontend and attached it to the Scalaris data store backend. Wikipedia is a challenging application. It requires - besides thousands of concurrent read requests per seconds - serialized, consistent write operations. For Wikipedia's category and backlink pages, keys must be consistently changed within transactions. We discuss how these features are implemented in Scalaris and show its performance.

Skip Supplemental Material Section

Supplemental Material

1411280.mp4

mp4

174.2 MB

References

  1. J. Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Programmers, ISBN: 978-1-9343560-0-5, July 2007 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Baldoni, L. Querzoni, A. Virgillito, R. Jiménez-Peris, and M. Patiño-Martínez. Dynamic Quorums for DHT-based P2P Networks. NCA, pp. 91--100, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 Proceedings of the 21st ACM Symposium on Operating Systems Principles, Oct. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. JJ Furman, J. S. Karlsson, J. Leon, A. Lloyd, S. Newman, and P. Zeyliger. Megastore: A Scalable Data System for User Facing Applications. SIGMOD 2008, Jun. 2008.Google ScholarGoogle Scholar
  5. A. Ghodsi, L. O. Alima, and S. Haridi. Symmetric Replication for Structured Peer-to-Peer Systems. 3rd Intl. Workshop on Databases, Information Systems and P2P Computing, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Guerraoui and L. Rodrigues. Introduction to Reliable Distributed Programming. Springer-Verlag 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. Hewitt, P. Bishop, and R. Steiger. A Universal Modular ACTOR Formalism for Artificial Intelligence. IJCAI, 1973.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. Lakshman, P. Malik, and K. Ranganathan. Cassandra: A Structured Storage System on a P2P Network. SIGMOD 2008, Jun. 2008.Google ScholarGoogle Scholar
  9. L. Lamport. Fast Paxos. Distributed Computing 19(2):79--103, 2006.Google ScholarGoogle Scholar
  10. M. M. Masud and I. Kiringa. Maintaining consistency in a failure-prone P2P database network during transaction processing. Proceedings of the 2008 International Workshop on Data management in peer-to-peer systems, pp. 27--34, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Moser and S. Haridi. Atomic Commitment in Transactional DHTs. 1st CoreGRID Symposium, Aug. 2007.Google ScholarGoogle Scholar
  12. S. Plantikow, A. Reinefeld, and F. Schintke. Transactions for Distributed Wikis on Structured Overlays. 18th IFIP/IEEE Distributed Systems: Operations and Management (DSOM 2007), Oct. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. T. Schütt, F. Schintke, and A. Reinefeld. Structured Overlay without Consistent Hashing: Empirical Results. GP2PC'06, May 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Schütt, F. Schintke, and A. Reinefeld. A Structured Overlay for Multi-Dimensional Range Queries. Europar, Aug. 2007.Google ScholarGoogle ScholarCross RefCross Ref
  15. T. Schütt, F. Schintke, and A. Reinefeld. Scalable Wikipedia with Erlang. Google Scalability Conference, Jun. 2008.Google ScholarGoogle Scholar
  16. T. M. Shafaat, M. Moser, A. Ghodsi, S. Haridi, T. Schütt, and A. Reinefeld. Key-Based Consistency and Availability in Structured Overlay Networks. Third Intl. ICST Conference on Scalable Information Systems, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. I. Stoica, R. Morris, M. F. Kaashoek D. Karger, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for Internet application. ACM SIGCOMM 2001, Aug. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Scalaris: reliable transactional p2p key/value store

            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
              ERLANG '08: Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
              September 2008
              96 pages
              ISBN:9781605580654
              DOI:10.1145/1411273
              • General Chair:
              • Tee Teoh,
              • Program Chair:
              • Zoltán Horváth

              Copyright © 2008 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: 27 September 2008

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              ERLANG '08 Paper Acceptance Rate9of10submissions,90%Overall Acceptance Rate51of68submissions,75%

              Upcoming Conference

              ICFP '24

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader