Key-value stores (No SQL Databases)
A key - value store is a sub-category of **NoSQL Databases **(to start working with NoSQL Databases or to know what they are, refer : Working with NoSQL Databases)
They allow the application to store its data in a schema-less way. The data, however can be stored in a user-defined data type or object.
They can exist in the form of :
- Eventually consistent key-value store
- Key-value cache in RAM
- Key-value stores on a rotating disk
- Ordered Key-value stores
- Multi-value Databases
- Object Databases
- RDF Databases
- Tuple Stores
- Hierarchical Key-value Stores
In this article I will be **focusing on Eventually consistent key-value stores **(with the others in future articles):
The various Eventually consistent key-value stores present are :
- Apache Cassandra
- Apache Cassandra is an open source distributed database management system designed to handle large amounts of data.
- Highly decentralized, i.e. data spread out across many servers
- No single point of failure due to the above point.
- Couchbase Server
- Open Source distributed database management system designed to handle both JSON documents and key/value pairs with sub millisecond latency
- Comes with transparent sharding and no single point of failure with a single node type through the whole deployment.
- Provides availability through replication within clusters and across data centers.
- Virtuoso Universal Server
- Combines the functionality of Relational DBMS, Object Relational DBMS, Resource Description Framework, XML, Virtual Database, free-text and file server functionality in a single unit.
- Implements the above mentioned functionality within one single server process through the use of multi-threading.
- Dynamo
- Dynamo is a proprietary key-value storage system.
- Has properties of Distributed Hash Tables along with the traditional database properties.
- Riak
- Works on the principles of Amazon's version of Dynamo.
- Used by large companies like AOL, Boeing, Symantec,etc.
- Project Voldemort
- A distributed Key-value store.
- Neither a RDMS nor an OODBMS.
- Still under development.
- You can also contribute to it using GitHub.
- Hibari (Japnese - Cloud Bird)
- Distributed, Big Data Store.
- Capable of storing up-to several hundred petabytes.