MongoDB 8.0 性能数据:时间序列聚合快 200%,重分片数据分发最高快 50 倍
MongoDB 8.0 是主版本,同时支持 Atlas 与本地部署,并包含了 7.1/7.2/7.3 快速发布周期的改动。
性能:8.0 对 7.0
以下数据来自内部采用的公共基准测试。
| 测试 | 场景 | 8.0 相比 7.0 |
|---|---|---|
| YCSB | 95/5 读写混合 | 快 32% |
| YCSB | 读取 | 快 36% |
| YCSB | 更新吞吐 | 快 59% |
| YCSB | 批量写入 | 快 56% |
| Linkbench | Meta 社交图基准 | 快 24% |
| Timescale TSBS | 时间序列数据聚合 | 快 200% 以上 |
| Timescale TSBS | 时间序列查询 | 最高快 60% |
| — | 数据复制期间并发写入 | 快 20% |
| — | 重分片期间数据分发 | 最高快 50 倍 |
| — | 启动水平扩展成本 | 低 50%(带嵌入式配置服务器的 1 个分片集群) |
总体在很多用例中吞吐与延迟改善约 25%。
关键新能力
- 新批量写入命令(New Bulk Write Command)。
- 时间序列分块处理(Time Series Block Processing)。
- 可查询加密(Queryable Encryption)支持范围查询,加密字段可参与范围检索。
- 更快的水平扩展与更低启动成本。
- 更多控制手段应对不可预测的使用高峰。
- 配置分片(Config Shards)、重分片改进、
$lookup改进、分片集合事务、新的replSetGetStatus指标、oplog 缓冲区、升级的 TCMalloc。 - 改进的索引构建、新的查询形态与查询设置(Query Shape / Query Settings)、参数过滤、新的排序选项、查询规划与执行优化、批量多文档插入、规划器优化时间。
时间序列集合要点
按 v8.0 文档,时间序列集合自 5.0 引入,按来源与时间点组织写入,使用底层列式存储格式。从 MongoDB 6.3 起,为新集合在 timeField 与 metaField 上自动创建复合索引,并使用优化存储格式。
8.0 起,把 timeField 用作时间序列集合的分片键已被弃用。若仍按这种方式创建,会在主分片日志中记录,并每 12 小时在配置服务器副本集主节点写一条日志,提示需改用 metaField 重新分片。
时间序列文档可以包含 metaField,MongoDB 用它分组文档,以提升存储优化与查询效率。
发布节奏
8.0.0 发布于 2024-10-02。8.0.x 补丁线持续更新,例如 8.0.32 于 2026-09-11 发布。