mongodb - 在 mongodb 中生成每天的集合是个好主意吗

标签 mongodb mongoid bigdata database

为给定日期的数据创建每天集合是否是个好主意(我们可以从每天开始,然后如果数据过多,则改为每小时)。我们可以在 mongodb 中创建的集合数量是否有限制,还是会导致性能损失(mongodb 维护这么多集合是否是一种开销)。大量的集合对性能有什么不利影响吗?

为了给您提供更多背景信息,这些数据将更像 facebook 提要,并且只有最新的数据(比如最近一周或一个月)对我们来说更重要。每天收集可以减少文档数量,并且可能会导致快速访问。即使我们需要旧数据,我们也可以回退到旧集合。这是有道理的,还是我走错了方向?

最佳答案

您真正需要的是归档旧数据。我建议您在 mongodb 邮件列表中查看此线程:
https://groups.google.com/forum/#!topic/mongodb-user/rsjQyF9Y2J4 Michael Dirolf (10gen) 的最后一篇文章说:

"The OS will handle LRUing out data, so if all of your queries are touching the same portion of data that should stay in memory independently of the total size of the collection."

所以我想你可以继续使用单个集合,好的索引会完成这项工作。
无论如何,如果集合太大,您可以随时运行手动存档过程。

关于mongodb - 在 mongodb 中生成每天的集合是个好主意吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17338084/

相关文章:

mongodb - 我将如何在 Golang/mgo 的 Mongodb 中插入子文档?

ruby-on-rails - 您如何在 Ruby on Rails 中为 Mongoid 建立关系?

sql - Hive 优化器对于涉及分区表的连接表现不佳

node.js - 将多个 csv 导入 mongodb

javascript - MongoDB Cursor.each 抛出错误

c# - 在 MongoDb 中更新插入字典

ruby - 没有框架的ruby上的mongoid配置

ruby-on-rails - mongoid 和 validates_linked 不起作用

python - 使用 numpy 数组高效索引 numpy 数组

c# - HashSet 的内存限制是多少?