我想将计数器存储在 CouchDB 文档中,并在每个页面视图上递增。
CouchDB 将创建本文档的完整修订版,只需 1 次计数器更新。
这样会不会占用太多空间?
考虑到我一天的点击量为 100 万次,我一天内可能会查看该文档的 100 万次修订。
对此有什么想法...
Thanks!
CouchDB 对于它所做的权衡非常明确。在这种特殊情况下,我们正在讨论拥有一个防崩溃数据库,遗憾的是,它可以并且将会使用大量磁盘直到压缩。
您可以获得这种可靠性和大量的读取并发性。您还可以与任何其他节点无缝复制。这就是它的培根。由于柜台碰撞而不得不压缩是很糟糕的。忘掉 _rev_limit 的麻烦吧。你这样做会搞砸的,因为修订对于 Couch 来说是如此基础。
一种可能性是记录一些信息、日期和时间、IP 和其他内容。然后,您将创建一个发出所需数据的视图,并使用 _count 作为您的归约函数。您将获得所需的信息以及其他一些可能对分析有价值的内容。这是“仅创建视图”解决方案。
第二种可能性是使用 [redis] (http://redis.io/commands/incr http://redis.io/commands/incr)。 Redis 非常好并且非常适合这个用例(http://ai.mee.nu/is_couchdb_the_anti-redis http://ai.mee.nu/is_couchdb_the_anti-redis)。这将是“正确的工具做正确的工作”的解决方案。
第三种可能性是简单地忽略它。这可能根本不是问题(如果您经常压缩)。这将是“放松”的解决方案。
你必须兼顾好与坏,并确保优点大于缺点。在削减/优化之前,对所有内容进行两次测量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)