2011-02-07 31 views
8

我只是匯入我的Mysql數據庫(大小2,8 MIO)在我的新蒙戈數據庫非常簡單的PHP腳本我建立,進口是沒有錯誤確定,但當我看到我的蒙戈數據庫(含RockMongo)我可以看到這一點:數據大小8.01米,存儲大小13.7米。這是正常大小的MongoDB?

的MongoDB更大的Mysql對於相同的數據量,這是正常的?

感謝您的幫助和抱歉,我的英語水平。

+2

8.01/2.8 = 2.86x不是10x – 2011-02-07 08:02:37

回答

13

是的,「相同」數據在mongodb中佔用更多空間是正常的。有幾件事你需要考慮到:

1)每個文件存儲的文件_id(除非你指定你自己的值),每個文件爲12字節
2)你正在存儲關鍵的每個文檔中的每個鍵值對,而在MySQL中列名不保存每一行,你可以得到額外的開銷在MongoDB中的文件了。減少的一個方法是在你的文檔
3)使用縮短的鍵名(「列名」)的MongoDB自動添加填充,以允許文檔從SQL Server增長

在類似的測試,加載數據到MongoDB中,與縮短2種字符的文件鍵名,而不是完整的名稱爲每個SQL Server中,我看到約25-30%的額外空間MongoDB中被使用。

+0

噢好吧,我已經想到了「1」(_id),但不是關於「2」,很高興聽到一切都很好,非常感謝:) – Tahola 2011-02-07 08:18:12