Cassandra Lag tabell

Cassandra Lag tabell

“Cassandra bruker tabeller for å lagre forskjellige typer data. En tabell inneholder skjemadefinisjon, som inneholder flere kolonner i tabellen, deres datatype og forskjellige støttede begrensninger. Det er godt å huske på at tabeller i en Cassandra -database ikke eksisterer som frittstående enheter. Derfor lagres en tabell i et gitt nøkkelpace hvis definisjon arves av alle tabellene.

Dette innlegget vil lære deg hvordan du lager en tabell ved hjelp av CQL -definisjoner og støttede datatyper innenfor et gitt nøkkelpace.”

Cassandra opprette tabellerklæring

Vi bruker CREATE TABLE nøkkelord for å lage en tabell i et gitt Cassandra -nøkkelpace. Uttalelsessyntaks er som vist:

Lag tabell [hvis ikke eksisterer] [KeySpace_name.] tabell_navn (
kolonne_definisjon [,…]
Primærnøkkel (Column_name [, Column_name…])
[Med tabell_options
| Clustering Order av (clustering_column_name ordre])
| Id = 'table_hash_tag'
| Kompakt lagring]

Standardoppgave Standard oppretter en tabell i den valgte nøkkelpace. Imidlertid kan du spesifisere målet KeySpace ved å bruke prikknotasjonen uttrykt i syntaksen ovenfor.

Vi kan også bruke IF ikke finnes nøkkelord for å forhindre at Cassandra returnerer en feil hvis en tabell med lignende navn finnes i måltastaturet. Hvis vi ikke bruker hvis ikke eksisterer nøkkelord, vil det returnere en feil og avslutte spørringen. Dette kan være en ulempe, spesielt på batch-prosesserte spørsmål.

Column_definition -delen lar deg spesifisere kolonnene i den tabellen. Vi definerer kolonner inne i paret av parenteser som komma-separerte verdier.

Som standard krever Cassandra minst en kolonne i tabellen for å holde en primær nøkkelbegrensning.

Den primære nøkkelbegrensningsdefinisjonen er som vist:

kolonne_name type_definition [PRIMÆRNØKKEL]

MERK: Cassandra tillater ikke at en statisk, teller eller ikke-frosset kolonne kan settes som en primær nøkkelkolonne.

Det er to typer primærnøkler i Cassandra:

  1. Enkelt primærnøkkel
  2. Sammensatt primærnøkkel

En enkelt primær kolonne består av en enkelt primær kolonne. En enkelt primærnøkkel fungerer også som en partisjonsnøkkel, slik at dataene kan deles og lagres etter deres unike verdier.

Forbindelse primærnøkler, derimot, utgjør mer enn en kolonne. Den første kolonnen i denne typen primærnøkkel er definert som partisjonstastene, og resten er definert som grupperingstaster.

I Table_options of Table Creation Command spesifiserer du forskjellige alternativer som endrer I/O -operasjoner, komprimering osv. Utforske dokumentasjonen for å lære mer.

Eksempler

Følgende viser praktiske eksempler på å lage forskjellige typer tabeller og flere parametere.

Eksempel 1 - Lag en enkel tabell

Følgende eksempel viser hvordan du lager en enkel tabell med en enkelt primærnøkkel.

Lag tabellbrukere (
id uuid
Brukernavn Tekst,
E -posttekst,
Status bool,
Primærnøkkel (ID)
);

Spørringen over viser hvordan du bruker Create Table -setningen for å lage en Cassandra -tabell som bruker en enkel primærnøkkel. Det er bra å merke seg at selv om dette formatet definerer den primære nøkkelen på slutten av skjemaddefinisjonen, kan du legge det til ved siden av en kolonne som vist:

Lag tabellbrukere (
id uuid primærnøkkel
Brukernavn Tekst,
E -posttekst,
Status bool
);

Eksempel 2 - Lag tabell med sammensatt partisjonstast

Spørringen nedenfor illustrerer å lage en Cassandra -tabell ved hjelp av en sammensatt tast.

Lag tabellbrukere (
id int,
Brukernavn Tekst,
E -posttekst,
Status bool
Primærnøkkel ((ID, brukernavn), status)
);

Hvis en tabell inneholder en sammensatt partisjonstast, vil Cassandra bruke de spesifiserte kolonnene som partisjonstastene, som brukes til å definere den logiske rekkefølgen inne i partisjonen for leseoperasjoner.

Eksempel 3 - Lag tabell med sammensatt primærnøkkel

En tabell med en sammensatt primærnøkkel bruker en primærnøkkel, enten en enkel primærnøkkel eller en sammensatt partisjonstast og den andre som en grupperingsnøkkel.

Et eksempel er som vist:

Lag bordprodukter (
id uuid,
Produktnavn Tekst
Pris int,
Kategoritekst,
produsenttekst,
Primærnøkkel (kategori, pris)
) Wit Clustering Order av (Price ASC);

I dette tilfellet brukes kategorien og priskolonnene til å identifisere en gitt registrering fra den angitte tabellen unikt fra den spesifiserte tabellen.

Konklusjon

I dette innlegget undersøkte vi forskjellige metoder og teknikker for å lage forskjellige Cassandra -bordtyper. Vi diskuterte å lage en tabell med en primærnøkkel, en tabell ved hjelp av en sammensatt partisjonstast, og en tabell med en sammensatt primærnøkkel.

Takk for at du leste!!