2016-06-17 13 views
1

Ich möchte Datenträgergröße der Datenbank durch Löschen der alten Metriken, d. H. Die älter als 3 Stunden sind, reduzieren. Aber was ich derzeit sehe, ist, dass, wenn ich & Cleanup zu löschen, die Anzahl der Dokumente reduziert wird, aber die Größe der db hat zugenommen.CouchDB Größe wächst nach dem Löschen

Also, nach einiger Zeit dieser ständigen Auto Clean-up, sehe ich, dass die Größe der Datenbank sehr erhöht, aber die Anzahl der Dokumente bleibt konstant - wegen des Löschens. Um zu löschen, mache ich bulk_update von Elementen, die gelöscht werden sollen, und komprimiere dann & cleanup.

Wo kann ich lesen, wie dieser Mechanismus tatsächlich funktioniert und wie sollte ich die Daten richtig löschen? Ein anderes Wort, wie man die konstante Größe der Datenbank behält?

Antwort

2

Wenn Sie ein Dokument in CouchDB löschen, wird das Dokument nur als gelöscht markiert, aber sein Inhalt bleibt in der Datenbank (dies liegt an dem nur anhängigen Design von CouchDB).

Letztes Jahr schrieb ich eine blog post über dieses Thema, drei verschiedene Ansätze zur Lösung dieses Problems. Vielleicht ist einer von ihnen für Sie geeignet.

+0

Danke, ich bin direkt nach dem Stellen dieser Frage auf Ihren Artikel (nebenbei bemerkt, toller Artikel!) Gestoßen: Grundsätzlich hatte ich die gleiche Idee, wie das geht, aber es klingt einfach ein bisschen hacky zu mir - und es sicherlich nicht praktisch, um neue db zu erstellen, so beschlossen, nur für den Fall zu fragen. Aber das sind die Kosten von CouchDB Vorteile, ich denke .. Wie auch immer, vielen Dank sowohl für den Artikel als auch für diese Antwort! – zarkone

Verwandte Themen