Wide-Column-Store (deutsch: Spaltenfamilien-Datenbank) ist ein NoSQL-Datenmodell, das Daten in Spaltenfamilien organisiert. Anders als klassische relationale Tabellen sind Zeilen nicht an ein festes Spaltenschema gebunden: Jede Zeile besitzt einen eindeutigen Zeilenschlüssel (Row Key) und kann individuell viele oder wenige Spalten enthalten. Damit eignet sich das Modell für enorme Datenmengen mit sehr unterschiedlichen Datensätzen.
Spaltenfamilien und Zeilenschlüssel
Die Grundeinheit ist die Spaltenfamilie (Column Family), eine Gruppe logisch zusammengehöriger Spalten, die auf dem Cluster gemeinsam gespeichert wird. Innerhalb einer Spaltenfamilie identifiziert der Zeilenschlüssel jede Zeile eindeutig. Ein Beispiel: In einer Tabelle Nutzer könnte die Spaltenfamilie Profil die Spalten Name und E-Mail enthalten, die Spaltenfamilie Verhalten dagegen letzte Anmeldung und Klickpfad. Da die Zeilen physisch über mehrere Knoten verteilt sind, skaliert ein Wide-Column-Store horizontal nahezu beliebig.
Verbreitete Systeme
- Apache Cassandra: dezentral, linear skalierbar, sehr hohe Schreiblast, genutzt etwa bei großen Webdiensten.
- Apache HBase: auf dem Hadoop-Dateisystem aufbauend, bekannt aus dem Google-Bigtable-Ansatz.
- ScyllaDB: Cassandra-kompatible Neuimplementierung in C++ mit besonders niedriger Latenz.
- Google Bigtable: der ursprüngliche Wide-Column-Dienst, Vorbild für HBase.
Wann sich ein Wide-Column-Store lohnt
Typische Einsatzfelder sind Zeitreihen-ähnliche Analysen, Event-Logging, IoT-Sensordaten und personalisierte Nutzerprofile. Werden Daten dagegen vor allem über flexible Dokumente abgebildet, ist eine dokumentenorientierte Datenbank oft passender; für sehr einfache Abfragen genügt mitunter ein Key-Value-Store.
Verwandte Grundlagen: NoSQL-Datenbank, MongoDB, Redis, Cluster-Datenbank, Datenbank-Replikation, Time-Series-Datenbank, In-Memory-Datenbank.