我一直在將帶有報告的照片上傳到 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
我上傳到資料庫的圖片嗎?那麼,一旦發生這種情況,我必須設定一個帶有分片的單獨伺服器嗎?或者我可以在同一台機器上創建一個分片嗎?
提前致謝。
答案1
我一直在將帶有報告的照片上傳到 mongodb。我達到了資料庫大小限制。如何增加資料庫的大小?
假設您有可用的磁碟空間,MongoDB 將根據需要自動指派額外的磁碟空間。由於您正在執行 MMAP 儲存引擎(基於您的db.stats()
輸出),MongoDB 將以遞增的增量預先分配空間,每個新文件最多 2GB(如果您碰巧使用的是每個文件,則最大為 512MB)smallFiles
選項)。鑑於您的資料庫目前 >18GB,您將需要至少 2GB 的可用空間(如果您的臨時目錄位於同一磁碟區上,則還需要一些作業系統空間)。
集合的文件數量沒有限制,除非您碰巧使用具有指定數量的上限集合。max
限制(必須小於 2^32)。 MongoDB 生產部署包含數兆個文件(參考:大規模 MongoDB)。
MongoDB 3.0+ 有一個儲存引擎 API,因此可能會有一些限制,這取決於儲存引擎。例如,資料大小限制對於具有經典 MMAPv1 儲存引擎的單一數據,mongod
啟用日誌功能後通常為 64 TB 的資料。 WiredTiger儲存引擎(3.0中可選,3.2+中預設)沒有這個限制。
每月插入數萬個文檔應該不成問題。
欲了解更多信息,請參閱:MongoDB 限制和閾值。