阿里云MongoDB 8.0最新发布

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 Tair(兼容Redis),内存型 2GB
简介: MongoDB 8.0 在性能优化、工作负载管理、数据库扩展、安全性增强及向量搜索能力等方面实现了多项突破。新版本大幅提升主从复制效率,降低延迟,并支持灵活的分片迁移与在线重分片。同时,新增 query shape 和持久化索引过滤器功能,帮助用户精细化管理高并发场景。此外,社区版引入全文与向量搜索,助力 AI 应用开发。阿里云作为国内首家支持 MongoDB 8.0 的厂商,提供高可用、弹性扩展和智能运维等云原生特性,满足多样化业务需求。

自 3.0 版本以来,MongoDB 不断迭代升级,逐步发展为一个现代化、通用的数据平台。在此过程中,MongoDB 引入了事务支持、时间序列处理、Stable API、在线重分片、变更流可查询加密以及向量搜索等关键功能。目前,MongoDB 已成为开发者构建现代应用的重要基础设施之一。

MongoDB 8.0 围绕提升开发体验与效率的目标,推出了多项增强功能。其中包括社区版中引入的全文搜索与向量搜索能力,使得用户可通过版本升级充分利用这些功能以增强 AI 应用的能力。此外,MongoDB 8.0 提供了一整套内部工具,用于支持不同 MongoDB 系统之间的数据共享操作,包括数据迁移、移动及同步等任务。对于需要将遗留系统或传统数据库技术栈进行现代化改造的用户,该工具也提供了端到端的支持,涵盖 schema 映射、代码分析与转换、数据迁移以及跨技术栈的数据同步等功能。

一、MongoDB 8.0 主要新特性概述

1. 性能优化

随着数据规模的不断增长和业务复杂度的提升,性能优化成为数据库系统的关键需求。MongoDB 8.0 在多个维度上进行了深度优化,以提高系统的吞吐能力并降低响应延迟。

通过 YCSB、LinkBench 和 TSBS 等公共基准测试,以及阿里云内部测试,MongoDB 8.0 相较于 7.0 版本,在多个场景下均表现出显著的性能提升。具体结果如下:

  • YCSB 批量写入测试:性能提升约 54%;
  • 100% 读取场景:性能提升 27%;
  • 95/5 写读混合场景:延迟与吞吐量均提升 25% 以上;
  • LinkBench 社交图谱测试:整体性能提升 18%;
  • TSBS 时间序列测试:吞吐量提升 2~3 倍,平均查询延迟提升超过 60%。

针对金融交易 K 线统计、移动平均值计算等典型时间序列应用场景,MongoDB 8.0 引入了“块处理”机制。通过利用块级数据摘要,提升了时间序列数据的查询与读取效率。经过实测,此类查询性能平均提升了 60% 左右。

在常见查询命令的执行路径上,MongoDB 8.0 对执行流程进行了优化,消除了低效影响,并减少了内存占用。同时,借助 CPU 缓存机制,进一步提升了查询效率。例如,对于简单的等值匹配查询,8.0 引入了一个新的执行阶段 stage(称为 “express”),相较于旧版本,查询延迟降低了 17%。

由于 MongoDB 支持文档大小可变且存储分配也具有灵活性,这可能导致内存碎片问题。在 8.0 中,对内存管理机制进行了优化,通过引入更高效的缓存策略,使内存碎片率降低了约 18%。较低的内存碎片水平有助于提升系统的运行稳定性,尤其是在面对海量数据和突发流量时效果尤为明显。

在副本集架构中,主节点的写入性能和从节点的确认机制共同决定了整个系统的运行效率。在 MongoDB 5.0 中,已将 read concern 的默认值调整为 majority,以提高可靠性。而在 8.0 中,对主从复制的交互速度进行了进一步优化。

MongoDB 8.0 对副本集中的 oplog 复制机制进行了优化,提升了从节点对 oplog 的回放效率,并通过引入 writer 和 applyer 线程分离机制,降低了主从延迟。此外,8.0 还支持并发写入操作,从而提高了主从复制期间的并发写入效率。实测数据显示,在相同条件下,主从复制的整体性能提升了约 20%,从而有效降低了主从延迟并提高了 majority 场景下的吞吐量。

2. 工作负载管理

当系统流量发生突增时,运维人员通常需要判断当前事件是否属于临时性需求或长期性变化,并据此采取相应措施。为此,MongoDB 8.0 引入了 query shape(查询形状)的概念,用于定义不同的查询模式。query shape 包括 namespace、集合级别、命令类型及过滤条件,并生成唯一哈希值,便于对高并发场景下的查询行为进行精细化管理。

通过设置操作拒绝过滤器,用户可以阻止特定 query shape 的查询在指定集合中运行,从而防止某些资源消耗较高的查询拖慢整个数据库性能。设置方式为通过 admin 命令获取 query shape 的哈希值,并将其加入 reject 参数列表中,MongoDB 将自动拒绝所有匹配该 query shape 的查询,从而避免资源过度消耗。

此外,8.0 还支持为特定查询或全部查询设置默认的读操作超时时间。此举旨在防止未预期的查询长时间运行,从而影响其他正常业务。设置方式为通过 admin 命令将 default max time 设置为 5 秒,所有读操作在超过该时间后都将被强制终止。另外,还可以为特定 query shape 设置持久化的索引过滤器,该设置是集群级别的,重启后依然生效。设置方法同样是通过 admin 命令指定索引 hint,强制某类查询走特定索引,从而提升查询效率。

3. 数据库扩展

MongoDB 的扩展主要包括垂直扩展和水平扩展两种方式。在 8.0 中,简化了分片架构,使其初始部署成本更低、管理更加灵活。

若某些未分片集合被频繁访问,可能会集中于某一分片(通常是 primary shard),从而形成“热点”。为避免此类问题,MongoDB 8.0 提供了更灵活的迁移策略,允许将未分片集合迁移到任意分片,而不再局限于 primary shard。

在 8.0 中,对重分片性能进行了显著优化,其速度相较 7.0 提升数十倍。这意味着用户可根据业务需求快速调整资源配置,且整个过程完全在线运行,不会中断业务。即使是 TB 级别的数据,也可以在数小时内完成重分片操作,大大提升了扩容效率。

此外,在 8.0 中,config server 不再需要单独配置,可与分片部署在同一硬件环境中,从而降低了分片部署的准入门槛。

4. 安全性增强

8.0 升级了可查询加密功能,并对审计日志格式进行了标准化。可查询加密功能在 7.0 中已初步支持等值查询,而在 8.0 版本中,正在探索对范围查询的支持,以满足金融、医疗等行业对数据安全性的更高要求。

此外,8.0 还支持以标准 OCSF 格式输出审计日志,便于与外部监控系统集成,无需额外开发即可实现日志规范化,节省了与外部系统对接的成本。

5. 向量搜索能力

MongoDB 在向量搜索方面的能力也是当前许多客户关注的重点。不久之后,社区版也将支持向量搜索功能,届时用户可以利用 MongoDB 的向量能力满足 AI 应用的各种需求。MongoDB 的向量搜索基于其核心的文档模型,支持向量索引和向量检索,最常见的应用是 RAG(Retrieval-Augmented Generation)。

以保险理赔为例,用户上传的照片可转化为向量,并嵌入到对应的理赔数据模型中。通过向量索引,可在聚合管道中调用向量搜索功能,利用近似匹配算法召回相似文档。结合大语言模型(LLM)和 RAG 技术,可构建智能客服系统,为用户提供高效服务。


二、MongoDB 8.0 特性解读

目前,阿里云是中国唯一能够提供 MongoDB 最新版本的云厂商。近年来,6.0、7.0、8.0 每个版本都引入了许多新特性,并解决了诸多痛点问题,用户可以在阿里云上率先体验。阿里云与 MongoDB 官方研发团队及 NTSE 团队保持着定期沟通与共建合作,无论是在内核需求还是售后支持方面,均采用最直接和高效的方式推动解决。此外,阿里云还与 PS 专家服务团队合作,对客户进行贴身支持,深入业务场景,帮助用户更专业地使用 MongoDB 数据库。

回顾自 2016 年起的发展历程,随着 MongoDB 官方的不断演进和发布,阿里云也持续推出多种实用功能。始终坚持以用户为中心,满足不同业务场景对内核与云原生管控的各项需求,确保客户使用更加省心和放心。

性能优化

在 8.0 版本的部分新特性中,主从复制优化是一个重要的改进方向。自 4.4 版本以来,MongoDB 一直采用 secondary 主动向 primary 发送请求的方式,而后由 primary 通过流式复制持续发送 oplog 至 secondary,由多线程批量写入。在 8.0 中,对从节点的回放动作进行了拆解,从逻辑上分为了两类线程:writer 线程负责接收主节点同步过来的改动,并将其写入本地的 oplog,然后推送给 applyer 线程;applyer 线程异步回放这些改动,这一批复制才算真正完成。此优化有效提升了从节点在高负载下的复制能力,避免因主备延迟过大而导致从节点进入 recovery 状态。

从 MongoDB 5.0 开始,默认的 read concern 从 one 变为 majority 写,即需等待大多数节点确认成功,虽然增强了可靠性,但也在一定程度上牺牲了高并发下的性能。在 8.0 中,write 操作不再等待从节点完整回放 oplog,而是直接在从节点 writer 线程写入本地 oplog 后就返回,省去了 applyer 线程的复制时间,大幅提高了 majority 写的并发能力。在阿里云 MongoDB 上进行的 YCSB 实测表明,在纯 update 场景下,不同规格的性能均有显著提升,对比 7.0 版本,吞吐量平均提升了 50% 以上。

高负载管理

对于非事务的批量插入操作(如 insert many),8.0 版本优化了其处理方式,内核不再为每条插入的文档生成单独的 oplog,而是将一批插入放入同一个 oplog 中,所有插入的文档在 change stream 事件中拥有相同的 class time。当然,如果插入的文档整体大小超过 16 MB,则会受到 batch size 的限制,退化为单条 log 插入。这一改动有助于减少从节点回放多条 log 导致的复制延迟。

在内存管理方面,MongoDB 8.0 引入了 TCMalloc 的新版本,不再是按线程维度进行缓存,而是改为以 CPU 维度进行缓存。这种改变可以避免在高线程环境下出现缓存分布不均的问题。每个逻辑 CPU 被分配一定大小的内存块,用于保存元数据及指向特定 size class 的可用对象指针。在阿里云上,默认的 TCMalloc release rate 参数设置为 10 MB/s,用户也可根据业务情况在控制台上自定义调整。此外,原先的 tcmalloc_aggressive_memory_commit 参数已不再生效。

在高负载管理方面,MongoDB 8.0 引入了 query hash 的概念,用于标识类似查询的一组特征。该机制包括查询字段、排序字段等内容,通过哈希值进行区分。此前的 query hash 已更名为 plan cache key hash,二者用途相近,均为 16 进制字符串,仅考虑查询结构,而不涉及字段具体值。其中 query shape hash 为 64 位,plan cache key hash 为 8 位,计算方式有所不同。

通过 set quality settings 命令,可针对某一 query hash 进行一系列设定,如拒绝不高效的查询或可能触发全面扫描的查询,从而帮助线上业务快速恢复。该功能实现了服务端限流,可直接拒绝不必要的查询,节省数据库资源。同时,还可通过该命令指定查询应使用的索引,相比之前的 plan cache set filter 方式更为持久化,规则记录在 configure 库下的 cluster parameters 集合中,具备更好的稳定性。

灵活扩展

在分片灵活性方面,8.0 版本取消了一些原有的运维限制,如支持 Move collection 命令,允许未分片集合迁移至任意分片,而非固定于 primary shard。此外,re-sharding 操作也进行了优化,支持 false distribution 选项,可使用相同的分片键重新分片。操作流程大致为:目标分片创建临时集合,用于写入新分布数据,存量数据同步不影响源表写入,直到增量 oplog 被追上。随后,源表 drop 掉,目标分片的临时集合 rename 成目标集合名称,完成 re-sharding。若业务处于停服阶段,可提前使用 commit chat collection 命令加快操作进度。

安全稳定

在安全性方面,8.0 提供了对 4 种范围查询的支持,并在服务端新增了 default_max_time_ms 参数,用于设置单个操作的默认超时时间,与客户端设置的 max_time_ms 效果一致,但客户端优先级更高。DDL 操作也进行了优化,支持同一 db 下不同集合的并发执行。索引构建错误报告速度更快,故障恢复能力更强。同时,云上常用的 compact 命令也被限制,同一时间不允许对同一集合执行多次回收操作。


三、阿里云MongoDB 云原生特性

阿里云MongoDB 8.0 的云原生特性体现了其在高可用、弹性扩展、备份恢复等方面的领先优势。其整体架构基于 ECS 和快存储资源池化进行数据库实例的部署,全生命周期均可在阿里云上进行统一管理,并提供 SLA 高可用保障服务。

可用性增强

在可用性方面,除原生 rafting 副本协议外,阿里云 MongoDB 管控侧还设有独立的高可用组件,可实时探活并在必要时介入,帮助实例快速恢复。同时,机房故障是实际中不可避免的问题,阿里云提供了三可用区部署方案,并针对部分仅有两个可用区的地域,提供非标双可用区部署,进一步提升实例可靠性,保障业务始终在线。

快速弹性

弹性是云服务的重要优势之一。在业务突发高峰或数据快速增长时,阿里云MongoDB 支持计算存储分离的部署方式,计算资源滚动升级对业务影响最小,存储资源在线扩容速度快,极大提升了运维效率和灵活性,并在一定程度上降低了使用成本。

全场景备份恢复

在备份恢复方面,阿里云MongoDB 提供了基于云盘快照的全量备份能力。第二次备份时长仅取决于两次备份之间增量数据的大小,通过数据去重机制,避免了物理或逻辑备份所需较长的时间。高频备份、秒级恢复、异地备份等高级特性亦被支持,适用于各类场景需求。

基于快照备份集,用户可创建新的实例,并根据具体恢复时间点回放增量日志,实现精确到秒级的恢复能力。相比于物理备份,恢复操作耗时大幅缩短。

多粒度回档能力

对于非全量恢复场景,阿里云MongoDB 支持库表行等多粒度恢复。例如,通过集合名过滤 oplog 或指定库表进行物理拷贝后动态加载,库表恢复时间可提升九倍以上。进一步地,按key闪回能力及行级别恢复功能基于存储引擎保留快照历史记录,用户可按分钟级别指定时间点恢复某条文档,操作更加便捷高效。

智能运维

在运维管理方面,阿里云MongoDB 提供了丰富的智能化工具,包括实时监控、审计日志、空间分析等功能,可帮助 DBA 快速定位诸如 CPU 异常、空间碎片、数据分布等问题,提升问题排查与解决效率。在 5.0 及以上版本中,还提供了更加精细的限流能力,支持按照 CRUD 操作类型和集合名的维度对特定操作设置并发度限制,保障核心业务不受新上线业务或突发流量的影响。


四、数据迁移方案

在数据迁移方面,阿里云MongoDB 8.0 推荐使用 DTS 数据传输功能,支持库表结构迁移、全量与增量同步,并在最后阶段提供数据校验,确保数据完整性与安全性。在打通网络的前提下,用户也可使用 Mongodump 或 NimoShake 等工具进行手动迁移。兼容性方面,与 7.0 版本相比,8.0 不存在重大兼容性问题,部分参数和命令有所更新,更多细节可在官方 release note 中查阅。


五、行业应用案例

在多个行业中,阿里云MongoDB 8.0 展现出广泛的应用价值。游戏行业受益于 MongoDB schema free 的特性,为属性、装备、地图等存储提供了极大的便利性。同时,阿里云MongoDB 在业务高峰期也能做到分钟级别响应,支持快速应对访问上涨与数据激增的情况。此外,自动故障转移与容灾能力也为业务连续性提供了有力保障。

车联网领域则是新兴行业中的代表。借助 MongoDB 大分片集群,可支撑海量数据存储与超高并发访问,同时实现数据自均衡。车载传感器、雷达等设备产生的时空数据可存储在 MongoDB 的时间序列集合中,并通过 2dsphere 索引进行查询,一站式解决智慧互联中数据存储与分析难题。理想、宝马、丰田等国内外企业已在阿里云MongoDB 上广泛应用。

内容行业则依赖于对商品与广告信息的高效管理。随着数字内容的爆炸式增长,如何稳定、高效地管理海量数据成为关键。阿里云MongoDB 凭借其多样化存储能力,完美适配了这一需求。虚拟人产品业务也在大模型驱动下不断扩展,阿里云MongoDB 通过高效管理虚拟人的形象参数、联系列表、历史对话内容等数据,为数十亿用户提供良好体验。


六、活动预告

为让更多用户体验阿里云MongoDB 8.0 的强大功能,阿里云面向所有用户开放了 8.0 版本的首月免费试用活动。借此机会,用户可充分体验 MongoDB 8.0 在性能与云原生方面的优化,为自身业务注入新动能。此外,用户可通过扫描二维码填写问卷参与抽奖,有机会获得 MongoDB 定制 T 恤。用户亦可加入钉钉交流群,持续关注产品动态。


结语

综上所述,MongoDB 8.0 在性能、弹性、扩展性和安全性等方面均取得了显著进展。通过此次版本更新,MongoDB 进一步巩固了其作为现代应用基础设施的地位。阿里云MongoDB 则凭借其云原生能力,为用户提供了更稳定、高效、灵活的数据库服务。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
2月前
|
运维 NoSQL Cloud Native
国内独家|阿里云首发MongoDB 8.0,性能提升“快”人一步
阿里云作为MongoDB的最佳战略合作伙伴,在国内独家发布了8.0版本,支撑广大用户进一步提升业务效率。
|
3月前
|
存储 NoSQL MongoDB
枫叶互动携手阿里云和MongoDB:数据赋能音视频娱乐新业态
枫叶互动携手阿里云和MongoDB:数据赋能音视频娱乐新业态
枫叶互动携手阿里云和MongoDB:数据赋能音视频娱乐新业态
|
4月前
|
运维 监控 NoSQL
客户说|莉莉丝《剑与远征:启程》引入阿里云MongoDB,助力游戏高效开发
客户说|莉莉丝《剑与远征:启程》引入阿里云MongoDB,助力游戏高效开发
237 1
|
10月前
|
人工智能 监控 NoSQL
超过1000万企业选择的凭安征信,为什么选择阿里云MongoDB
凭安征信选择使用阿里云的MongoDB服务,既是出于对MongoDB和阿里云5年深度合作经验的信任,也出于对降本增效的进一步诉求。
3922 3
|
6月前
|
人工智能 NoSQL MongoDB
阿里云与MongoDB庆祝合作五周年,展望AI赋能新未来
阿里云与MongoDB庆祝合作五周年,展望AI赋能新未来
|
6月前
|
存储 NoSQL 关系型数据库
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
我们的风控系统引入阿里云数据库MongoDB版后,解决了特征类字段灵活加减的问题,大大提高了开发效率,极大的提升了业务用户体验,获得了非常好的效果
阿里云数据库MongoDB版助力信也科技 打造互联网金融企业样板
|
8月前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
8月前
|
NoSQL 关系型数据库 分布式数据库
凭安征信携手阿里云PolarDB和MongoDB,挖掘信用背后的数据金矿
PolarDB和MongoDB共同支撑凭安征信的全量数据需求
|
8月前
|
NoSQL MongoDB 数据库
使用NimoShake将数据从AWS DynamoDB迁移至阿里云MongoDB
使用NimoShake将数据从AWS DynamoDB迁移至阿里云MongoDB
|
8月前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改

相关产品

  • 云数据库 MongoDB 版
  • 推荐镜像

    更多