2013-03-09 238 views
21

已知信息:據瞭解,MongoDB在BSON(Binary JSON)中存儲,maximum BSON document size爲16MB。MongoDB單文檔大小限制爲16MB

問題:爲什麼16MB本身爲什麼不是32MB或64MB或更多,以及16MB的限制在哪裏,以及16MB的原因是什麼?

提到在傳輸過程中,不會消耗過多的帶寬,並且不需要在服務器上使用過多的RAM。但是如果我們能夠負擔網絡帶寬和RAM內存消耗呢。然後,除了GridFS之外,我們沒有其他選擇。爲什麼?

這聽起來很愚蠢。但請任何人都能明確指出這一點?


更新:它是4MB,現在是16MB。

mongodb BSON size

我們可以通過發行爲什麼它不是由DBAs允許作爲配置如下命令

db.isMaster().maxBsonObjectSize/(1024*1024) 

檢查它蒙戈貝殼?

+4

什麼使32 MB比16 MB更合乎邏輯? – 2013-03-09 06:02:34

+0

@MattBall更新我的問題..但是,我希望你能理解我的實際問題,並可以給出一些提示或自己回答... – 2013-03-09 06:05:07

+0

@PrincessOftheUniverse:如果你知道它爲什麼是4MB,現在是16MB,請回答 – 2013-03-09 08:45:28

回答

21

查看JIRA票據上的線程,將值從4MB增加到16MB。關於這張票的爭論很大:https://jira.mongodb.org/browse/SERVER-431

這似乎是任意的,他們選擇16MB,而不是32MB。它增加了,因爲很多人需要存儲大於4MB的文檔(而我認爲低於16MB)。有些人在該主題中要求讓它具有可配置性(就像你問的一樣),這對我來說很有意義。不知道他們爲什麼還沒有決定這麼做。

+3

它不是任意的,它實際上是內存分配的依賴。 – Sammaye 2013-03-09 09:54:45

+2

我的意思是說它爲什麼增加到16MB而不是比如說32MB是相當任意的。澄清回答。 – theon 2013-03-09 10:03:07

+0

是啊,這是更好的:) – Sammaye 2013-03-09 10:09:27