Cassandra sletter alle rader fra en tabell

Cassandra sletter alle rader fra en tabell
“Når du jobber med databaser, er det stor margin for feil, enten fra menneskelig eller applikasjonskorrupsjon. Selv om vi som utviklere tar alle tiltakene for å dempe tap av data, kan det hende at operasjoner som sikkerhetskopiering og gjenoppretting ikke passer til spesielle behov.

Derfor kan du møte et scenario der du trenger å utføre en tilbakestilling i databasen eller en bestemt tabell. Dette innlegget vil lære deg hvordan du fjerner alle dataene fra et Cassandra -tabell uten å fjerne tabellskjemaet. Dette lar deg tilbakestille alle dataene og starte fra bunnen av.”

Cassandra avkortet kommando

Vi kan bruke den avkortede kommandoen til å fjerne alle dataene fra en spesifikk tabell mens vi bevarer tabelloppsettet og skjemaet.

Når du har kjørt avkortet kommando, fjernes alle dataene fra tabellen, og det er umulig å snu med mindre du har en sikkerhetskopi av tabellen. Denne operasjonen brukes på tvers av alle nodene i Cassandra -klyngen din. Dette sikrer at alle dataene synkroniseres i alle nodene.

Kommandosyntaks er som vist:

Avkortet [tabell] [KeySpace_name.tabell_navn]

Hvis du allerede er i målet KeySpace, kan du bruke syntaks som vist:

Avkort [tabell] [tabell_navn]

Før du kjører den avkortede kommandoen, må du forsikre deg om følgende:

  1. Alle nodene i klyngen er i gang. Dette gjør at avkortet operasjon kan brukes på tvers av klyngen.
  2. Måltabellen eksisterer i tastaturet.

Trinn 1 - Velg måltabellen

Det første trinnet er å sikre at måltabellen eksisterer i nøkkelpace.

Lag KeySpace

Før vi setter opp eksempeldata, trenger vi en database for å lagre dataene. Vi kan gjøre dette ved å lage et eksempler.

Spørringen er som gitt nedenfor:

CQLSH> Create KeySpace Store med Replication = 'Class': 'SimpleStrategy', 'Replication_Factor': 3;

Spørringen over oppretter en enkel nøkkelpace kalt butikk med en replikasjon_faktor på 3. Hvis du ikke er kjent med Cassandra KeySpaces, kan du sjekke opplæringen vår om emnet for å lære mer.

Når vi er opprettet, kan vi bytte til KeySpace med kommandoen:

CQLSH> Bruk butikk;

Lag tabell

Neste trinn er å lage en tabell som holder strukturen for dataene våre. Husk at Cassandra kan håndtere ustrukturerte data. For enkelhets skyld vil vi imidlertid prøve å bruke en bordstruktur.

Vi kan kjøre spørringen som vist:

CQLSH: Lagre> Opprett tabellbeholdning (PRODUCT_ID INT, PRODUCT_NAME Tekst, Mengde int, Price Int, tilgjengelighet Boolean, Primary Key (Product_ID));

Spørringen ovenfor skal opprette en varelager med de spesifiserte kolonnene og datatypene.

CQLSH: Lagre> sett inn i varelager (produkt_id, produktnavn, mengde, pris, tilgjengelighet)
... verdier (1, 'Meta Quest', 5, 399, True);
CQLSH: Lagre> sett inn i varelager (produkt_id, produktnavn, mengde, pris, tilgjengelighet) verdier (2, 'ekko dot', 10, 27, true);
CQLSH: Lagre> sett inn i varelager (produkt_id, produktnavn, mengde, pris, tilgjengelighet) verdier (3, 'Tile Pro', 10, 26, falsk);
CQLSH: Lagre> sett inn i varelager (produkt_id, produktnavn, mengde, pris, tilgjengelighet) verdier (4, 'skjerm', 100, 499, falsk);
CQLSH: Lagre> sett inn i varelager (produkt_id, produktnavn, mengde, pris, tilgjengelighet) verdier (5, 'laptop', 87, 700, true);
Vi kan deretter spørre tabellen som:
Velg * fra Inventory;

Spørringen over skal returnere postene som er lagret i tabellen som vist:

Cassandra sletter alle rader

For å fjerne alle dataene fra klyngen mens vi bevarer tabellskjemaet, kan vi kjøre den avkortede kommandoen:

Avkortet bordbutikk.inventar;

Denne kommandoen bør tømme alle dataene fra tabellen mens du fremdeles bevarer tabellstrukturen.

Konklusjon

Denne artikkelen dekket hvordan du bruker den avkortede tabellkommandoen for å fjerne dataene fra en gitt tabell uten å slippe tabellen eller tabellstrukturen. Dette er en flott kommando når du tilbakestiller bordet uten å gjenskape det.

Takk for at du leser og lykkelig koding!!