tencent cloud

云数据库 MongoDB

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
应用场景
集群架构
产品规格
产品功能
地域和可用区
名词解释
购买指南
计费概述
产品定价
计费公式
欠费说明
备份空间计费
变配计费说明
快速入门
快速创建实例
连接 MongoDB 实例
读写数据库
操作指南
访问管理
管理实例
节点管理
版本升级
网络配置
系统监控
备份与回档
数据库审计
数据安全
SSL 认证
日志管理
数据库管理
多可用区部署
只读灾备
参数配置
回收站
任务管理
诊断优化
数据迁移指引
实践教程
索引优化解决读写性能瓶颈
分片集群 Mongos 负载不均解析及应对方案
分片集群使用注意事项
MongoDB 协议实例读写示例
基于 CVM 连接 MongoDB 进行数据导入导出的方法
3.6版本实例反复创建和删除同名数据库时报错怎么办
无法连接 MongoDB 解决方法
删减分片任务:进度确认与异常排查指南
性能调优
运维开发指南
开发规范
3.2版本分片集群命令支持情况
3.6版本命令支持情况
开发运维
故障处理
慢查询增多
连接数超限
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Backup APIs
Account APIs
Other APIs
Task APIs
Introduction
Data Types
Error Codes
SDK 参考
Shell连接示例
PHP 连接示例
Node.js连接示例
Java 连接示例
Python连接示例
Python 读写示例
Go 连接示例
PHP 重连示例
产品性能
测试环境
测试方法
测试结果
常见问题
费用相关问题
功能特性问题
分片集群问题
实例相关问题
回档备份问题
连接相关问题
数据迁移问题
其他常见问题
相关协议
服务等级协议
Terms of Service
词汇表
联系我们

8.0 新特性速览

PDF
聚焦模式
字号
最后更新时间: 2025-11-27 17:56:14
关于 MongoDB 8.0 的完整变更列表与新特性详解,请参见官方 MongoDB 8.0 release-notes
类别
特性名称
详细说明
应用场景/影响
性能优化
升级版 TCMalloc
缓存机制:从每线程缓存改为每 CPU 缓存,减少内存碎片,提升高负载适应性。
内存释放:新增后台线程,每秒尝试向操作系统释放内存。tcmallocReleaseRate 参数可精确控制释放速率(单位 Bytes/s),默认10MB/s。
更高效的内存使用,尤其适用于内存压力大、负载波动剧烈的场景。
Majority 写优化
写关注为 "majority" 时,只需大多数节点写入 oplog 即可返回确认,无需等待数据应用。
大幅提升 majority 写入的吞吐量和延迟性能。
oplog 处理优化
MongoDB 8.0 在 Secondary 节点引入了 oplog 缓冲区,将数据同步过程解耦为两个独立阶段:Writer 线程持续拉取并缓存 oplog,Applier 线程异步从缓冲区应用数据。使两个线程得以并行运行,解决了此前因串行等待导致的资源空耗问题。
提升从节点的数据复制吞吐量,减少主从延迟。
批量插入优化
非事务性批量插入合并为单个 oplog 条目,所有文档在 Change Stream 中拥有相同的 clusterTime。
提升批量插入性能,避免从节点回放大量 oplog 导致的复制延迟。
分片增强
reshard 优化
forceRedistribution:允许使用相同分片键进行重新分片,快速将数据重新分配到新分片。
commitReshardCollection:可在运维窗口期主动禁写,加速分片完成。
更快、更灵活的数据重新分布,便于负载均衡和容量规划。
分片管理命令
unshardCollection:取消集合分片,将数据合并到指定分片。
moveCollection:将未分片集合移动到任意分片(时间序列和加密集合除外)。
shardAndDistributeCollection:分片后立即重新分配数据。
提供更精细、灵活的集合级数据布局管理能力。
分片操作优化
哈希分片:默认每个分片创建1个 chunk(之前为2个)。
findAndModify/deleteOne:可使用部分分片键作为查询条件。
updateOne with upsert:分片集合上,upsert 操作的查询条件可不包含全部分片键。
directShardOperations 角色:允许直接对分片执行命令,进行分片操作。
简化分片集群的运维与查询,提升易用性。
serverStatus 输出增强
从 MongoDB 8.0开始, serverStatus 在其输出中包含以下新的shardingStatistics字段:
更全面地展示分片集群的运行状态和内部统计指标。
查询与聚合
查询统计与优化
$queryStats:返回已记录查询的详细统计数据。
Query Shape:引入新的查询形状,将查询模式识别从被动的缓存管理机制,升级为可主动配置与管理的独立资源。
workingMillis:在慢日志中展示实际执行时间,排除锁等待。
更强大的查询性能诊断和优化工具,便于定位性能瓶颈。
聚合与转换
$convert:支持字符串与 BinData 互转。
$toUUID:提供简化的字符串转 UUID 语法。
增强数据处理和转换能力。
操作控制
新增 defaultMaxTimeMS 参数,为 find, aggregate 等操作设置服务器端默认超时时间。
防止长时间运行的查询耗尽资源,提升系统稳定性。
安全特性
可查询加密
支持对加密字段使用范围查询操作符($lt, $lte, $gt, $gte)。
在保证数据隐私的同时,提供更复杂的查询能力,增强安全性。
运维改进
日志记录改进
从 MongoDB 8.0 开始,可以配置 数据库分析器,以根据 MongoDB 处理慢操作时花费的时间(而不是慢操作的总延迟)来记录慢操作。更多信息,请参见 日志记录
避免因等待锁或流量控制而误判操作为慢操作。
索引构建增强
快速错误报告:索引构建错误在扫描阶段立即返回,无需等到结束。
弹性部署:从节点可请求停止有问题的索引构建,避免崩溃。
磁盘空间管理:空间低于 indexBuildMinAvailableDiskSpaceMB 时自动停止构建。
索引构建过程更健壮,故障恢复更快,对业务影响更小。
批量与并发操作
bulkWrite:单请求中对多个集合执行插入、更新、删除。
并发 DDL:支持同一数据库下不同集合并发执行 DDL 操作。
提升运维效率和批量数据处理能力。
准入控制
入口队列:通过 ingressAdmissionControllerTicketPoolSize 参数控制网络请求的排队。
提供新的流量控制机制,防止系统过载。
查询设置
setQuerySettings:可指定索引或对特定查询形状进行拒绝。
explain() 增强:新增 queryPlanner.optimizationTimeMillis 显示优化耗时。
提供更细粒度的查询行为控制和洞察。腾讯云 MongoDB 支持更灵活的限流策略,详情请参见:SQL 限流

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈