CouchDB очень четко говорит о компромиссах, которые он делает.В данном конкретном случае мы говорим о наличии базы данных, защищающей от сбоев, которая, к сожалению, может и будет использовать много дискового пространства до сжатия.
Вы получаете такую надежность и много параллелизма для чтения.Вы также получите возможность бесшовной репликации с любыми другими узлами.Это бекон этого.Сжатие из-за разбитых счетчиков - это отстой.Забудьте о том, чтобы возиться с _rev_limit.Вы сделаете это, потому что изменения являются основополагающими для Couch.
Одна из ваших возможностей - регистрация информации, даты и времени, IP-адресов и прочего.Затем вы создадите представление, которое будет выдавать нужные вам данные и использовать _count в качестве функции приведения.Вы получите необходимую информацию и некоторые другие полезные материалы для аналитики.Это решение «просто создать представление».
Вторая возможность - использовать [redis] (http://redis.io/commands/incr). Redis довольно удобен и хорошо подходит для этого варианта использования (http://ai.mee.nu/is_couchdb_the_anti-redis). Это было бы решением «правильный инструмент для правильной работы».
Третья возможность - просто игнорировать его. Это может не быть проблемой вообще (если вы часто сокращаетесь).будьте «просто расслабляющим» решением.
Вы должны взять хорошее с плохим и убедиться, что преимущества перевешивают недостатки. Измерьте все дважды, прежде чем сокращать / оптимизировать.