Cassandra Lag Type

Cassandra Lag Type



'Cassandra lar oss definere tilpassede typer som kan inneholde relatert informasjon i en tabell. Hvis du ikke finner en type for å holde din type data, kan du bruke innebygde typer for å definere en annen type som fanger opp ønsket layout.

Det er greit å huske på at den definerte typen er begrenset til omfanget av tasteområdet som den er opprettet på. Du kan bruke punktnotasjonen for å få tilgang til en tabell fra et annet tasterom.







Dette innlegget vil diskutere hvordan du kan definere en brukertype ved å bruke CREATE TYPE-kommandoen.'



Opprett Type Kommandosyntaks

Følgende kommando viser syntaksen til kommandoen create type:



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


Kommandoen støtter IF EXISTS-leddet, som lar deg annullere feil hvis kommandoen med et lignende navn finnes i måltypen.





Type_name må inneholde et unikt navn som samsvarer med Cassandras navneregler.

Til slutt kan du definere feltene for typen din og deres respektive CQL-type. Ikke bruk tellerfelt i egendefinerte typer.



Eksempel

Følgende eksempel viser hvordan du definerer en tilpasset type som inneholder CVE-rapporter.

slipp tastemellomrom hvis eksisterer zero_day;

opprette keyspace zero_day
med replikering = {
'klasse' : 'Simple Strategy' ,
'replikeringsfaktor' : 1
} ;
bruk zero_day;

skape type cve_reports (
cve_nummer tekst,
rapport_dato Dato ,
berørt_leverandør tekst,
alvorlighetsgrad flyte,
) ;


Spørringen ovenfor starter med å lage et tastefelt 'zero_day' som vil inneholde den definerte brukertypen.

Du vil legge merke til at create type-setningen følger et lignende format som tabelloppretting. Selv om dette er sant, tjener de forskjellige formål, og det ene kan være et bedre valg enn det andre.

MERK: Vurder ytelsesimplikasjonene før du velger en tabell fremfor en tilpasset type og omvendt.

Vi kan deretter sette inn data i tabellen ovenfor som vist:

Vi kan lage en tabell med typen cve_reports og sette inn eksempeldata som vist:

opprette tabellposter (
id int,
cve_reports cve_reports,
primærnøkkel ( id )
) ;

Sett inn data

sette inn i poster ( id , cve_reports ) verdier ( 1 , { cve_nummer: 'CVE-2021-33852' , rapportdato: '2022-12-02' , berørt_leverandør: 'WordPress' , alvorlighetsgrad: 6.0 } ) ;


Vi kan deretter hente de tilførte dataene som:

å velge * fra poster;

Resulterende utgang


Konklusjon

Dette innlegget dekket det grunnleggende om å lage og bruke spesialdefinerte typer i Apache Cassandra. Vi diskuterte også hvordan du oppretter en tabell med egendefinerte typer og setter inn data i en egendefinert typekolonne.

Lykke til med koding!!