【问题标题】:MongoDB Single Document size limit is 16MBMongoDB 单文档大小限制为 16MB
【发布时间】:2013-02-24 19:29:48
【问题描述】:

已知信息:据了解,MongoDB 存储在 BSON (Binary JSON) 中,maximum BSON document size 为 16MB。

问题:为什么 16MB 本身为什么不是 32MB 或 64MB 或更多,16MB 的确切限制是什么,以及完全依赖 16MB 的原因是什么?

提到在传输过程中,不会消耗过多的带宽,也不需要服务器过多的RAM。但是,如果我们能负担得起网络带宽和 RAM 内存消耗呢?然后,除了GridFS,我们别无选择。为什么?

这听起来可能很愚蠢。但是请任何人都可以对此提出一些亮点吗?


更新:原来是 4MB,现在是 16MB。

mongodb BSON size

我们可以通过以下命令在 Mongo Shell 上检查它

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

为什么不允许 DBAs 配置它?

【问题讨论】:

  • 是什么让 32 MB 比 16 MB 更符合逻辑?
  • @MattBall 更新了我的问题.. 但是,我希望你能理解我提出的实际问题,并能给出一些提示或回答自己......
  • @PrincessOftheUniverse:如果你知道为什么是 4MB 现在是 16MB,请回答
  • 这是导致从 4MB 增加的票证:SERVER-431
  • 它是 16MB,因为开发人员决定从之前的 4 MB 改为 16MB。为什么世界不是蓝色的?

标签: mongodb limit database-administration bson database


【解决方案1】:

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

他们为什么选择 16MB 而不是 32MB 似乎是武断的。它之所以增加是因为许多人需要存储大于 4MB 的文档(我假设小于 16MB)。有些人在该线程中要求将其设置为可配置的(就像你问的那样),这对我来说很有意义。不知道为什么他们还没有决定这样做。

【讨论】:

  • 这不是任意的,它实际上是依赖于内存分配的。
  • 我的意思是,为什么它增加到 16MB 而不是 32MB,这是相当随意的。在回答中澄清。
猜你喜欢
  • 2018-09-11
  • 1970-01-01
  • 2018-03-26
  • 1970-01-01
  • 2020-11-18
  • 2023-03-28
  • 1970-01-01
  • 2017-02-22
相关资源
最近更新 更多