Cassandra-Erstellungstyp

Cassandra Erstellungstyp



„Mit Cassandra können wir benutzerdefinierte Typen definieren, die zugehörige Informationen in einer Tabelle enthalten können. Wenn Sie keinen Typ für Ihren Datentyp finden können, können Sie integrierte Typen verwenden, um einen anderen Typ zu definieren, der Ihr gewünschtes Layout erfasst.

Denken Sie daran, dass der definierte Typ auf den Bereich des Schlüsselraums beschränkt ist, auf dem er erstellt wurde. Sie können die Punktnotation verwenden, um von einem anderen Schlüsselbereich aus auf eine Tabelle zuzugreifen.







In diesem Beitrag wird erläutert, wie Sie einen Benutzertyp mit dem Befehl CREATE TYPE definieren können.“



Typbefehlssyntax erstellen

Der folgende Befehl zeigt die Syntax des create type-Befehls:



TYP ERSTELLEN [ WENN NICHT VORHANDEN ]
keyspace_name.type_name (
Feldname cassandra_type [ , ]
[ Feldname cassandra_type ] [ ,... ]
) ;


Der Befehl unterstützt die IF EXISTS-Klausel, mit der Sie Fehler löschen können, wenn der Befehl mit einem ähnlichen Namen im Zieltyp vorhanden ist.





Type_name muss einen eindeutigen Namen enthalten, der den Benennungsregeln von Cassandra entspricht.

Schließlich können Sie die Felder für Ihren Typ und ihren jeweiligen CQL-Typ definieren. Verwenden Sie keine Zählerfelder in benutzerdefinierten Typen.



Beispiel

Das folgende Beispiel zeigt, wie ein benutzerdefinierter Typ definiert wird, der CVE-Berichte enthält.

Schlüsselraum löschen wenn existiert zero_day;

Schlüsselraum zero_day erstellen
mit Replikation = {
'Klasse' : 'EinfacheStrategie' ,
'replication_factor' : 1
} ;
benutze zero_day;

schaffen Typ cve_berichte (
cve_number-Text,
Berichtsdatum Datum ,
Text 'betroffener_Lieferant',
Schwere schweben,
) ;


Die obige Abfrage beginnt mit der Erstellung eines Schlüsselraums „zero_day“, der den definierten Benutzertyp enthält.

Sie werden feststellen, dass die create type-Anweisung einem ähnlichen Format wie die Tabellenerstellung folgt. Obwohl dies zutrifft, dienen sie unterschiedlichen Zwecken, und einer kann eine bessere Wahl sein als der andere.

HINWEIS: Berücksichtigen Sie die Auswirkungen auf die Leistung, bevor Sie eine Tabelle einem benutzerdefinierten Typ vorziehen und umgekehrt.

Wir können dann Daten wie gezeigt in die obige Tabelle einfügen:

Wir können eine Tabelle mit dem Typ cve_reports erstellen und Beispieldaten wie gezeigt einfügen:

Tabellensätze erstellen (
Ich würde int,
cve_reports cve_reports,
Primärschlüssel ( Ich würde )
) ;

Daten einfügen

in Aufzeichnungen einfügen ( Ich würde , cve_reports ) Werte ( 1 , { cve_number: 'CVE-2021-33852' , Berichtsdatum: '2022-12-02' , betroffener_Anbieter: 'WordPress' , Schweregrad: 6.0 } ) ;


Wir können dann die hinzugefügten Daten wie folgt abrufen:

auswählen * aus Aufzeichnungen;

Resultierende Ausgabe


Fazit

In diesem Beitrag wurden die Grundlagen zum Erstellen und Verwenden benutzerdefinierter Typen in Apache Cassandra behandelt. Wir haben auch besprochen, wie man eine Tabelle mit benutzerdefinierten Typen erstellt und Daten in eine benutzerdefinierte Typspalte einfügt.

Viel Spaß beim Codieren!!