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:
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!!