Skip to content
Search

Key-value database

lastmod 2025-06-26created 2021-01-197 edits

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

A dictionary contains a collection of objects or records, which in turn contain many different fields, each holding data.

These records are stored and retrieved using a "key" that uniquely identifies the record, and the key is used to find the data quickly within the database.

Key–value databases, represented as key–value pairs, work in a very different way from the better-known relational databases (RDB).

An RDB predefines 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 follows modern concepts such as object-oriented programming more closely and offers considerable flexibility. Because optional values are not represented by placeholders (placeholder) as in most DBs, key–value databases often use far less memory to store the same database, which can lead to large performance gains in certain workloads.

Performance, lack of standardization, and other issues confined key–value systems to niche uses for many years, but the rapid move to cloud computing after 2010 led to a renaissance as part of the broader NoSQL movement. Some graph databases also use a key–value database internally, adding the concept of relationships (pointers) between records as a first-class data type.

Categories

  • Redis
  • etcd
  • minikeyvalue
  • hstore (PostgreSQL)
  • cachegrand - Open-source key-value store well suited to modern hardware
  • JunoDB - PayPal's Key-Value Store released as open source
  • redb - Embedded key/value store written in pure Rust
  • Keyv - Simple key-value storage with support for multiple backends
  • Wildcat - High-performance embedded key-value database (storage engine)

See also

Favorite site

author Zer0 sitemap