一、mongodb7.0更新
MongoDB 7.0 版本是一个重大更新,以下是一些关键的更新内容:
- 性能提升:在WT引擎层面对
compact
命令进行了优化,大幅提升了性能,降低了执行期间受eviction压力而失败的概率。 - 分片键分析:从7.0版本开始,MongoDB支持基于采样查询的结果来分析集合的分片键是否合理,帮助设计更优的Schema以及分片键。
- 可查询加密(Queryable Encryption):7.0版本引入了可查询加密,确保敏感数据在传输、静止、使用、日志和备份中都是加密的,只在客户端解密,提供了强大的数据安全保障。
- 元数据一致性检查:7.0版本能够在数据库维护或异常结束后主动发现潜在的元数据/索引不一致风险。
- ChangeStream支持超大变更事件:新增了
$changeStreamSplitLargeEvent
算子,支持对超过16 MB的超大变更事件进行切分,解决了之前版本中ChangeStream无法支持超大变更事件的问题。 - WT引擎动态限流:7.0版本自动动态调整WT存储引擎的事务并发度,缓解了数据库异常后因请求堆积而导致的问题。
- 开发简化:增强了查询语言,包括操作符、变量和索引,允许在MongoDB中直接执行多种数值运算和高性能查询,提升工作效率。
- 简化迁移:使迁移和系统间的数据同步变得更简单,帮助从传统关系型数据库业务负载转移到MongoDB。
- 安全性:MongoDB 7.0作为能够快速实施可搜索加密方案的领先平台,允许在加密资料不解密的情况下进行查询。
- 备份和恢复功能改进:确保数据安全,并驱动数据备份和恢复功能的改进。
二、mongodb6.0更新
MongoDB 6.0 版本是一个主要的更新,以下是一些重要的更新内容:
- 时序集合增强:MongoDB 6.0 在时序集合方面进行了增强,包括引入了二级和复合索引以提高读取性能,以及对时序数据的地理位置索引支持,使得开发人员可以更好地分析涉及距离和位置的场景。
- Change Stream增强:Change Stream 功能得到了重大更新,包括支持变更的前后视图(pre-image和post-image),支持更多的DDL操作,性能提升,以及新增了wallTime字段。
- 可查询加密(Queryable Encryption):这是一个新的功能,允许用户从客户端加密敏感数据,并在数据库服务器端以加密形式存储和查询这些数据,提供了强大的数据隐私保护能力。
- 聚合功能增强:MongoDB 6.0 在聚合功能上进行了深耕,包括改进了
$lookup
和$graphLookup
操作符,以及新增了一些查询操作符如$maxN
、$topN
、$minN
、$bottomN
、$lastN
和$sortArray
等。 - 集群同步(Cluster-to-Cluster Sync):MongoDB 6.0 引入了新的同步工具
mongosync
,支持跨实例数据同步,允许用户实时控制和监控整个同步过程。 - 安全性:MongoDB 6.0 在安全性方面进行了增强,客户端字段级加密(CSFLE)功能支持了更多密钥管理提供商,增强了数据安全性。
- 弹性:MongoDB 6.0 调整了数据块(Chunk)的默认大小,并支持自动整理分片集合的磁盘空间碎片,提高了系统的弹性和效率。
- 兼容性和升级:MongoDB 6.0 是与 MongoDB Atlas 和本地部署都支持的主要版本,包括了先前快速发布版本中的更改,并提供了详细的升级说明和兼容性信息。
三、mongodb5.0更新
MongoDB 5.0 引入的新功能和改进,以下是一些主要的更新内容:
- 时序集合(Time-Series Collections):MongoDB 5.0 引入了对时序数据的原生支持,允许用户更高效地存储和查询时间序列数据。时序集合针对时间序列数据做了特定的优化,可以提高查询效率并减少数据和索引的磁盘使用量。
- 修改了默认的写参数:MongoDB 5.0 将默认的写关注(write concern)从
{w:1}
改为了{w:"majority"}
,这意味着写入操作需要被大多数节点确认后才返回成功,从而提供了更强的数据一致性保证。 - 动态修改分片键(Dynamic Resharding):5.0 版本提供了
reshardCollection
命令,允许用户在线修改集合的分片键,而不需要停机或使用复杂的迁移工具。 - 快照读(Snapshot Reads):新版本增强了快照读功能,允许在普通的
find
、aggregate
和distinct
命令中使用快照读参数,提高了事务性支持。 - isMaster 命令重命名:
isMaster
命令被hello
命令替代,这可能会影响到依赖isMaster
命令进行自动发现的客户端。 - Change Streams 新增事件:Change Streams 功能新增了
truncatedArrays
事件,记录对数组的截断操作,增强了对数据变更的捕捉能力。 - MongoDB Shell 项目废弃:新的 MongoDB 命令行客户端
mongosh
成为默认客户端,MongoDB Shell
将停止支持。 - 读性能提升:新版本不再受独占锁的影响,提升了特定场景下的读性能。
- 聚合查询功能增加:提供了额外的聚合操作符,如
setWindowFields
,允许在窗口中进行计算。 - 升级须知:5.0 版本包含一些对旧版本不兼容的特性,需要通过
featureCompatibilityVersion
参数进行设置。
四、mongodb4.0更新
MongoDB 4.0 版本引入的新特性和改进,主要包括:
- 事务支持:MongoDB 4.0 引入了多文档事务的支持,允许在单个操作中包含多个文档的读写,这对于需要原子性操作的应用程序非常有用。
- 聚合管道的增强:新增了多个聚合管道操作符,增强了数据处理能力。
- 更新的索引:MongoDB 4.0 引入了新的索引类型和索引管理的改进,包括对现有索引的增强和新的索引选项,以提高查询性能。
- WiredTiger存储引擎的改进:提供了对WiredTiger存储引擎的多项改进,包括对压缩、内存使用和写入路径的优化。
- 更好的分片支持:增强了分片集群的配置和管理,包括对chunk大小和分布的改进。
- 安全性的增强:MongoDB 4.0 增加了对安全特性的支持,如对TLS/SSL协议的改进,以及对用户认证和授权的加强。
- 对JSON Schema的支持:MongoDB 4.0 开始支持JSON Schema,允许用户定义数据结构和验证规则,以确保数据的一致性和正确性。
- 改进的查询优化器:MongoDB 4.0 对查询优化器进行了改进,以提供更高效的查询计划和更好的性能。
- TTL索引的改进:引入了对TTL(Time-To-Live)索引的改进,允许自动清理过期数据。
- 对Windows平台的支持:MongoDB 4.0 改善了对Windows平台的支持,包括对Windows服务的改进。
延展阅读:
Mongo性能优化实战:如何通过WiredTiger引擎提升MongoDB的性能和数据安全性
为什么PHP在近年来逐渐失去了领先地位,而GoLang却迅速崛起?
ClickHouse还是Doris?如何选择适合的实时分析数据库?
如何利用KtConnect简化Kubernetes开发调试?
咨询方案 获取更多方案详情