2015-09-09 52 views
0

我已经计算出我的文档在6个月的时间内的大小,并且它只是超过2 Gig。 我要保留到所有文件,直到达到6个月内(不必是精确的),所以如果我这样做它的工作原理:MongoDB Capped Collection的最大尺寸2G

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

我的问题是:

将蒙戈分配这个空间立即收集?

这是不好的做法,创建一个这样大小的封顶集合?

我看到的大多数例子都是安静的小尺寸。

我不想使用

回答

0

是MongoDB的将预分配的集合空间“的设置TTL从集合过期数据”。如果你的目标是只使用大约6个月的数据,并且只有一个将旧数据移动到另一个数据库的过程,Id建议使用某种归档方法。如果您正在更新文档并将其用作写入重量集合,则封顶的集合将是一种不好的做法。如果你的集合只读得很大,那么它很好,但如果你正在更新这些文档,那么如果文档长度大于其初始大小,更新将失败。在封顶收集文件不能增长的大小。

这种设置的另一种方法只需要处理最新的数据就可以使用标记感知分片,以便适合特定范围的数据在快速硬件上准备就绪,该硬件首先被访问,数据被推到较慢,更多商品的硬件上。