Ich verwende Aerospike zum Testen. Ich benutze Community Edition. Der Cluster hat 2 Knoten. Ich verwende Storage Engine als Gerät mit SSD. Meine Konfigurationsdatei -Aerospike: Löschen aller Datensätze in einem Satz
namespace test {
replication-factor 2
memory-size 16G
default-ttl 0
storage-engine device {
device /dev/sdb1
data-in-memory false
write-block-size 128K
}
}
I Daten Namen gesetzt haben. Nachdem ich 1M Datensatz zum Testen hinzugefügt habe, möchte ich jetzt alles in diesem Set löschen (wenn möglich auch Drop Set). Ich habe versucht, diesen Befehl auf beiden node-
asinfo -v "set-config:context=namespace;id=test;set=data;set-delete=true;"
Es funktionierte, bis ich meine Cluster neu gestartet (sudo /etc/init.d/aerospike restart
auf beiden Knoten). Nach dem Neustart sind alle Daten zurück gekommen. Ich bin durch diesen Link http://www.aerospike.com/launchpad/deleting_sets_and_data.html gegangen, finde aber nichts bequemes.
Aerospike 3.10.0 führt [dauerhafte Löschungen] [1] -Mechanismus ein, der die Persistenz zum Löschen hinzufügt (nur für Aerospike Enterprise). Es wird von so genannten Tombstone-Restres implementiert, die so geschrieben werden, dass die letzte Version des Datensatzes gelöscht wird.Es garantiert, dass kein gelöschter Datensatz beim Kaltstart (vom Datenträger gelesen) in den Speicher gelangt. Anschließend wird der Defragmentierungsprozess ausgeführt und Speicherplatz und Festplattenspeicher von allen Datensatzversionen einschließlich Tombstone freigegeben. [1]: http://www.aerospike.com/docs/guide/durable_deletes.html – Sasha