CouchDB est très explicite sur les compromis qu'il fait. Dans ce cas particulier, nous parlons d'avoir une base de données de crash-preuve qui, malheureusement, peut et va utiliser beaucoup de disque jusqu'à compactage.
Vous obtenez avec cette fiabilité et beaucoup de concurrence pour les lectures. Vous aurez également la possibilité de répliquer de manière transparente avec tous les autres nœuds. C'est le lard de celui-ci. Avoir à compacter à cause des compteurs heurtés, c'est le sucer. Oubliez les environs avec _rev_limit. Vous allez vous visser de le faire parce que les révisions sont si fondamentales pour Couch.
Une possibilité que vous avez est la journalisation de certaines informations, la date et l'heure, IP et d'autres choses. Vous pouvez ensuite créer une vue en émettant les données dont vous avez besoin et en utilisant _count comme fonction de réduction. Vous obtiendrez les informations dont vous avez besoin et d'autres informations potentiellement utiles pour l'analyse. C'est la solution "juste créer une vue".
La deuxième possibilité serait d'utiliser redis (http://redis.io/commands/incr). Redis est assez sympa et conviendrait parfaitement à ce cas d'utilisation (http://ai.mee.nu/is_couchdb_the_anti-redis). Ce serait la solution «le bon outil pour le bon travail».
La troisième possibilité serait simplement de l'ignorer. Cela pourrait ne pas être un problème du tout (si vous compactez souvent). Ce serait la solution "juste relax".
Vous devez prendre le bien avec le mauvais et assurez-vous que les avantages l'emportent sur les inconvénients. Mesurez tout deux fois avant de couper/optimiser.
Je suis d'accord, mais je pense qu'il devrait y avoir un meilleur moyen de contourner ce problème. J'explore la possibilité de limiter les révisions à un document donné. Va mettre à jour cette question avec mes conclusions ... –
Certaines recherches révèlent ce fil - http://www.mail-archive.com/[email protected]/msg01974.html –
Si une base de données est configurée avec _revs_limit = 1, le flux de résolution et de modification des conflits fonctionne-t-il toujours? Hypothétiquement, pour maintenir un compteur incrémentiel, nous pouvons avoir une telle paire clé/valeur dans le document dont la base de données est configurée avec _revs_limit = 1 Réflexions? Merci! –