CouchDB ist sehr explizit über die Kompromisse, die es eingeht. In diesem speziellen Fall geht es darum, eine absturzsichere Datenbank zu haben, die leider viel Speicherplatz verbrauchen kann und wird, bis sie kompaktiert ist.
Sie erhalten damit Zuverlässigkeit und eine Menge Gleichzeitigkeit beim Lesen. Sie erhalten auch die Möglichkeit, nahtlos mit anderen Knoten zu replizieren. Das ist der Clou an der Sache. Die Notwendigkeit, wegen gestoßener Zähler zu kompaktieren, ist das Schlimme daran. Vergessen Sie es, mit _rev_limit herumzupfuschen. Sie werden sich damit selbst in die Scheiße reiten, weil Revisionen so grundlegend für Couch sind.
Eine Möglichkeit, die Sie haben, ist die Protokollierung einiger Informationen, des Datums und der Uhrzeit, der IPs und anderer Dinge. Sie würden dann eine Ansicht erstellen, die die Daten ausgibt, die Sie benötigen, und _count als Ihre Reduktionsfunktion verwenden. Auf diese Weise erhalten Sie die benötigten Informationen und einige andere möglicherweise wertvolle Daten für die Analyse. Dies ist die Lösung "einfach eine Ansicht erstellen".
Die zweite Möglichkeit wäre die Verwendung von [redis] ( http://redis.io/commands/incr ). Redis ist ganz nett und würde gut zu diesem Anwendungsfall passen ( http://ai.mee.nu/is_couchdb_the_anti-redis ). Dies wäre die Lösung "das richtige Werkzeug für die richtige Aufgabe".
Die dritte Möglichkeit wäre, sie einfach zu ignorieren. Möglicherweise ist es überhaupt kein Problem (wenn Sie häufig kompaktieren). Dies wäre die Lösung "einfach entspannen".
Man muss das Gute mit dem Schlechten abwägen und sicherstellen, dass die Vorteile die Nachteile überwiegen. Messen Sie alles zweimal, bevor Sie kürzen/optimieren.