Difference between revisions of "Key-value database"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(See also)
(See also)
 
Line 14: Line 14:
  
 
* [[Associative array]]
 
* [[Associative array]]
* [[Attribute–value_pair]]
+
* [[Attribute–value pair]]
 
* [[Data structure]]
 
* [[Data structure]]
 
* [[Database]]
 
* [[Database]]

Latest revision as of 17:36, 25 October 2016

A key-value store, or key-value database, is a data storage paradigm designed for storing, retrieving, and managing associative arrays, a data structure more commonly known today as a dictionary or hash.

Description

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 quickly find the data within the database.

Key-value stores work in a very different fashion from the better known relational databases (RDB). RDBs pre-define 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 as in most RDBs, key-value stores often use far less memory to store the same database, which can lead to large performance gains in certain workloads.

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 stores internally, adding the concept of the relationships (pointers) between records as a first class data type.

See also

External links