2010-01-21 11 views
6

Gibt es eine Möglichkeit, die Anzahl der Revisionen in Couchdb zu begrenzen? Etwas in der Art eines harten Limits in einer Konfigurationsdatei. Ich bin mir der Tatsache bewusst, dass ich die Datenbank regelmäßig komprimieren könnte, aber irgendwie fühlt es sich an wie ein Hack. Gibt es einen besseren Weg?Begrenzen Sie die Anzahl der Revisionen in Couchdb

Antwort

7

Es gibt kein konfigurierbares Limit, hauptsächlich, weil CouchDB Append-Only-Speicher verwendet, d. H. Es verspricht, nur am Ende einer Datei zu schreiben und niemals etwas in der Mitte zu ändern. Ein konfigurierbares Limit ist daher bedeutungslos.

Verdichtung ist Ihre einzige Option. Es wurde bereits über automatisch ausgelöste Verdichtung auf den Mailinglisten gesprochen, diese kann jedoch erst jetzt manuell ausgelöst werden.

+0

Ok, ich sehe, danke! – Anvar

+8

Tatsächlich * gibt es * eine pro-Datenbank-Revs pro Dokument Grenze. Der Standardwert ist 1000, aber er kann geändert werden, indem eine Ganzzahl in die _revs_limit-Ressource der Datenbank geschrieben wird, z. "curl http: // localhost: 5984/test/_revs_limit -X PUT -d 50". Sie müssen noch komprimieren, um den Speicherplatz zurück zu bekommen, so dass es meine vorherige Antwort nicht wirklich ändert, was die Frage angeht, Sie werden nur ein wenig mehr Speicherplatz mit einem niedrigeren _revs_limit zurückbekommen. Ich weiß nicht, wie viel Speicherplatz wirklich gespeichert wird, und ein niedriger _revs_limit kann die Replikation beeinträchtigen. –

+3

Beachten Sie, dass diese _revs_limit nur beeinflusst, wie viel Revision * metadata * nach der Komprimierung gespeichert wird; Die Dokumentdaten aus früheren Revisionen werden während der Komprimierung immer gelöscht, mit Ausnahme von _revs_limit-Datensätzen der * Existenz * einer solchen und einer solchen Revision. – natevw

Verwandte Themen