2016-06-06 4 views
0

Derzeit bin ich Bench-Kennzeichnung Cassandra-Datenbank mit YCSB-Framework. Während dieser Zeit habe ich die Daten ziemlich regelmäßig (Batch) eingefügt und gelöscht. Ich benutze Truncate Befehl, um Schlüsselzeilen zu löschen. Ich stelle jedoch fest, dass mein Cassandra-Datenverzeichnis wie die Experimente anschwillt.Cassandra Datenverzeichnis wird nicht mit Löschung aktualisiert

Ich habe überprüft und kann bestätigen, dass es auch keine Daten im Keystore gibt, wenn ich die Größe des Datenverzeichnisses überprüft habe. Gibt es eine Möglichkeit, einen Prozess zu initialisieren, so dass Cassandra den gespeicherten Speicherplatz automatisch freigibt oder im Laufe der Zeit passiert?

Antwort

0

Wenn Sie Truncate verwenden, erstellt cassandra Snapshots Ihrer Daten.

Um es zu deaktivieren, müssen Sie auto_snapshot: false in cassandra.yaml Datei setzen. Wenn Sie Delete verwenden, verwendet Cassandra Tombstone, d. H. Ihre Daten werden nicht sofort gelöscht. Daten werden gelöscht, sobald die Komprimierung ausgeführt wird.

Um vorherige Snapshots zu entfernen, kann der Befehl nodetool snapshot verwendet werden.

+0

Danke !! Es funktionierte. – Jayant

+0

Daten werden physikalisch gelöscht, wenn die Komprimierung ausgeführt wird UND erst nach GCGraceSeconds seit der Tombstone-Markierung (logisches Löschen). Weitere Details finden Sie hier https://wiki.apache.org/cassandra/DistributedDeletes – Andrew