Kasandra Truncate

Kasandra Truncate



Šajā rakstā jūs uzzināsit, kā izmantot komandu Apache Cassandra TRUNCATE. Šī komanda ļauj noņemt visus datus no tabulas, neizdzēšot tabulu vai tās shēmu.

Vienkārši izsakoties, komanda TRUNCATE ļauj atiestatīt tabulā saglabātos datus, ļaujot atjaunot vai ievietot jaunus datus.







Cassandra Truncate komandas sintakse

Komandas TRUNCATE sintakse ir šāda:



SAīsināt [TABLU] [keyspace.table_name]

Iepriekš norādītajā sintaksē varat izlaist atslēgvārdu TABLE. Komanda veiks līdzīgu darbību.



Ņemiet vērā, ka komanda TRUNCATE nosūta JMX komandu visiem mezgliem klasterī, kurā ir mērķa dati. Tas ļauj mezgliem sinhronizēties un būt informētiem par jaunākajām datu izmaiņām. Ja kāds no klastera mezgliem nedarbojas, komanda neizdosies un atgriezīs kļūdu.





Tabulas un datu parauga izveide

Ilustrācijas nolūkos mēs izveidosim taustiņtelpas un tabulas paraugu. Komandas ir tādas, kā parādīts zemāk esošajos fragmentos:

cqlsh> izveidot taustiņu atstarpi height_info
... ar replikāciju = {
... 'class': 'SimpleStrategy',
... 'replikācijas_faktors': 1};
cqlsh USE height_info;
cqlsh:height_info> CREATE TABLE adresāti(
... tava roka,
... lietotājvārda teksts,
... augstums int,
... PRIMARY KEY(id, augstums));

Pēc tam mēs varam ievietot datu paraugus, kā parādīts tālāk esošajās komandās:



cqlsh:height_info> INSERT INTO adresātu(id, lietotājvārds, augstums) vērtības (0, 'lietotājs1', 210);
cqlsh:height_info> INSERT INTO recipients(id, username, height) vērtības (1, 'user2', 115);
cqlsh:height_info> INSERT INTO recipients(id, username, height) vērtības (2, 'user3', 202);
cqlsh:height_info> INSERT INTO recipients(id, username, height) vērtības (3, 'user4', 212);
cqlsh:height_info> INSERT INTO recipients(id, username, height) vērtības (4, 'user5', 216);

Saīsināšanas darbības piemērs

Tabulā pirms saīsināšanas saglabātie dati ir šādi:

SELECT * FROM adresātiem;

Mēs varam saīsināt tabulu, kā parādīts:

cqlsh:height_info> SAīsināt TABULU height_info.recipients;

Visbeidzot, mēs varam apstiprināt, ka dati ir noņemti no tabulas šādi:

cqlsh:height_info> SELECT * FROM adresātiem;

Jūs ievērosiet, ka tabula joprojām pastāv, ieskaitot visas shēmas definīcijas. Tomēr dati no tabulas ir noņemti, atstājot tukšu tabulu.

Ņemiet vērā, ka darbība TRUNCATE ir neatgriezeniska. Esiet piesardzīgs, lietojot to un iespējamo datu zudumu.

Secinājums

Šajā ziņā jūs uzzinājāt, kā noņemt visus datus no tabulas, vienlaikus saglabājot tabulas shēmu, izmantojot komandu CQL TRUNCATE.