Mongodb

如何使mongodb數據庫大小更大?

  • November 11, 2015

我一直在將帶有報告的照片上傳到 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 張照片。我讀到 mongodbdata 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 限制和門檻值

引用自:https://serverfault.com/questions/726922