Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Key–value database

From Wikipedia, the free encyclopedia
(Redirected fromKey–value store)
Data storage paradigm
This article is about a storage system architecture. For the mode of data representation, seeKey–value pair.
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Key–value database" – news ·newspapers ·books ·scholar ·JSTOR
(September 2021) (Learn how and when to remove this message)
A tabular data card proposed for Babbage'sAnalytical Engine showing a key–value pair, in this instance a number and its base-ten logarithm

Akey–value database, orkey–value store, is a data storage paradigm designed for storing, retrieving, and managingassociative arrays, adata structure more commonly known today as adictionary orhash table. Dictionaries contain acollection ofobjects, orrecords, which in turn have many differentfields within them, each containing data. These records are stored and retrieved using akey that uniquely identifies the record, and is used to find the data within thedatabase.[1][2]

A table showing different formatted data values associated with different keys

Key–value databases work in a very different fashion from the better knownrelational databases (RDB). RDBs predefine the data structure in the database as a series of tables containing fields with well defineddata 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 likeobject-oriented programming. Because optional values are not represented by placeholders or input parameters, as in most RDBs, key–value databases often use far lessmemory to store the same data, which can lead to large performance gains in certain workloads.[citation needed]

Performance, a lack of standardization and other issues have limited key–value systems to niche uses for many years, but the rapid move tocloud computing after 2010 has led to a renaissance as part of the broaderNoSQL movement. Somegraph databases, such asArangoDB,[3] are also key–value databases internally, adding the concept of the relationships (pointers) between records as a first class data type.

Types and examples

[edit]

Key–value databases can useconsistency models ranging fromeventual consistency toserializability. Some support ordering of keys.

Some maintain datain memory (RAM), while others employsolid-state drives orrotating disks.[1]

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.[4]

The Unix system providesdbm (database manager), which is a 1979 library originally written byKen Thompson. It is also ported toMicrosoft Windows, provided through programming languages such asPerl for Win32. The dbm manages associative arrays of arbitrary data by use of a single key (a primary key). Modern implementations includesdbm, GNU dbm, andBerkeley DB. Althoughdbm precedes the concept of a NoSQL and is rarely mentioned in modern discourse, it is used by many pieces of software.

A more recent example of a key-value database isRocksDB which is used as storage engine for other database management systems such asArangoDB. Other examples includeAerospike (database),Amazon DynamoDB,Memcached,Redis, andScyllaDB.

See also

[edit]

References

[edit]
  1. ^abCorbellini, Alejandro; Mateos, Cristian; Zunino, Alejandro; Godoy, Daniela; Schiaffino, Silvia (2017-01-01)."Persisting big-data: The NoSQL landscape".Information Systems.63:1–23.doi:10.1016/j.is.2016.07.009.hdl:11336/58462.ISSN 0306-4379. Retrieved2025-05-25.
  2. ^Hecht, Robin; Jablonski, Stefan (2011).NoSQL evaluation: A use case oriented survey. 2011 International Conference on Cloud and Service Computing. pp. 336–341.doi:10.1109/CSC.2011.6138544. Retrieved2025-05-25.
  3. ^"Storage Engines".ArangoDB. Retrieved16 November 2020.
  4. ^Oracle NoSQL Database.
Common models
Other models
Implementations
Retrieved from "https://en.wikipedia.org/w/index.php?title=Key–value_database&oldid=1298063562"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp