Cassandra Truncate

Cassandra Truncate



Tässä artikkelissa opit käyttämään Apache Cassandra TRUNCATE -komentoa. Tämän komennon avulla voit poistaa kaikki tiedot taulukosta poistamatta taulukkoa tai sen kaaviota.

Yksinkertaisesti sanottuna TRUNCATE-komennon avulla voit nollata taulukkoon tallennetut tiedot, jolloin voit palauttaa tai lisätä uusia tietoja.







Cassandra Truncate Command Syntaksi

TRUNCATE-komennon syntaksi on seuraavanlainen:



TYPENNÄ [TAULUKKO] [avaintila.taulukon_nimi]

Voit jättää TABLE-avainsanan pois yllä olevasta syntaksista. Komento suorittaa samanlaisen toiminnon.



Muista, että TRUNCATE-komento lähettää JMX-komennon kaikille kohteen tiedot sisältävän klusterin solmuille. Näin solmut voivat synkronoida ja pysyä ajan tasalla viimeaikaisista datamuutoksista. Jos jompikumpi klusterin solmuista ei toimi, komento epäonnistuu ja palauttaa virheilmoituksen.





Näytetaulukon ja -tietojen luominen

Havainnollistamista varten luomme näyteavaintilan ja taulukon. Komennot ovat alla olevien katkelmien mukaiset:

cqlsh> luo näppäimistön korkeus_tiedot
... replikaatiolla = {
... 'class': 'SimpleStrategy',
... 'replication_factor': 1};
cqlsh> KÄYTÄ korkeustiedot;
cqlsh:height_info> CREATE TABLE vastaanottajat(
... kätesi,
... käyttäjätunnuksen teksti,
... korkeus int,
... PRIMARY KEY(id, korkeus));

Voimme sitten lisätä näytetietoja alla olevien komentojen mukaisesti:



cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (0, 'käyttäjä1', 210);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (1, 'user2', 115);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (2, 'user3', 202);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (3, 'user4', 212);
cqlsh:height_info> INSERT INTO recipients(id, username, height) arvot (4, 'user5', 216);

Esimerkki katkaisutoiminnosta

Taulukkoon ennen katkaisua tallennetut tiedot ovat seuraavanlaiset:

SELECT * FROM vastaanottajista;

Voimme katkaista taulukon kuvan osoittamalla tavalla:

cqlsh:korkeus_info> KATKANA TAULUKO korkeus_info.vastaanottajat;

Lopuksi voimme varmistaa, että tiedot on poistettu taulukosta seuraavasti:

cqlsh:height_info> SELECT * FROM vastaanottajat;

Huomaat, että taulukko on edelleen olemassa, mukaan lukien kaikki skeeman määritelmät. Taulukon tiedot on kuitenkin poistettu, joten taulukko on tyhjä.

Muista, että TRUNCATE-toiminto on peruuttamaton. Ole varovainen sen käytössä ja mahdollisessa tietojen häviämisessä.

Johtopäätös

Tässä viestissä opit poistamaan kaikki tiedot taulukosta säilyttäen samalla taulukkokaavion käyttämällä CQL TRUNCATE -komentoa.