首页>软件资讯>常见问题

常见问题

MongoDB发展历史及各主要版本新特性概述

发布时间:2025-04-29 13:30:22人气:31


  前言


  随着大数据时代的到来,数据模型设计已成为构建高效、可扩展数据库系统的关键。而MongoDB作为最受欢迎的NoSQL数据库之一(在本月的db-engines排行榜上排名第5,文

档型数据库中排名第一),因其灵活性和高性能而被广泛应用于各种企业级应用。然而,如何设计一个符合业务需求、同时又能充分发挥MongoDB特性的数据模型,却往往是许多技术人员面临的挑战。

MongoDB数据.png

  正文


  MongoDB是一款强大的、灵活的、易于扩展的通用数据库,广泛应用于各种现代应用程序中。从最初2007年的1.0版本到今年10月份发布的最新的8.0.3版本,MongoDB不断发展,引入了许多重要的新特性和优化。MongoDB起源于2007年,当时由DwightMerriman,EliotHorowitz和KevinRyan共同创立的10gen公司推出的一种新的数据库解决方案。10gen公司于2013年2月更改名称为MongoDBInc.,目前已着重发展和改进MongoDB系统。


  在讲述发展历史之前呢,这里插播一个MongoDB数据建模的抽奖送书活动:


  《MongoDB数据建模和模式设计》为数据建模开启全新视角(送书福利)


  另外还有一个分布式中间件的抽奖送书活动:


  什么是ShardingSphere(文末福利)


  以下是MongoDB的发展历史及各主要版本的新特性概述。


  发展历史


  1.早期版本(2009-2012)


  2009年:MongoDB1.0版本发布,标志着MongoDB正式进入市场。


  2010年:MongoDB1.6版本引入了分片(Sharding)功能,支持水平扩展。


  2011年:MongoDB2.0版本发布,引入了GridFS文件存储系统和更强大的聚合框架。


  2012年:MongoDB2.2版本引入了AggregationFramework,提供了更强大的数据处理能力。


  2.成熟期(2013-2016)


  2013年:MongoDB2.4版本引入了文本搜索功能,支持全文搜索。


  2014年:MongoDB2.6版本引入了WiredTiger存储引擎,显著提升了性能和可扩展性。


  2015年:MongoDB3.0版本发布,引入了WiredTiger存储引擎的全面支持,提升了事务处理能力和性能。


  2016年:MongoDB3.2版本引入了ChangeStreams,支持实时数据流处理。


  3.增强期(2017-2020)


  2017年:MongoDB3.4版本引入了多文档事务支持,进一步增强了数据一致性。


  2018年:MongoDB3.6版本引入了Sessions和CausalConsistency,支持更复杂的事务处理。


  2019年:MongoDB4.0版本发布,全面支持多文档事务,实现了从NoSQL到NewSQL的跨越。


  2020年:MongoDB4.2版本引入了分布式事务、字段级加密、可重试读等重要特性。


  4.创新期(2021-至今)


  2021年:MongoDB5.0版本发布,引入了原生时间序列数据平台、在线重新分片、版本化API等新特性。


  2022年:MongoDB6.0版本发布,引入了可查询加密、集群同步、时序集合等新特性。


  2023年:MongoDB7.0版本发布,引入了分片元数据一致性校验、采样查询与分析分片键、自动合并等新特性。


  2024年:MongoDB8.0版本发布,走向融合,支持向量搜索、时间序列、全文搜索、实时分析、流式处理、OLTP等等。


  主要版本新特性


  MongoDB4.2


  分布式事务:采用二段提交方式,保证分片集群事务的ACID特性。


  字段级加密:驱动层面支持字段级加密,提升业务灵活性和安全性。


  可重试读:提供弱网环境下自动重试能力,保证业务连续性。


  通配符索引:支持创建通配符索引,覆盖一个文档下的多个特征字段,管理更方便,使用更灵活。


  物化视图:通过最新的物化视图可以缓存计算结果,避免每次重复计算,提升运行效率,减少逻辑复杂度。


  MongoDB5.0


  原生时间序列数据平台:支持时序数据,提供时间序列集合、集群索引等能力,扩展了MongoDB在物联网、金融行业、监控系统、日志解析、财务分析等业务场景的应用。


  在线数据重新分片:支持在业务运行的情况下,通过reshardCollection命令按需更改集合的分片键,整个过程无需停机或进行复杂的迁移。


  版本化API:定义了应用程序最常用的一组命令和参数,确保应用程序在数据库版本升级时的兼容性。


  新版MongoDBShell:重新设计了MongoDBShell,引入了语法高亮、智能自助上下文帮助和有用的错误信息,提供了一个更现代化的命令行体验。


  WriteConcern策略默认值调整:默认为w=majority,增强数据的可靠性。


  MongoDB6.0


  可查询加密:支持对特定字段进行加密,确保敏感数据的安全性。


  集群同步:支持跨集群的数据同步,提升数据冗余和高可用性。


  时序集合:进一步优化了时序数据的处理能力,提供更高效的存储和查询。


  变更流:增强变更流功能,支持更复杂的实时数据处理场景。


  聚合:引入了新的聚合运算符和功能,提升数据处理能力。


  MongoDB7.0


  支持分片元数据一致性校验:确保分片元数据的一致性,提升系统的可靠性和稳定性。


  支持采样查询与分析分片键:提供采样查询功能,帮助用户分析和优化分片键。


  自动合并:自动合并分片,简化管理和维护。


  优化项:包括安全性、聚合、时序集合、分片等方面的优化,提升整体性能和用户体验。


  MongoDB8.0


  走向融合,支持向量搜索、时间序列、全文搜索、实时分析、流式处理、OLTP等等,更多新特性请查看官方文档https://www.mongodb.com/zh-cn/docs/manual/release-notes/8.0/


  注意:从MongoDB8.0开始,新的MongoDBServer版本(主要版本和次要版本)支持操作系统(OS)供应商定义的最低操作系统次要版本。当操作系统供应商不再支持某个操作系统次要版本之后,MongoDB会更新MongoDBServer,以支持下一个操作系统次要版本。


  MongoDB8.0支持以下最低操作系统次要版本:


  RedHatEnterpriseLinux8.8


  RedHatEnterpriseLinux9.3


  SUSELinuxEnterpriseServer15SP5


  AmazonLinux2023版本2023.3


  MongoDB版本控制


  MongoDB版本控制采用X.Y.Z形式,其中的X.Y是指版本系列,Z是指补丁号。


  从MongoDB5.0开始,MongoDB以两个不同的版本系列形式发布:


  主要发布版本


  快速发布


  对于MongoDB4.4及之前版本,MongoDB使用生产/开发版本控制系统。请参阅历史版本。


  主要发布版本


  主要版本大约每年发布一次,会引入新功能和相关改进。MongoDBAtlas和本地部署支持主要版本。


  示例版本:


  5.0


  6.0


  快速发布


  快速发布版本大约每季度发布一次,它不包含主要版本,会引入新的功能和改进。只有MongoDBAtlas支持快速发布,本地部署不支持。


  快速发布版本不可与MongoDBOpsManager一起使用。


  示例版本:


  5.1


  5.2


  5.3


  补丁版本


  主要版本和快速发布版本均可根据需要提供补丁版本。补丁版本通常包括错误修复和细微改进。


  示例版本:


  5.0.1(主要发布版本的补丁版本)


  5.2.1(快速发布补丁版本)


  发布候选(RC)版本


  在新的主要版本和快速发布之前,候选发布版本可供早期测试。候选发布版本代表即将发布的版本,其稳定性足以开始测试,但不适合用于生产部署。


  示例版本:


  5.0.0-rc0


  5.0.0-rc1


  5.1.2-rc5


  驱动程序版本


  MongoDB的版本编号系统与MongoDB驱动程序使用的系统不同。


  MongoDBShell(mongosh)


  从MongoDB5.0开始,MongoDBShell(mongosh)与MongoDBServer分开发布,并使用自己的版本编号系统。


  DatabaseTools


  MongoDBDatabaseTools与MongoDBServer分开发布,并使用自己的版本编号系统。


  历史版本


  对于MongoDB4.4及更早版本,MongoDB版本控制使用生产/开发版本控制方案,并采用X.Y.Z形式;其中X.Y指代版本系列或开发系列,而Z则指补丁版本号。


  如果Y为偶数,则X.Y指的是版本系列;例如,4.2版本系列和4.4版本系列。发布系列稳定,适合生产。


  如果Y是奇数,则X.Y表示开发系列;例如,4.3开发系列和4.5开发系列。开发系列仅用于测试环境,不用于生产环境。


  例如,在MongoDB4.4.7版本中,4.4是指版本系列,而.7是指补丁版本。


  另见:Redhat7.7安装最新版MongoDB5.0.1手册


  MongoDB备份恢复


上一条:腾讯云与MongoDB战略合作升级,瞄准AI时代的数据管理服务

下一条:购软平台是mongodb供应商