Wie kann ich die Versionierung in CouchDB deaktivieren?

8

Ich weiß, manchmal ist es ein gutes Feature, aber wenn ich große Datenmengen speichern muss, sind keine anderen "Metadaten" um die Daten selbst notwendig.

Gibt es eine Möglichkeit, die Versionsverwaltung in CouchDB zu deaktivieren, oder muss ich eine andere DB-Engine wie Mongo verwenden?

    
Radek Simko 22.06.2011, 13:53
quelle

3 Antworten

17

Versioning ist keine Funktion von CouchDB es ist eine Kernfunktion der Art, wie es funktioniert Schreiben der Daten auf die Festplatte und preforms Replikationskonflikt Auflösung mit anderen Knoten. Es ist nicht ein historischer Mechanismus.

Es ist sehr bedauerlich, dass es keinen besseren Begriff als version für die Bezugnahme auf die früheren Kopien der Dokumente gibt. Weil version für die meisten Entwickler etwas historical bedeutet, das gespeichert wird. Das ist nicht so, wie es in CouchDB überhaupt verwendet werden soll.

Es ist überall in der CouchDB-Dokumentation verputzt, nicht auf früheren Versionen als Backups oder Versionssystem zu verwenden, dass sie jederzeit verschwinden können, weil sie benutzt werden hauptsächlich für die Erkennung von Replikationskonflikten. Aber die einfache Tatsache ist, dass dies kein Feature ist, wie CouchDB funktioniert.

Die einzige Möglichkeit, die früheren Versionen zu entfernen, besteht darin, die Datenbank regelmäßig zu komprimieren . In der aktuellen Version von CouchDB kann dies mit einem Skript aktiviert werden, das sich in Dokumentaktualisierungen einklinkt und halbautomatische Verdichtung basierend auf einem hohen Wasserzeichen-Schwellenwert auslöst. Normalerweise erfolgt dies manuell, nachdem eine große Anzahl von Dokumenten in einem Stapel aktualisiert wurde. Sie wissen, dass dies von einem anwendungsspezifischen Standpunkt aus vorteilhaft sein kann.

Das heißt, wenn Sie keine Dokumente aktualisieren, wird kein Protokoll generiert und dies wird nicht benötigt.

    
Jarrod Roberson 22.06.2011, 18:18
quelle
4

Sie können die API _revs_limit versuchen (z. B. / database / _revs_limit). Ich habe es nie benutzt Ich habe es gerade über diesen Link Ссылка

gelesen     
Gjorgji Tashkovski 22.06.2011 20:24
quelle
0

Couchbase Einzelserver 2.0 Entwickler Vorschau hat automatische Verdichtung unter anderen Funktionen und Verbesserungen < a href="http://nosql.mypopescu.com/post/6604616916/couchbase-single-server-important-improvements"> welches auch in zukünftigen Versionen von CouchDB vorhanden sein sollte . Dies kann Ihnen helfen, ältere Dokumentversionen basierend auf einigen Einstellungen automatisch zu entfernen.

    
yojimbo87 23.06.2011 07:06
quelle

Tags und Links