MongoDB 容量估算

免费在线估算 MongoDB 集合与索引的磁盘占用。按文档字段(BSON 类型)、文档数、WiredTiger 分配对齐、Snappy 压缩与索引,快速评估数据体积,辅助容量规划与模式设计,数据全程本地计算。

功能特性

BSON 感知

按 BSON 编码(类型标记 + 字段名 + 值 + 长度/null 结尾)估算文档字节,覆盖常见标量、字符串、二进制与内嵌文档。

WiredTiger 分配

模拟 WiredTiger 2 的幂分配(32B→4KB 桶对齐,超出按 4KB 步进)与每记录开销。

实时估算

增删字段与索引即时计算集合、索引与总磁盘占用。

本地计算

所有估算在浏览器本地完成,无需上传模式定义。

使用步骤

01设置集合级参数

选择字符编码、文档数、压缩率与是否启用 2 的幂分配对齐。

02定义字段

添加并配置字段的 BSON 类型与平均长度(字符串为字符数、二进制/内嵌为字节数)。

03定义索引

勾选索引包含的字段,并设置是否唯一(B-Tree/单字段/复合)。

04查看与复制

查看空间构成与优化建议,一键复制评估报告。

适用场景

MongoDB 容量规划集合模式设计评估分片容量预算索引体积评估WiredTiger 压缩评估文档膨胀评估迁移容量预算

常见问题

估算包含索引吗?

包含。每个索引条目近似为「键字段 BSON + 8 字节 RecordId + 少量头开销」,并按相同压缩率与 2 的幂分配估算;_id 默认已建索引,会单独计入。

什么是 2 的幂分配对齐?

WiredTiger 将每条记录按 32/64/128/256/512/1024/2048/4096 字节的桶向上对齐分配,超过 4KB 按 4KB 步进。文档略超某阈值即跳到下一桶,会带来内部浪费,所以小文档也可能占用远比 BSON 大。

压缩率怎么选?

默认 Snappy 块压缩真实压缩率常约 0.5(视数据而定);zstd 对可压缩数据更优(可低至 0.3)。若集合未启用压缩(Compression=none)应设为 1.0。随机串或已压缩二进制难以压缩。

内嵌文档/数组怎么算?

object/array 按你填写的平均整段字节数计入(含其内部结构)。若内嵌较大,单文档可能超过 16MB 限制并进入大记录分配,建议拆分为独立集合。

估算结果准确吗?

估算基于 BSON 编码、WiredTiger 每记录开销、2 的幂分配与块压缩模型,结果接近真实占用,但未计入 WiredTiger 元数据、checkpoint、journal、副本集 oplog、paddingFactor 与碎片,结果仅供参考。

相关工具