jdo*_*oig 6 couchdb mongodb nosql
用于存储具有非常高的更新速率和数据量的用户数据的最佳no-sql替代方案是什么?
例如,对于高容量站点,每页请求倾倒数十到数百行用户状态/导航状态数据.
我目前正在关注Mongo或Couch,但我对其他选择持开放态度.
编辑(响应kprobst的请求):它将托管在Linux上,并且可以提供多个实例(硬件或虚拟机).
该系统将用于存储站点访问者状态,未经验证的用户存储1-2周,并且(可能)无限期地用于经过身份验证的用户.
我认为当前在业务中的思维方式是使用CouchDB,因为我们在其他地方使用它,但我也一直在阅读它是性能最差的不断更新,并且该系统有可能更新30 - 400行json为每个用户提供多个文档,当用户与站点交互时(预计使用率非常高).
除了这种状态"转储"之外,还将存储其他用户信息,并且能够查询这将是有用的.
我最近调查了许多NoSQL技术,包括CouchDB和MongoDB.我得到的感觉是MongoDB比CouchDB更倾向于性能,可能是以某些功能为代价.例如,MongoDB使用特定于语言的驱动程序,CouchDB使用REST.MongoDB是"就地更新"而CouchDB是MVCC.MongoDB将数据存储在内存映射文件中.
我选择了MongoDB,因为它适合我想要存储的数据类型及其提供的性能.恕我直言,我不认为MVCC解决方案最适合您所描述的用途.在更新文档时,它不会覆盖现有文档,而是创建它的新版本,然后将旧文档标记为过时,这意味着需要定期删除/压缩这些文档.有更多的更新,这将涉及的工作越多,这将是我关注的问题.
这并不是说MongoDB是CouchDB的"更好"选择,因为它们提供不同的东西,在特定场景中可能是一种技术的缺点,在另一种情况下可能是一个优势.你显然已经拥有CouchDB的优势,已经在业务中使用它,所以可能不是一个学习曲线.
MongoDB.org上的2对比了一点.
| 归档时间: |
|
| 查看次数: |
1404 次 |
| 最近记录: |