CouchDB es muy explícito acerca de las compensaciones que realiza. En este caso particular, estamos hablando de tener una base de datos de prueba de fallas que, por desgracia, puede y usará una gran cantidad de disco hasta la compactación.
Obtiene esta confiabilidad y mucha concurrencia para las lecturas. También obtendrá la capacidad de replicarse a la perfección con cualquier otro nodo. Este es el tocino de eso. Tener que compactar debido a los contadores golpeados es una mierda. Olvídate de perder el tiempo con _rev_limit. Te enloquecerás haciéndolo porque las revisiones son tan fundamentales para Couch.
Una posibilidad que tiene es registrar alguna información, la fecha y la hora, IP y otras cosas. Luego crearía una vista que emitiría los datos que necesita y usar _count como función de reducción. Obtendrá la información que necesita y algunas otras cosas posiblemente valiosas para el análisis. Esta es la solución "solo crear una vista".
La segunda posibilidad sería usar redis (http://redis.io/commands/incr). Redis es bastante agradable y encajaría bien con este caso de uso (http://ai.mee.nu/is_couchdb_the_anti-redis). Esta sería la solución "la herramienta adecuada para el trabajo correcto".
La tercera posibilidad sería simplemente ignorarlo. Puede que no sea un problema en absoluto (si compactas a menudo). Esta sería la solución "simplemente relajarse".
Tienes que tomar lo bueno con lo malo y asegurarte de que las ventajas superen las desventajas. Mida todo dos veces antes de cortar/optimizar.
Estoy de acuerdo, pero creo que debería haber una mejor manera de solucionar este problema. Estoy explorando la limitación de las revisiones de un documento determinado. Actualizaré esta pregunta con mis hallazgos ... –
Algunas investigaciones revelan este hilo - http://www.mail-archive.com/[email protected]/msg01974.html –
Si una base de datos está configurada con _revs_limit = 1, ¿el feed de resolución de conflictos y cambios seguirá funcionando? Hipotéticamente, para mantener un contador de incremento, podemos tener dicho par clave/valor en el documento cuya base de datos está configurada con _revs_limit = 1 ¿Pensamientos? Gracias! –