我们正在运行mongodb来存储大量物体(每天约1 000 000个),寿命很短(约15分钟)。每天总虚拟内存(== db文件大小)的使用量约为50gb。当前的工作流程如下所示:
你能否建议mongo是否适合短生物。如果是 - 我们应该针对默认配置更改哪些配置设置。如果没有 - 应该使用哪个nosql(基于文档,因为我们存储类似对象的JSON)解决方案。
谢谢
答案 0 :(得分:3)
如果您可以很好地估算尺寸,capped collection可能是这种用法的不错选择。您可以显式创建封顶集合,而不是像使用普通集合一样隐式创建,并指定最大大小。随着新文档添加到上限集合中,旧文档会自动删除。空间使用是不变的,删除是隐含的,并且在一天结束时无需修复。缺点是如果您的大小需求实际上在增长,因为您需要创建新的(更大的)上限集合以维持相同的文档生命周期。
“TTL集合”(https://jira.mongodb.org/browse/SERVER-211)中描述了未来的可能性。此功能不在任何已发布的版本中,但可能正是您所需要的,从而使您的维护自动化。您可以在我链接的页面上“观看”该功能并对其进行投票,但计划在下一个版本中使用。