CouchDB或Mongo具有非常高的更新率和容量?

jdo*_*oig 6 couchdb mongodb nosql

用于存储具有非常高的更新速率和数据量的用户数据的最佳no-sql替代方案是什么?

例如,对于高容量站点,每页请求倾倒数十到数百行用户状态/导航状态数据.

我目前正在关注Mongo或Couch,但我对其他选择持开放态度.

编辑(响应kprobst的请求):它将托管在Linux上,并且可以提供多个实例(硬件或虚拟机).

该系统将用于存储站点访问者状态,未经验证的用户存储1-2周,并且(可能)无限期地用于经过身份验证的用户.

我认为当前在业务中的思维方式是使用CouchDB,因为我们在其他地方使用它,但我也一直在阅读它是性能最差的不断更新,并且该系统有可能更新30 - 400行json为每个用户提供多个文档,当用户与站点交互时(预计使用率非常高).

除了这种状态"转储"之外,还将存储其他用户信息,并且能够查询这将是有用的.

Ada*_*Dev 6

我最近调查了许多NoSQL技术,包括CouchDB和MongoDB.我得到的感觉是MongoDB比CouchDB更倾向于性能,可能是以某些功能为代价.例如,MongoDB使用特定于语言的驱动程序,CouchDB使用REST.MongoDB是"就地更新"而CouchDB是MVCC.MongoDB将数据存储在内存映射文件中.

我选择了MongoDB,因为它适合我想要存储的数据类型及其提供的性能.恕我直言,我不认为MVCC解决方案最适合您所描述的用途.在更新文档时,它不会覆盖现有文档,而是创建它的新版本,然后将旧文档标记为过时,这意味着需要定期删除/压缩这些文档.有更多的更新,这将涉及的工作越多,这将是我关注的问题.

这并不是说MongoDB是CouchDB的"更好"选择,因为它们提供不同的东西,在特定场景中可能是一种技术的缺点,在另一种情况下可能是一个优势.你显然已经拥有CouchDB的优势,已经在业务中使用它,所以可能不是一个学习曲线.

MongoDB.org上的2对比了一点.