Voldemort (distributed data store)

Project Voldemort
Developer(s) LinkedIn
Initial release 2009
Stable release
1.10.25 / July 25, 2017 (2017-07-25)
Repository Edit this at Wikidata
Written in Java
Available in English
Type Distributed data store
License Apache License 2
Website www.project-voldemort.com

Voldemort is a distributed data store that is designed as a key-value store used by LinkedIn for high-scalability storage.[1] It is named after the fictional Harry Potter villain Lord Voldemort.

It is neither an object database, nor a relational database. It does not try to satisfy arbitrary relations and the ACID properties, but rather is a big, distributed, fault-tolerant, persistent hash table.[2] A 2012 study comparing systems for storing application performance management monitoring data reported that Voldemort, Cassandra, and HBase offered linear scalability in most cases, with Voldemort having the lowest latency and Cassandra having the highest throughput.[3]

In the parlance of Eric Brewer’s CAP theorem, Voldemort is an AP type system.

Voldemort's creator and primary corporate contributor, LinkedIn, has migrated all of their systems off of Voldemort as of approximately August 2018 with no replacement sponsor as of the time of writing (October 2018).[4]

Properties

Voldemort uses in-memory caching to eliminate a separate caching tier. It has a storage layer that is possible to emulate. Voldemort reads and writes scale horizontally. The API decides data replication and placement and accommodates a wide range of application-specific strategies.[2][5]

The Voldemort distributed data store supports pluggable placement strategies for distribution across data centers. Data is automatically replicated across servers. Data is partitioned meaning a single server contains only a portion of the total data. Each data node is independent to avoid central point of failure. Pluggable serialization allows rich keys and values including lists and tuples with named fields, as well as the integration with common serialisation frameworks such as Avro, Java Serialization, Protocol Buffers, and Thrift. Server failures are handled transparently. Data items are versioned, which maximizes data integrity.[1]

See also

References

  1. 1 2 "Voldemort is a distributed key-value storage system". Project Voldemort - A distributed database. Retrieved 2015-04-20.
  2. 1 2 "Comparison to relational databases". Project Voldemort - A distributed database. Archived from the original on 2011-04-23. Retrieved 2011-04-05.
  3. Rabl, Tilmann; Sadoghi, Mohammad; Jacobsen, Hans-Arno; Gómez-Villamor, Sergio; Muntés-Mulero, Victor; Mankovskii, Serge (August 2012). "Solving Big Data Challenges for Enterprise Application Performance Management" (pdf). Proceedings of the VLDB Endowment. 5 (12): 1724&ndash, 1735.
  4. project-voldemort mailing list post. 2018-08-16. Retrieved 2018-10-06.
  5. Serving Large-scale Batch Computed Data with Project Voldemort
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.