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

科技   2024-11-10 22:55   北京  
作者 | JiekeXu
来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)
大家好,我是 JiekeXu,江湖人称“强哥”,荣获 Oracle ACE Pro 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle OCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA、PCTA、OBCA、OGCA、KCP 等众多国产数据库认证证书,今天和大家一起来看看MongoDB 发展历史及各主要版本新特性概述,欢迎点击最上方蓝字“JiekeXu DBA之路”关注我的微信公众号,然后点击右上方三个点“设为星标”置顶,更多干货文章才能第一时间推送,谢谢!

前  言

随着大数据时代的到来,数据模型设计已成为构建高效、可扩展数据库系统的关键。而 MongoDB 作为最受欢迎的 NoSQL 数据库之一(在本月的 db-engines 排行榜上排名第 5,文档型数据库中排名第一),因其灵活性和高性能而被广泛应用于各种企业级应用。然而,如何设计一个符合业务需求、同时又能充分发挥 MongoDB 特性的数据模型,却往往是许多技术人员面临的挑战。

https://db-engines.com/en/ranking

正  文

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

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

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

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

什么是 ShardingSphere(文末福利)

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

发展历史

1. 早期版本(2009-2012)

  • 2009年:MongoDB 1.0 版本发布,标志着 MongoDB 正式进入市场。

  • 2010年:MongoDB 1.6 版本引入了分片(Sharding)功能,支持水平扩展。

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

  • 2012年:MongoDB 2.2 版本引入了 Aggregation Framework,提供了更强大的数据处理能力。

2. 成熟期(2013-2016)

  • 2013年:MongoDB 2.4 版本引入了文本搜索功能,支持全文搜索。

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

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

  • 2016年:MongoDB 3.2 版本引入了 Change Streams,支持实时数据流处理。

3. 增强期(2017-2020)

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

  • 2018年:MongoDB 3.6 版本引入了 Sessions 和 Causal Consistency,支持更复杂的事务处理。

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

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

4. 创新期(2021-至今)

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

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

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

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


主要版本新特性

MongoDB 4.2

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

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

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

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

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

MongoDB 5.0

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

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

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

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

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

MongoDB 6.0

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

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

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

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

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

MongoDB 7.0

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

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

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

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

MongoDB 8.0

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

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

MongoDB 8.0 支持以下最低操作系统次要版本:

  • Red Hat Enterprise Linux 8.8

  • Red Hat Enterprise Linux 9.3

  • SUSE Linux Enterprise Server 15 SP5

  • Amazon Linux 2023 版本 2023.3


MongoDB 版本控制

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

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

  • 主要发布版本

  • 快速发布

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

主要发布版本

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

示例版本:

  • 5.0

  • 6.0

快速发布

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

快速发布版本不可与 MongoDB Ops Manager 一起使用。

示例版本:

  • 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 驱动程序使用的系统不同。

MongoDB Shell (mongosh)

从 MongoDB 5.0 开始,MongoDB Shell (mongosh) 与 MongoDB Server 分开发布,并使用自己的版本编号系统。

Database Tools

MongoDB Database Tools 与 MongoDB Server 分开发布,并使用自己的版本编号系统。

历史版本

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

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

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

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

另见:Redhat 7.7 安装最新版 MongoDB 5.0.1 手册

MongoDB 备份恢复

全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~



分享几个数据库备份脚本

一文搞懂 Oracle 统计信息

我的 Oracle ACE 心路历程

MOP 系列|MOP 三种主流数据库索引简介

Oracle 主流版本不同架构下的静默安装指南

关机重启导致 ASM 磁盘丢失数据库无法启动

Oracle SQL 性能分析(SPA)原理与实战演练

Oracle 11g 升级到 19c 需要关注的几个问题

Windows 10 环境下 MySQL 8.0.33 安装指南

SQL 大全(四)|数据库迁移升级时常用 SQL 语句

OGG|使用 OGG19c 迁移 Oracle11g 到 19C(第二版)

Oracle 大数据量导出工具——sqluldr2 的安装与使用

Oracle ACE 视角下的国产数据库现状与选型及应对策略

从国产数据库调研报告中你都能了解哪些信息及我的总结建议

使用数据泵利用 rowid 分片导出导入 lob 大表及最佳实践

在归档模式下直接 rm dbf 数据文件并重启数据库还有救吗?

欢迎关注我的公众号【JiekeXu DBA之路】,一起学习新知识!
——————————————————————————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347

CSDN :https://blog.csdn.net/JiekeXu
ITPUB:https://blog.itpub.net/69968215
腾讯云:https://cloud.tencent.com/developer/user/5645107——————————————————————————


JiekeXu DBA之路
JiekeXu:Oracle ACE-Pro,获 Oracle OCP/OCM 及 MySQL OCP 认证,墨天轮 MVP,利用闲时间记录菜鸟 DBA 学习成长之路,所发布文字属于个人观点和学习笔记,如有错误及不当之处,敬请批评指正!
 最新文章