MongoDB单文档大小限制为16MB

Amo*_*rni 21 database database-administration limit mongodb bson

已知信息:已知 MongoDB存储在BSON(二进制JSON)中,最大BSON文档大小为16MB.

问题:为什么16MB本身为什么不是32MB或64MB或者更多,并且确切地限制了16MB以及依赖于16MB的原因是什么?

提到在传输过程中,不会消耗过多的带宽,并且不需要服务器上过多的RAM.但是,如果我们能够承受网络带宽和RAM内存消耗,该怎么办?那么,除了GridFS之外,我们没有任何选择.为什么?

这可能听起来很愚蠢.但请有人能对此有所启发吗?


更新:它是4MB,现在是16MB.

mongodb BSON大小

我们可以通过发出以下命令在Mongo Shell上查看它

db.isMaster().maxBsonObjectSize/(1024*1024)
Run Code Online (Sandbox Code Playgroud)

为什么DBA不允许这样做?

the*_*eon 21

查看JIRA票证上的线程,该线程将值从4MB增加到16MB.关于门票的争论很大:https://jira.mongodb.org/browse/SERVER-431

为什么他们选择16MB,而不是说32MB似乎是任意的.它增加了,因为许多人需要存储大于4MB的文件(我认为低于16MB).有些人在那个帖子中要求让它可以配置(就像你问的那样),这对我来说很有意义.不知道为什么他们没有决定这样做.

  • 我的意思是它相当随意,为什么它增加到16MB而不是32MB.澄清回答. (4认同)
  • 它不是随意的,它实际上依赖于内存分配. (3认同)