Mongodb
如何使mongodb數據庫大小更大?
我一直在將帶有報告的照片上傳到 mongodb。我達到了數據庫大小限制。如何增加數據庫的大小?
db.stats() { "db" : "fieldops", "collections" : 6, "objects" : 20454, "avgObjSize" : 890464.9997066589, "dataSize" : 18213571104, "storageSize" : 18432802736, "numExtents" : 52, "indexes" : 4, "indexSize" : 809424, "fileSize" : 21398290432, "nsSizeMB" : 16, "extentFreeList" : { "num" : 0, "totalSize" : 0 }, "dataFileVersion" : { "major" : 4, "minor" : 22 }, "ok" : 1 }
另外,順便說一句。我現在每月上傳 12,000 張照片。我讀到 mongodb
data file
限制是 16,000。data file
我在詞彙表中找不到定義是什麼。那是指buffered
我上傳到數據庫的圖片嗎?那麼,一旦發生這種情況,我必須設置一個帶有分片的單獨伺服器?或者我可以在同一台機器上創建一個分片嗎?提前致謝。
我一直在將帶有報告的照片上傳到 mongodb。我達到了數據庫大小限制。如何增加數據庫的大小?
假設您有可用的磁碟空間,MongoDB 將根據需要自動分配額外的磁碟空間。由於您正在執行 MMAP 儲存引擎(基於您的
db.stats()
輸出),MongoDB 將以遞增的增量預分配空間,每個新文件最多 2GB(如果您碰巧使用了smallFiles
選項,則每個文件最多 512MB )。鑑於您的數據庫目前大於 18GB,您將需要至少 2GB 的可用空間(如果您的臨時目錄位於同一卷上,還需要一些用於作業系統的空間)。除非您碰巧使用具有指定
max
限制(必須小於 2^32)的封頂集合,否則集合的文件計數沒有限制。存在具有數万億文件的 MongoDB 生產部署(參考:MongoDB at Scale)。MongoDB 3.0+ 有一個儲存引擎 API,因此可能會有一些限制因儲存引擎而異。例如,使用經典 MMAPv1 儲存引擎的單個數據大小限制
mongod
通常是啟用日誌的 64 TB 數據。WiredTiger 儲存引擎(3.0 可選,3.2+ 預設)沒有這個限制。每月插入數以萬計的文件應該不是問題。
有關更多資訊,請參閱:MongoDB 限制和門檻值。