Known Information:ITS知道MongoDB存储在bson(Binary JSON)中,maximum BSON document size是16MB.

Question:为什么16MB本身为什么不是32MB或64MB或更多?16MB的具体限制在哪里?依赖16MB的原因是什么?

其中提到,在传输过程中,不会消耗过多的带宽,也不需要过多的服务器RAM.但是,如果我们能够负担得起网络带宽和RAM内存消耗,情况会怎样呢?那么,我们除了GridFS之外别无 Select .为什么?

这听起来可能很愚蠢.不过,有没有人能用强光照一下这个?


Update: It was 4MB and now 16MB.

mongodb BSON size

我们可以通过发出以下命令在Mongo Shell上进行判断

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

为什么不允许DBAs配置?

推荐答案

查看JIRA票证上将值从4MB增加到16MB的线程.这张彩票上有一场相当大的辩论:https://jira.mongodb.org/browse/SERVER-431

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

Database相关问答推荐

为Postgres数据库字段创建复合索引

DBMS_RANDOM 是否默认安装?

在Prisma中建立关系

Sequel Pro / MAMP 在哪里存储本地数据库?

为什么引用 SQLite rowid 会导致外键不匹配?

更新查询 PHP MySQL

在 postgresql 中将列从字符串更改为字符串数组

Membase 和 Couchbase 有什么区别?

如何在 Play 2.0 中 for each 环境设置不同的数据库?

与号 (&) 处的 XML 错误

是否可以在ORDER BY子句之后放置任何可能造成安全风险的内容?

NameError:设置更改为 mysql 后未定义名称_mysql

为什么有人需要内存数据库?

MongooseJS - 如何找到具有最大值的元素?

Redis Pub/Sub 和 Redis Stream 之间的主要区别是什么?

MySQL 整数 0 与 NULL

存储信用卡号 - PCI?

根据上次日期 Select 记录

如何以 SYS 身份在 Java 中连接到 Oracle?

在 UI 中执行业务逻辑的单元测试数据库应用程序