Key-Value Database - Wikipedia
Key-Value Database - Wikipedia
Key–value database
A key–value database, or key–value
store, is a data storage paradigm designed for
storing, retrieving, and managing associative
arrays, and a data structure more commonly
known today as a dictionary or hash table.
Dictionaries contain a collection of objects, or
records, which in turn have many different
fields within them, each containing data. These
records are stored and retrieved using a key
that uniquely identifies the record, and is used
to find the data within the database.
A tabular data card proposed for Babbage's Analytical
Key–value databases work in a very different Engine showing a key–value pair, in this instance a
number and its base-ten logarithm
fashion from the better known relational
databases (RDB). RDBs predefine the data
structure in the database as a series of tables
containing fields with well defined data types.
Exposing the data types to the database program
allows it to apply a number of optimizations. In
contrast, key–value systems treat the data as a single
opaque collection, which may have different fields for
every record. This offers considerable flexibility and
more closely follows modern concepts like object-
oriented programming. Because optional values are
not represented by placeholders or input parameters,
as in most RDBs, key–value databases often use far
less memory to store the same database, which can
A table showing different formatted data values
lead to large performance gains in certain workloads.
associated with different keys
Performance, a lack of standardization and other
issues limited key–value systems to niche uses for
many years, but the rapid move to cloud computing after 2010 has led to a renaissance as part of the
broader NoSQL movement. Some graph databases are also key–value databases internally, adding
the concept of the relationships (pointers) between records as a first class data type.
Some maintain data in memory (RAM), while others employ solid-state drives or rotating disks.
Every entity (record) is a set of key–value pairs. A key has multiple components, specified as an
ordered list. The major key identifies the record and consists of the leading components of the key.
The subsequent components are called minor keys. This organization is similar to a directory path
specification in a file system (e.g., /Major/minor1/minor2/). The “value” part of the key–value pair is
simply an uninterpreted string of bytes of arbitrary length.[1]
https://en.wikipedia.org/wiki/Key–value_database 1/4
10/27/2020 Key–value database - Wikipedia
The Unix system provides dbm (database manager), which is a 1979 library originally written by Ken
Thompson. It is also ported to Microsoft Windows, provided through programming languages such
as Perl for Win32. The dbm manages associative arrays of arbitrary data by use of a single key (a
primary key). Modern implementations include Berkeley DB, sdbm, and GNU dbm. Although dbm
precedes the concept of a NoSQL and is rarely mentioned in modern discourse, it is used by many
pieces of software.
https://en.wikipedia.org/wiki/Key–value_database 2/4
10/27/2020 Key–value database - Wikipedia
Eventually
Provider License Ordered RAM Disk
consistent
Aerospike AGPL Yes Yes
Apache Ignite AL2 Yes Yes
ArangoDB AL2 Yes Yes
Berkeley DB AGPL, Proprietary Yes
CDB Public Domain
Clusterpoint Database Server Proprietary
Couchbase Server Proprietary
Dynamo Proprietary Yes
etcd AL2 Yes
FoundationDB AL2 Yes
XAP Proprietary Yes
GridGain Systems Proprietary Yes
See also
Big data
Data analysis
https://en.wikipedia.org/wiki/Key–value_database 3/4
10/27/2020 Key–value database - Wikipedia
References
1. Oracle NoSQL Database (http://www.dbjournal.ro/archive/12/12.pdf).
2. Tweed, Rob; James, George (2010). "A Universal NoSQL Engine, Using a Tried and Tested
Technology" (http://www.mgateway.com/docs/universalNoSQL.pdf) (PDF). p. 25. "Without
exception, the most successful and well-known of the NoSQL databases have been developed
from scratch, all within just the last few years. Strangely, it seems that nobody looked around to
see whether there were any existing, successfully implemented database technologies that could
have provided a sound foundation for meeting Web-scale demands. Had they done so, they
might have discovered two products, GT.M and Caché.....*"
3. "Riak: An Open Source Scalable Data Store" (https://web.archive.org/web/20101231030633/htt
p://wiki.basho.com/). 28 November 2010. Archived from the original (https://wiki.basho.com) on
31 December 2010. Retrieved 28 November 2010.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.
https://en.wikipedia.org/wiki/Key–value_database 4/4