KeyValue databases have a few competitive advantages over common SQL Databases. KeyValue databases store data with a primary key, a uniquely identifiable record, which makes easy and fast to look up. The data stored in a KeyValue is normally some kind of primitive of the programming language. A big advantage using such a database is that the code tends to look clean and simple compared to embedded SQL strings. There are quite a few open source tool that have created an optimized KeyValue Database:
Aerospike Database manages massive datasets for web-scale applications. It is a real-time NoSQL Key-Value Store and it has clients storing 39.5 billion transactions per day, with zero downtime. It offers a free unlimited license, designed for environments that only need to support a single cluster of up to two nodes within one data centre and require storage of up to 200 GB of data.
LevelDB was developed at Google and it provides an ordered mapping from string keys to string values. The data is stored sorted by key and multiple changes can be made in one atomic batch. It is not a NoSQL database and it does not have a relational model. There is no client support available.
Redis is a VMWare sponsored open source project. It consists of a networked, in-memory, key-value data store. The Redis data model maps keys as values and these values are not limited to strings. It supports high-level server operations like intersections, union and differences among sets and lists. It does support many programming languages. Well-known companies using Redis are The Guardian, Craigslist or Tweetdeck.com.
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering. It is intended for use in speeding up dynamic web applications by alleviating database load.
Chordless is a Chord and DHash implementation written in java. It implements almost everything from Chord and DHash as well as some extra features such as transactions and remote method invocation.
Tokyo Cabinet is a library of routines for managing a database. It is a data file containing records, each being a key/value pair, written in the C language. Every key and value is serial bytes with variable length. Records are organized in B+ tree, hash table or fixed-length array.
It is a distributed transactional KeyValue store developed by Google. It is used to build websites 2.0 that need to be scalable. It uses a structured overlay. It is implemented in Erlang.
Scalien has developed Keyspace. Keyspace is a consistently replicated fault-tolerant key-value store. ScalienDB is the scalable, replicated data store developed by Scalien as well.
Voldemort is another distributed KeyValue storing system, which duplicates all data automatically over numerous servers. The data is also automatically split over the multiple servers, so every server only contains a subset of the total data. It supports plug gable data placement strategies as well.
hamsterdb is a KeyValue database optimized for performance and analytics. Like a column store database it uses type information to optimize its storage. This drastically reduces the file size, reduces I/O, increases performance and improves scalability. hamsterdb is implemented as a C/C++ library, but can be used from other languages as well (i.e. Java, .NET).
RaptorDB is a NoSQL persisted dictionary database that uses B+tree or MurMur hash indexing. It can store any data that you want. It was especially designed to store JSON data. The data can be indexed in the background and it is crash safe and fail resistant.
Faircom has developed the c-treeACE database that allows faster engineering of applications. It delivers a fast performance and developers can build data-driven apps in a short timeframe. It is simple to use but advanced user can take full control of it to give them absolute flexibility in building their application.
STSdb is an embedded NoSQL object database system with a KeyValue pair storage engine. It was developed critical and real-time applications and it is intuitive to use. It is based on a file system that provides an enumerable set of isolated sequential bytes to the database. It can store unlimited amounts of records and tables.
It is a searchable distributed KeyValue Store with a low latency, low variance and high throughput. It enables searches of non-primary data attributes. It is easily scalable fault tolerant as all data is automatically duplicated on different machines and nodes. It uses the mapping technique called hyperspace hashing.
The open source Open Lightweight Directory Access Protocol is a lightweight protocol for accessing directory services. The information model is based on entries and an entry is a collection of attributes with a Distinguished Name. Directory entries are arranged in a hierarchical tree-like structure. The OpenLDAP allows users to control which attributes are required and allowed in an entry.
IQLECT has built a key value NoSQL data store called BangDB. It is built for Big Data to handle the three V’s: Velocity, Variety and Volume. IT can deal with high velocity data, can scale linearly and is real-time. Data gets distributed across nodes. A typical use case could be to provide shared distributed data cache for applications for performance, throughput, scalability, high availability.
Elliptics network is the distributed, fault tolerant KeyValue storage developed by Ioremap.net. It implements hash table object storage. Data is not stored on dedicated servers using metadata, but it rather supports redundant object storage. Different nodes are loosely connected and a new node connects automatically according to the network topology. It is written in C++ and Python.