Cassandra Opret Type

Cassandra Opret Type



'Cassandra giver os mulighed for at definere brugerdefinerede typer, der kan indeholde relaterede oplysninger i en tabel. Hvis du ikke kan finde en type til at indeholde din type data, kan du bruge indbyggede typer til at definere en anden type, der fanger dit ønskede layout.

Det er godt at huske på, at den definerede type er begrænset til omfanget af det tasterum, som den er oprettet på. Du kan bruge punktnotationen til at få adgang til en tabel fra et andet tasterum.







Dette indlæg vil diskutere, hvordan du kan definere en brugertype ved hjælp af CREATE TYPE-kommandoen.'



Opret Type Kommandosyntaks

Følgende kommando viser syntaksen for kommandoen create type:



OPRET TYPE [ HVIS IKKE FINNES ]
keyspace_name.type_name (
feltnavn cassandra_type [ , ]
[ feltnavn cassandra_type ] [ ,... ]
) ;


Kommandoen understøtter IF EXISTS-sætningen, som giver dig mulighed for at annullere fejl, hvis kommandoen med et lignende navn findes i måltypen.





Type_name skal indeholde et unikt navn, der er i overensstemmelse med Cassandras navngivningsregler.

Endelig kan du definere felterne for din type og deres respektive CQL-type. Brug ikke tællerfelter i brugerdefinerede typer.



Eksempel

Følgende eksempel viser, hvordan man definerer en brugerdefineret type, der indeholder CVE-rapporter.

slip tasterum hvis eksisterer zero_day;

oprette keyspace zero_day
med replikering = {
'klasse' : 'SimpleStrategy' ,
'replikeringsfaktor' : 1
} ;
brug nul_dag;

skab type cve_rapporter (
cve_nummer tekst,
rapport_dato dato ,
berørt_leverandør tekst,
sværhedsgrad flyder,
) ;


Forespørgslen ovenfor starter med at oprette et nøglerum 'zero_day', som vil indeholde den definerede brugertype.

Du vil bemærke, at sætningen create type følger et format, der ligner tabeloprettelse. Selvom dette er sandt, tjener de forskellige formål, og det ene kan være et bedre valg end det andet.

BEMÆRK: Overvej implikationerne for ydeevnen, før du vælger en tabel frem for en brugerdefineret type og omvendt.

Vi kan derefter indsætte data i tabellen ovenfor som vist:

Vi kan oprette en tabel med typen cve_reports og indsætte eksempeldata som vist:

oprette tabelposter (
id int,
cve_reports cve_reports,
primærnøgle ( id )
) ;

Indsæt data

indsætte i optegnelser ( id , cve_reports ) værdier ( 1 , { cve_nummer: 'CVE-2021-33852' , rapport_dato: '2022-12-02' , berørt_leverandør: 'WordPress' , alvorlighed: 6,0 } ) ;


Vi kan derefter hente de tilføjede data som:

Vælg * fra optegnelser;

Resulterende output


Konklusion

Dette indlæg dækkede det grundlæggende i at skabe og bruge specialdefinerede typer i Apache Cassandra. Vi diskuterede også, hvordan man opretter en tabel med brugerdefinerede typer og indsætter data i en brugerdefineret type kolonne.

God kodning!!