2015-09-09 51 views
0

我已經計算出我的文檔在6個月的時間內的大小,並且它只是超過2 Gig。 我要保留到所有文件,直到達到6個月內(不必是精確的),所以如果我這樣做它的工作原理:MongoDB Capped Collection的最大尺寸2G

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

我的問題是:

將蒙戈分配這個空間立即收集?

這是不好的做法,創建一個這樣大小的封頂集合?

我看到的大多數例子都是安靜的小尺寸。

我不想使用

回答

0

是MongoDB的將預分配的集合空間「的設置TTL從集合過期數據」。如果你的目標是隻使用大約6個月的數據,並且只有一個將舊數據移動到另一個數據庫的過程,Id建議使用某種歸檔方法。如果您正在更新文檔並將其用作寫入重量集合,則封頂的集合將是一種不好的做法。如果你的集合只讀得很大,那麼它很好,但如果你正在更新這些文檔,那麼如果文檔長度大於其初始大小,更新將失敗。在封頂收集文件不能增長的大小。

這種設置的另一種方法只需要處理最新的數據就可以使用標記感知分片,以便適合特定範圍的數據在快速硬件上準備就緒,該硬件首先被訪問,數據被推到較慢,更多商品的硬件上。