Generalisierungen
:Eigenschaften
:Involvierte Definitionen
:Veranstaltung
: DEDSReferenz
:- @storl2024 (KE6, NoSQL: Datenmodelle und Techniken; Teil 1.2)
- @stoerl2024 (p. 15)
⠀
Definition: Column Family Datenbank
Als Column Family Datenbank (auch Wide Column Datenbank) bezeichnen wir eine Art von NoSQL Datenbank, die Daten in einem spaltenorientierten Format, den Column Families, organisiert und speichert.
Column Families stellen eine Gruppierung einzelner Columns dar, die physisch gemeinsam abgespeichert werden. Unterschiedliche
Column Families
werden auf unterschiedlichen verteilten Nodes gespeichert.Ein typisches Beispiel für verschiedene Column Families ist die Versionierung von Daten.
Ein Zeile in einer Column Family Datenbank kann Einträge aus verschiedenen Column Familien und verschiedenen Columns enthalten, wobei Schemafreiheit gewährleistet ist.
Bekannte Vertreter sind:
- Google Cloud Bigtable,
- HBase,
- Azure Table Storage,
- Cassandra (Table)
Anmerkung
Primärschlüssel in Cassandra
In Cassandra ist der Primary Key in zwei Teile aufgespalten:
- Partition Key: Einträge mit dem selben Partition Key werden gemeinsam auf dem selben Knoten abgespeichert. Eine clevere Wahl des Partition Keys sorgt dafür, dass die Daten gleichmäßig über das Cluster verteilt werden.
- Clustering Columns: geben eine Sortierreihenfolge für die Daten innerhalb einer Partition an, es können auch mehrere Clustering Columns verwendet werden.
Als Beispiel stellen wir uns eine Bibliothek vor, in der Bücher organisiert werden. Als Partition Key kann beispielsweise das Genre genutzt werden. Als Clustering Columns würden wir das Erscheinungsjahr und die Autoren wählen.
Die Cassandra Table würden wir dann wie folgt definieren: