Schlüssel-Werte-Datenbanksysteme

Schlüssel-Werte-Datenbanken, auch Key Value Stores genannt, speichern Schlüssel/Wert-Paare.

Datenbanksysteme

Schlüssel/Wert-Datenbanksysteme sind z.B. Riak, Cassandra, Redis und MongoDB.

Home

Riak

Cassandra

Redis

MongoDB

GitHub

basho/riak

apache/cassandra

redis/redis

mongodb/mongo

Docs

docs.riak.com

cassandra.apache.org/doc/

redis.io/documentation

docs.mongodb.com

Anwendungsgebiete

Session storage, Log data, Sensor data, CMS

Georedundanz, hohe Schreibgeschwindigkeit, demokratische Peer-to-peer (P2P)-Architektur, Daten mit definierter Lebenszeit

Session Cache, Full Page Cache (FPC), Queues, Pub/Sub

IoT, Mobile apps, CMS, einfache Geodaten, …

Entwicklungssprache

Erlang

Java

ANSI C

C++

Lizenzen

Apache License 2.0

Apache License 2.0

BSD-3-Clause License

Server Side Public License

Datenmodell

Im Wesentlichen Schlüssel/Wert-Paar

Column Family entsprechen Tabellen, Keyspaces Datenbanken; keine logische Struktur, kein Schema

Schlüssel werden als Zeichenkette gespeichert, Werte als Zeichenkette, Hashes, Listen, Sets und sortierten Sets

Flexibles Schema mit denormalisiertem Modell

Query-Langauge

Keyfilter, MapReduce, Link-Walking, keine Ad-hoc Queries möglich

Cassandra Query Language (CQL)

jQuery, MapReduce

Transaktionen, Nebenläufigkeit

ACID

Eventual Consistency

in-memory, asynchron on disc mit Append Only File Mode

Two-phase locking (2PL)

Replikation, Skalierung

Multi-Master-Replikation

SimpleStrategy, NetworkTopologyStrategy und OldNetworkTopologyStrategy

Master-N-Slaves-Replikation, Sharding mittels consistent hashing

Master-Slave-Replikation, Auto-Sharding

Anmerkungen

Siehe auch Scylla, eine Cassandra-kompatible Reimplementierung in C.

Siehe auch KeyDB, ein Fork von Redis mit Multithreading.

BSON mit einre maximalen Dokumentengröße von 16 MB.