【问题标题】:MongoDB Capped Collection max size 2GMongoDB Capped Collection 最大大小 2G
【发布时间】:2015-09-09 22:04:45
【问题描述】:

我在 6 个月的时间里计算出我的文档的大小,它刚刚超过 2 Gigs。 我想保留所有文件,直到达到 6 个月的期限(不需要准确),所以如果我这样做它会起作用:

db.create_collection('mycollection', capped=True, size=2000000000)

我的问题是:

mongo 会立即为集合分配这个空间吗?

创建这么大的有上限的集合是不好的做法吗?

我看到的大多数示例都设置为安静小。

我不想使用“通过设置 TTL 使集合中的数据过期”

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    是的,MongoDB 将为集合预先分配该空间。如果您的目标是仅使用大约 6 个月大的数据并且只是有一个将旧数据移动到另一个集合中的过程,我建议使用某种归档方法。如果您要更新文档并将其用作写入繁重的集合,则上限集合将是一个不好的做法。如果您的收藏只是被大量阅读,那很好,但如果您正在更新这些文档,那么如果文档增长大于其初始大小,则更新可能会失败。在有上限的集合中,文档不能增长。

    另一种只想处理最新数据的设置方法是使用标签感知分片,以便适合特定范围的数据在首先访问的快速硬件上准备就绪,以及较旧的数据被推到更慢、更商品化的硬件上。

    【讨论】:

      猜你喜欢
      • 2014-09-11
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 2017-07-21
      • 1970-01-01
      相关资源
      最近更新 更多