Archive for the ‘Autocompaction’ tag
Die CouchDB Datenbanken komprimieren
Heute gibts ein kleines Hilfsscript für all diejenigen, die eine CouchDB einsetzen und noch nicht den neuen Auto-Compaction-Dienst nutzen (können) den Version 1.2.0 mit sich bringt. Compaction benötigt man bei CouchDB um die Datendateien klein zu halten, denn CouchDB ist append-only, d.h. alle Aktionen werden hinten angehängt, insgesondere auch Updates und Deletes. Dadurch wachsen die Datenbank-Dateien mit der Zeit an und beinhalten einen Großteil alter Daten, die schon längt invalide sind. Mit Compaction wird die Datei einmal neu geschrieben mit nur dem aktuellen Inhalt.
Das folgende Script durchläuft eine Liste von Datenbanken und komprimiert sie, inklusive einem vorhandenen View. Dass es für den Einsatz in eurer Umgebung angepasst werden muss versteht sich von selbst, man könnte es z.B. auch noch so erweitern dass man erst eine Liste aller Datenbanken abruft und darüber iteriert, und auch eine Liste der jeweiligen Views holt und darüber iteriert. Für mich jedoch reichte für den einmaligen Einsatz vor der Migration zu 1.2 eine relative starre Liste.