MongoDB 4.4和5.0行将中止保护,是时分晋级数据库软件了。下面简述晋级的方法。
译自How to Plan Your MongoDB Upgrade,作者 Jan Wieremjewicz 是 Percona 的高级产品经理,领导 MongoDB 和 PostgreSQL 的产品。他在开发、布置和保护企业体系方面拥有丰厚的经历。在专业方面,他热衷于简单的处理方案,以处理杂乱的问题和用户体会。
MongoDB 4.4 将在 2024 年 2 月完毕生命周期(EOL),MongoDB 5.0 将在 8 月参加它。假如这还不足以鼓励您开端规划 MongoDB 晋级,还要考虑晋级有助于消除过时软件或许带来的安全和合规危险,并供给可提高数据库功用、安全性和可伸缩性的功用。
以下是较新版别 MongoDB 中的一些新功用,或许会促进您决议尽早晋级。
MongoDB 5.x
- 数据库的动态分片功用答应用户跟着作业负载和数据库的开展改动分片键,而无需停机。
- 对时刻序列调集进行分片能够增强可伸缩性和功用。
- MongoDB 5.3 引入了集群调集,它依据相关的集群索引键存储数据。这在特定次序很重要的分析查询中,将查询功用置于写入速度之上。
MongoDB 6.x
- 时刻序列调集中的辅助和复合索引能够提高读功用,并启用新的用例,例如地舆索引。
- 增强的改变数据流答应用户拜访已修正文档的先前和当时状况,以促进下游文档更新等使命并引用已删去的文档。这也支撑数据界说言语(DDL)操作,例如创立或删去调集和索引。
- 办理员能够在将审计事件存储到磁盘之前运用契合密钥办理互操作性协议(KMIP)的密钥办理体系对其进行压缩和加密。
MongoDB 7.x
- 修正时刻序列数据的能力可增加灵活性和控制力。
- 新的聚合管道操作符和变量可完结杂乱的数据转化。
- 通配符索引可改进查询功用,完结更快的搜索。
- 可查询加密可在答应查询加密数据的一起保护数据保密性。
我将要点介绍适用于任何 MongoDB 晋级的一些最佳实践,而不是给出过于技能化的 MongoDB 晋级指南,不管您是因为 4.4 EOL 而鼓励仍是希望运用 7.0 中的最新特性。假如您正在寻觅更多技能化、过程详细的演练,能够观看最佳实践 – 晋级到 MongoDB 4.4。
1. 评估您当时的环境
虽然常被忽视,但对现有设置进行全面评估关于最大极限地下降危险和停机时刻,并完结顺畅、成功的晋级至关重要。
这或许看起来显而易见,但首要要辨认您正在运用的 MongoDB 版别。知道您当时的版别关于确认您现有设置与最新版别之间的差距以及挑选恰当的晋级路径都非常重要。
接下来,评估您的资源和硬件。例如,您当时的服务器在 CPU、内存和存储容量方面是否足以高效处理新版别?从长远来看,新设置是否能满足您未来的作业负载和扩展需求?
然后,了解您怎么运用 MongoDB。它首要用于业务数据?分析查询?游戏应用程序?不同版别的 MongoDB 或许更适合特定的用例,因此评估新方针版别是否与数据库的预期用处一致至关重要。
最终,在进行晋级之前,对当时数据执行彻底备份。这不仅包含数据库的内容,还包含您的应用程序数据、自界说设置、仿制装备、索引和安全设置。Percona Backup for MongoDB是一个开源社区备份东西,可帮助您备份一切这些数据。
2. 测验,再测验,再测验
在出产环境中实施晋级之前,极其重要的是要创立一个单独的沙箱或准出产环境来模拟您的出产设置。您的方针是辨认转化期间或许呈现的任何问题、抵触或意外行为。这使您能够在一个安全可控的环境中捕获潜在问题,并尽量避免长时刻的意外停机时刻。
3. 拟定回滚方案,以防不测
您能够做一切的准备作业,但不行预见的困难仍是会产生。尽量找有晋级经历的人来帮助您,不管他们是您的职工仍是顾问。至少,假如确实出了问题,非常关键的是要有办法回滚到数据库的上一个版别。
一个全面的 MongoDB 回滚方案一般包含:
- 对数据和装备进行备份。
- 记录当时状况。
- 向关键利益相关者传达您的方案。
- 确认您的回滚触发器。
- 创立详细的、记录了的回滚进程。
- 监控您的环境。
- 分析和了解晋级中出了什么问题。
4. 决议运用稳定版别仍是开发版别
MongoDB的稳定版别经过了广泛的测验,被认为是可用于出产的,而那些还在开发中的版别或许还没有彻底准备好面向大众。您在这些版别之间的挑选应该由您组织的危险承受能力和晋级的详细方针来辅导。
5. 确认您的晋级过程和路径
虽然晋级进程将因详细环境而异,但根本 MongoDB 晋级的一般引荐路径是:
- 进行备份。
- 下载新二进制文件。
- 将特性兼容值(FCV)设置为当时/以前的版别。
- 按照您的体系类型,以滚动方法以正确的次序关闭 Mongo 进程。
- 用新二进制文件替换您当时的二进制文件。
- 运用您的体系类型所需的滚动方法,以正确的次序启动 Mongo 进程。
- 等待24-48小时(取决于您的数据库),以保证没有问题。
- 将 FCV 设置为新版别。
最好是以缓慢稳定的方法进行晋级进程。从您当时的版别逐步晋级到每个首要版别,直到到达预期的版别。例如,假如您运用的是 4.4,那么该进程看起来应该是4.4.1 晋级到 5.0,再晋级到 6.0,最终晋级到 7.0。不要从 4.4 跳到 7.0。
后续过程
完结晋级后,进行一些晋级后测验和优化,以保证新的 MongoDB 数据库正如预期那样运转。咱们将在下一篇文章中评论这一点。
假如您需要协助 MongoDB 晋级,Percona 能够帮助您拟定个性化的晋级方案。咱们的专家将帮助您晋级 MongoDB,自动辨认和缓解晋级周期及之后或许呈现的障碍、不兼容问题和潜在的功用问题。
本文在如此众生(yylives.cc/)首发,欢迎我们拜访。