Cassandra Type aanmaken

Cassandra Type Aanmaken



“Met Cassandra kunnen we aangepaste typen definiëren die gerelateerde informatie in een tabel kunnen bevatten. Als u geen type kunt vinden voor uw type gegevens, kunt u ingebouwde typen gebruiken om een ​​ander type te definiëren dat uw gewenste lay-out vastlegt.

Het is goed om in gedachten te houden dat het gedefinieerde type beperkt is tot het bereik van de sleutelruimte waarop het is gemaakt. U kunt de puntnotatie gebruiken om toegang te krijgen tot een tabel vanuit een andere keypspace.







In dit bericht wordt besproken hoe je een gebruikerstype kunt definiëren met de opdracht CREATE TYPE.'



Syntaxis voor typeopdracht maken

De volgende opdracht geeft de syntaxis weer van de opdracht create type:



MAAK TYPE [ ALS NIET BESTAAT ]
keyspace_name.type_name (
field_name cassandra_type [ , ]
[ field_name cassandra_type ] [ ,... ]
) ;


De opdracht ondersteunt de IF EXISTS-component, waarmee u fouten kunt vernietigen als de opdracht met een vergelijkbare naam in het doeltype bestaat.





Type_name moet een unieke naam bevatten die voldoet aan de naamgevingsregels van Cassandra.

Ten slotte kunt u de velden voor uw type en hun respectievelijke CQL-type definiëren. Gebruik geen tellervelden in aangepaste typen.



Voorbeeld

Het volgende voorbeeld laat zien hoe u een aangepast type definieert dat CVE-rapporten bevat.

drop keyspace als bestaat zero_day;

maak keyspace zero_day
met replicatie = {
'klas' : 'Eenvoudige Strategie' ,
'replicatiefactor' : 1
} ;
gebruik zero_day;

creëren type cve_reports (
cve_nummer tekst,
report_date datum ,
getroffen_vendor tekst,
ernst zweven,
) ;


De bovenstaande query begint met het maken van een keyspace 'zero_day' die het gedefinieerde gebruikerstype bevat.

U zult merken dat de instructie create type een vergelijkbare indeling heeft als het maken van tabellen. Hoewel dit waar is, dienen ze een ander doel, en de ene kan een betere keuze zijn dan de andere.

OPMERKING: Houd rekening met de prestatie-implicaties voordat u een tabel kiest boven een aangepast type en vice versa.

We kunnen dan gegevens invoegen in de bovenstaande tabel, zoals weergegeven:

We kunnen een tabel maken met het type cve_reports en voorbeeldgegevens invoegen zoals weergegeven:

tabelrecords maken (
ID kaart int.,
cve_reports cve_reports,
hoofdsleutel ( ID kaart )
) ;

Gegevens invoegen

invoegen in records ( ID kaart , cv_reports ) waarden ( 1 , { cv_nummer: 'CVE-2021-33852' , rapport_datum: '2022-12-02' , beïnvloed_verkoper: 'Wordpress' , ernst: 6.0 } ) ;


We kunnen dan de toegevoegde gegevens ophalen als:

selecteer * uit archieven;

Resulterende uitvoer


Conclusie

Dit bericht behandelde de basisprincipes van het maken en gebruiken van op maat gedefinieerde typen in Apache Cassandra. We hebben ook besproken hoe u een tabel met aangepaste typen kunt maken en gegevens in een aangepaste typekolom kunt invoegen.

Veel plezier met coderen!!