如何讓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 張照片,每個月都會上傳。我讀到 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 限制和閾值

相關內容