Project Voldemort

From Big Database List

Jump to: navigation, search
Project Voldemort
IMAGE:Voldemortlogo.png
VendorOpen Source
Websitehttp://project-voldemort.com/

Voldemort is not a relational database, it does not attempt to satisfy arbitrary relations while satisfying ACID properties. Nor is it an object database that attempts to transparently map object reference graphs. Nor does it introduce a new abstraction such as document-orientation. It is basically just a big, distributed, persistent, fault-tolerant hash table. For applications that can use an O/R mapper like active-record or hibernate this will provide horizontal scalability and much higher availability but at great loss of convenience. For large applications under internet-type scalability pressure, a system may likely consists of a number of functionally partitioned services or apis, which may manage storage resources across multiple data centers using storage systems which may themselves be horizontally partitioned. For applications in this space, arbitrary in-database joins are already impossible since all the data is not available in any single database. A typical pattern is to introduce a caching layer which will require hashtable semantics anyway.

Some notes on Project Voldemort:

  • Project Voldemort is the open development of something that was created to serve a need that LinkedIn had. LinkedIn is supporting the project and supporting the move to make it open.
  • Voldemort is used extensively at LinkedIn for online queries. Volemort is not used for analytical queries, data is instead fed into a data warehouse for this purpose.
  • The primary focus of Project Voledmort is scalability and predictability of performance. Voledmort is a key/value store, not document orientated storage.
  • Project Voldemort uses a hashing algorithm to allow any node to know that location of data on any other node. This avoids the need to have centralized lookup nodes (which results in multiple hops and potential bottlenecks).
  • Project Voldemort doesn’t use REST. During testing a REST interface was found to have too great a latency and instead Project Voldemort has its own native driver interface.
  • The name of course comes from Harry Potter. For those not familiar, Voldemort’s sole was broken up in pieces and to kill Voldemort Harry had to kill all the pieces. Project Voldemort aims to mimic the spirit of this, to have scalability but with no single point of failure.

Media

See Also

External Links


Personal tools