Cassandra Create Type

Cassandra Create 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 ønsket oppsett.

Det er godt å huske på at den definerte typen er begrenset til omfanget av tastaturet som den er skapt. Du kan bruke prikknotasjonen til å få tilgang til et bord fra et annet tastaturområde.

Dette innlegget vil diskutere hvordan du kan definere en brukertype ved hjelp av Create Type -kommandoen.”

Opprett type kommandosyntaks

Følgende kommando skildrer syntaks for Create Type -kommandoen:

Opprett type [hvis ikke eksisterer]
KeySpace_name.type_navn (
feltnavn cassandra_type [,]
[feltnavn cassandra_type] [,…]
);


Kommandoen støtter hvis eksisterer klausulen, som lar deg kvise feil hvis kommandoen med et lignende navn eksisterer i måltypen.

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

Til slutt kan du definere feltene for din type og deres respektive CQL -type. Ikke bruk motfelt i tilpassede typer.

Eksempel

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

Slipp KeySpace hvis eksisterer null_dag;
Lag KeySpace Zero_Day
med replikasjon =
'klasse': 'enklest strategi',
'Replication_factor': 1
;
Bruk null_dag;
Opprett type CVE_Reports (
cve_number tekst,
rapport_dato dato,
berørt_vendor -tekst,
Alvorlighetsgraden flyter,
);


Spørringen over starter med å lage et nøkkelpace “Zero_day” som vil inneholde den definerte brukertypen.

Du vil legge merke til at Create Type -setningen følger et lignende format som Table Creation. Selv om dette er sant, tjener de et annet formål, og den ene kan være et bedre valg enn den andre.

MERK: Tenk på ytelsesimplikasjonene før du velger en tabell over en tilpasset type og omvendt.

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

Vi kan lage en tabell med CVE_Reports -typen og sette inn prøvedata som vist:

Lag tabellposter (
id int,
CVE_Reports CVE_Reports,
Primærnøkkel (ID)
);

Sett inn data

Sett inn poster (id, cve_reports) verdier (1, cve_number: 'CVE-2021-33852', rapport_date: '2022-12-02', berørt_vendor: 'WordPress', alvorlighetsgrad: 6.0);


Vi kan deretter hente de ekstra dataene som:

Velg * fra poster;

Resulterende utgang


Konklusjon

Dette innlegget dekket det grunnleggende om å lage og bruke spesialdefinerte typer i Apache Cassandra. Vi diskuterte også hvordan du lager en tabell med tilpassede typer og setter inn data i en tilpasset type kolonne.

Glad koding!!