Einführung in die Säulenfamilie mit Cassandra

Dieser Blog unterstreicht die Bedeutung der Säulenfamilie mit Cassandra

Spaltenfamilie

Eine Spaltenfamilie ähnelt einer Tabelle in RDBMS oder Relational Database Management System und ist eine logische Unterteilung, die ähnliche Daten verknüpft. Grundsätzlich neigen Sie dazu, in ähnlichen Daten Daten zu speichern, die ähnliche Themen haben.

Beispielsweise werden Bestelldaten in einer einzelnen Spaltenfamilie gespeichert, sodass Sie eine Bestell-ID als Zeilenschlüssel sowie verschiedene Spalten haben können, z. B. die Art des Produkts, das als Teil dieser Bestellung in die jeweilige Bestellfamilie aufgenommen wurde . Um bestimmte Beispiele zu nennen, besteht eine Benutzerspaltenfamilie aus einer Benutzer-ID als Schlüssel. Daher kann man eine ID frei wählen und die Spalten können 'Name = Kunal' sein. Und die Spaltenwerte sind Kunal und Bangalore. Es gibt eine zweite Spaltenfamilie namens Cricketspieler-Spaltenfamilie, die die Speicherung von Cricketspieler-Statistiken in einer Spaltenfamilie ermöglicht. Zum Beispiel können Sie Sachin Tendulkar in einer Spalte und die Anzahl der Jahrhunderte in einer anderen haben. Daher kann es eine beliebige Anzahl von Spalten geben.



Arten von Spalten

Die Spaltenfamilie ist nichts anderes als eine Tabelle, die einer Tabelle in einer RDBMS-Welt entspricht. Es gibt bestimmte Arten, nämlich

Bibliothek c ++ sortieren

Statische Spaltenfamilie - In der statischen Spaltenfamilie werden die Namen und Datentypen definiert. Wenn die Spaltenfamilie erstellt wird, ist die Option zum Benennen des Spaltennamens und der Datentypen verfügbar. Es wird als statisch bezeichnet, da die Spalten statisch bleiben und die Anzahl der verfügbaren Spalten bekannt ist.

Dynamische Spaltenfamilie - Eine dynamische Spaltenfamilie definiert die Spaltennamen nicht im Voraus, und Cassandra kann beliebige Anwendungs- und Spaltennamen zum Speichern von Daten verwenden. Dynamisch hilft also in gewisser Weise, denn in unstrukturierten Daten hilft die dynamische Spaltenfamilie meistens dabei, neue Felder zu pflegen, die möglicherweise später hinzugefügt wurden.

Wenn Sie eine statische Spaltenfamilie haben und beim Laden der Daten eine dynamische Spaltenfamilie in Ihren Code einfügen möchten, kann diese jederzeit zu einer statischen Spaltenfamilie hinzugefügt werden. Cassandra gibt die Freiheit, Spaltennamen zu wählen.

Unterschied zu RDBMS

Die Cassandra-Spaltenfamilie ist schemafrei und stark skalierbar. Die Cassandra-Spaltenfamilie hat zwei Attribute - Name und Komparator. Wenn Sie also eine Cassandra-Spaltenfamilie haben, ist es obligatorisch, ihr einen Namen zu geben, und Comparator ist im Grunde ein Datentyp für Spaltennamen. Wenn Sie den Komparator nicht angeben, wird davon ausgegangen, dass es sich um einen Standardkomparator handelt.

Cassandra hat auch eine Spalte mit Supersäulenfamilien. Es wird intern eine Superspalte verwendet. Es ist eine logische Gruppierung und eine andere Ebene der Gruppierung von Spalten. In einer Benutzerspaltenfamilie können Sie also zwei Superspalten haben, in denen wir die persönlichen Informationen und Produktinformationen der Benutzer haben können.

Säulen

Eine Spalte ist das kleinste Dateninkrement in Cassandra. Es hat 3 Komponenten:

  • Name
  • Wert
  • Zeitstempel - Wird zur Konfliktlösung verwendet und der Zeitstempel kann nicht bearbeitet werden. Es ist ein interner Mechanismus, um zu sehen, wann diese Daten oder Spalten aktualisiert wurden.
  • Ablaufende Spalten - Eine Spalte kann mit einem Ablaufdatum versehen werden, um zu wissen, dass die Spalte abläuft.
  • Zählerspalten - Zählerspalten sind nichts anderes als das Verwalten der Spalten, damit Sie diese Zählerspalten erhöhen und verringern können.

Supersäulen

Super Columns gruppiert alle Spalten je nach Geschäftsanforderung und logischer Gruppierung. Es fügt der regulären Spaltenfamilienstruktur eine weitere Verschachtelungsebene hinzu. Sie umfassen eine Supersäulenfamilienstruktur.

Der Hauptfall für Superspalten besteht darin, mehrere Zeilen aus anderen Spaltenfamilien in einer einzigen Zeile zu denormalisieren, um das Abrufen materialisierter Ansichtsdaten zu ermöglichen.

Anwendungsfälle

Einschränkungen von Supersäulen

Eine Einschränkung besteht darin, dass alle Unterspalten einer Superspaltenfamilie de-serialisiert werden müssen, um eine einzelne Unterspaltenfamilie zu lesen. Eine weitere Einschränkung besteht darin, dass wir keine Sekundärindizes für die Unterspalten einer Superspalte erstellen können.

Spaltendatentypen

Spaltendatentypen

Im obigen Bild gibt es verschiedene Datentypen. Der Datentyp für einen Spaltenwert wird als Validator bezeichnet. Und der Komparator ist der Datentyp für eine Spalte. Der Name und die Adresse werden zu einem Spaltennamen. So können Sie bei Spaltennamen ein Datum festlegen. Sie können auch Zeitreihendaten haben, indem Sie das Datum als Spaltennamen angeben.

verknüpfte Liste in c Tutorial

Reihen

Es kann breite Reihen und mehrere Reihen geben. Es können Millionen von Spalten und Zeilen verfügbar sein.

Dünne Zeilen haben eine kleine Anzahl von Spalten mit der Option, nur begrenzte Zeilen zu haben.

Zusammengesetzter Schlüssel

Es besteht aus einem oder mehreren Primärschlüsselfeldern. Angenommen, der Name einer Stadt wird als Zeilenschlüssel festgelegt. Möglicherweise gibt es eine Stadt, die in zwei verschiedenen Bundesstaaten benannt ist. Sie müssen also angeben, welche Stadt und welcher Bundesstaat. Dies bedeutet einfach, dass der Schlüssel angegeben werden muss. Anstatt einen einfachen Spaltenschlüssel eines Typs zu haben, können Sie mehrere Werte, auch Komponenten verschiedener Typen genannt, zu einem eindeutigen Spaltenschlüssel zusammenfassen.

Hast du eine Frage an uns? Erwähnen Sie sie im Kommentarbereich und wir werden uns bei Ihnen melden.

Zusammenhängende Posts:

Einführung in Snitches in Cassandra

Vorteile von jquery gegenüber Javascript