Cassandra löscht alle Zeilen aus einer Tabelle

Cassandra löscht alle Zeilen aus einer Tabelle
„Wenn Sie mit Datenbanken arbeiten. Obwohl wir als Entwickler alle Maßnahmen ergreifen, um den Datenverlust zu mildern.

Daher können Sie auf ein Szenario stoßen, in dem Sie einen Reset in der Datenbank oder einer bestimmten Tabelle durchführen müssen. In diesem Beitrag werden Sie vermittelt, wie Sie alle Daten aus einer Cassandra -Tabelle entfernen können, ohne das Tabellenschema zu entfernen. Auf diese Weise können Sie alle Daten zurücksetzen und von vorne beginnen.”

CASSANDRA CRUCNATE -Befehl

Wir können mit dem Befehl TRUNCATE alle Daten aus einer bestimmten Tabelle entfernen und gleichzeitig das Tabellenlayout und das Schema erhalten.

Sobald Sie den Befehl Truncate ausgeführt haben, werden alle Daten aus der Tabelle entfernt, und es ist unmöglich, sich umzukehren, es sei denn, Sie haben eine Sicherungskopie der Tabelle. Dieser Vorgang wird auf alle Knoten in Ihrem Cassandra -Cluster angewendet. Dies stellt sicher, dass alle Daten in allen Knoten synchronisiert sind.

Die Befehlssyntax ist wie gezeigt:

Truncate [Tabelle] [Keyspace_Name.Tabellenname]

Wenn Sie sich bereits im Zielschlüsselspace befinden, können Sie die Syntax wie gezeigt verwenden:

TRUNCATE [TABLE] [TABLE_NAME]

Stellen Sie vor dem Ausführen des Befehls abschließend sicher:

  1. Alle Knoten im Cluster sind in Betrieb. Dadurch kann der Kürzungsvorgang über den Cluster angewendet werden.
  2. Die Zieltabelle ist im Schlüsselraum vorhanden.

Schritt 1 - Wählen Sie die Zieltabelle aus

Der erste Schritt besteht darin, sicherzustellen, dass die Zieltabelle im Schlüsselbereich vorliegt.

Keyspace erstellen

Bevor Sie Beispieldaten einrichten, benötigen wir eine Datenbank, um die Daten zu speichern. Wir können dies tun, indem wir einen Beispielschlüsselspace erstellen.

Die Abfrage ist wie unten angegeben:

CQLSH> Schlüsselspeicher erstellen mit Replikation = 'Klasse': 'SimpleStrategy', 'replication_factor': 3;

Die obige Abfrage erstellt einen einfachen Schlüsselraum namens Store mit einem Replication_Factor von 3. Wenn Sie mit Cassandra -Schlüsselspazitäten nicht vertraut sind, lesen Sie unser Tutorial zu diesem Thema, um mehr zu erfahren.

Nach dem Erstellen können wir mit dem Befehl zum Schlüsselspace wechseln:

CQLSH> Store verwenden;

Tabelle erstellen

Der nächste Schritt besteht darin, eine Tabelle zu erstellen, die die Struktur für unsere Daten enthält. Denken Sie daran, dass Cassandra unstrukturierte Daten bewältigen kann. Der Einfachheit halber werden wir jedoch versuchen, eine Tabellenstruktur zu verwenden.

Wir können die Abfrage wie gezeigt ausführen:

CQLSH: Store> Tabelleninventar erstellen (product_id int, product_name text, quantität int, preis int, Verfügbarkeit boolean, Primärschlüssel (product_id));

Die obige Abfrage sollte eine Inventarabelle mit den angegebenen Spalten und Datentypen erstellen.

CQLSH: Speicher> Inventar einfügen (product_id, product_name, Menge, Preis, Verfügbarkeit)
… Werte (1, 'Meta Quest', 5, 399, wahr);
CQLSH: Speicher> Inventar (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (2, 'echo dot', 10, 27, true);
CQLSH: Store> Inventory (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (3, 'Tile Pro', 10, 26, Falsch) einfügen;
CQLSH: Speicher> Inventar (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (4, 'Monitor', 100, 499, False) einfügen;
CQLSH: Store> Inventory (product_id, product_name, Menge, Preis, Verfügbarkeit) Werte (5, 'Laptop', 87, 700, Richtig) einfügen;
Wir können dann die Tabelle als:
Wählen Sie * aus dem Inventar;

Die obige Abfrage sollte die in der Tabelle gespeicherten Datensätze wie gezeigt zurückgeben:

Cassandra löscht alle Zeilen

Um alle Daten aus dem Cluster zu entfernen, während Sie das Tabellenschema erhalten, können wir den Befehl TRUNCATE ausführen:

Tischgeschäft verkürzen.Inventar;

Dieser Befehl sollte alle Daten aus der Tabelle löschen und gleichzeitig die Tabellenstruktur erhalten.

Abschluss

In diesem Artikel wurde abgedeckt. Dies ist ein großartiger Befehl beim Zurücksetzen der Tabelle, ohne ihn neu zu erstellen.

Danke fürs Lesen und glücklicher Codierung!!