Konstrukte
:Generalisierungen
:Eigenschaften
:Involvierte Definitionen
:- Hash-Map
- B-Baum
- MapReduce
Veranstaltung
: DEDSReferenz
: @storl2024 (KE6, NoSQL: Datenmodelle und Techniken; Teil 1.2)
⠀
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.