Definition: Key-Value Datenbank

Als Key-Value Datenbank bezeichnen wir eine Art von NoSQL-Datenbank, die Daten als eine Sammlung von Schlüssel-Wert-Paaren speichert.

Hierbei dient der Schlüssel als eindeutiger Bezeichner, während der Wert beliebige Daten in Form von Text, Zahlen, JSON, XML oder sogar binären Daten darstellen kann.

Key-Value Datenbanken zeichnen sich durch ihre Einfachheit und hohe Leistungsfähigkeit aus. Sie sind daher besonders nützlich für Anwendungen, die eine schnelle Lese- und Schreibgeschwindigkeit erfordern, beispielsweise für Sitzungsmanagement, Caching, Benutzerprofile und Echtzeit-Datenanalyse.

In der Regel gibt es einen Index für den Key, Indizes für die Values sind in der Regel nicht sinnvoll.

Technisch werden Key-Value Datenbanken bspw. durch Hash-Maps oder B-Bäume realisiert.

Bekannte Vertreter sind:

  • Oracle Berkeley DB (aus den 90er Jahren)
  • Redis, Amazon DynamoDB, Riak, …
  • Memcached, EHCache

Anmerkung

Operationen auf Key-Value Datenbanken

Die grundlegenden Operationen umfassen:

  • set(key,value)
  • value = get(key)
  • delete(key)

Für komplexere Analyse bringen Key-Value Datenbanken darüber hinaus häufig integrierte MapReduce-Framework mit sich.