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 升级的一些最佳实践,而不是给出过于技术化的 MongoDB 升级指南,无论您是由于 4.4 EOL 而激励还是希望利用 7.0 中的最新特性。如果您正在寻找更多技术化、步骤详细的演练,可以观看最佳实践 - 升级到 MongoDB 4.4。
虽然常被忽视,但对现有设置进行全面评估对于最大限度地降低风险和停机时间,并实现顺利、成功的升级至关重要。
这可能看起来显而易见,但首先要识别您正在使用的 MongoDB 版本。知道您当前的版本对于确定您现有设置与最新版本之间的差距以及选择适当的升级路径都非常重要。
接下来,评估您的资源和硬件。例如,您当前的服务器在 CPU、内存和存储容量方面是否足以高效处理新版本?从长远来看,新设置是否能满足您未来的工作负载和扩展需求?
然后,了解您如何使用 MongoDB。它主要用于事务数据?分析查询?游戏应用程序?不同版本的 MongoDB 可能更适合特定的用例,因此评估新目标版本是否与数据库的预期用途一致至关重要。
最后,在进行升级之前,对当前数据执行彻底备份。这不仅包括数据库的内容,还包括您的应用程序数据、自定义设置、复制配置、索引和安全设置。Percona Backup for MongoDB 是一个开源社区备份工具,可帮助您备份所有这些数据。
在生产环境中实施升级之前,极其重要的是要创建一个单独的沙箱或准生产环境来模拟您的生产设置。您的目标是识别转换期间可能出现的任何问题、冲突或意外行为。这使您可以在一个安全可控的环境中捕获潜在问题,并尽量避免长时间的意外停机时间。
您可以做所有的准备工作,但不可预见的困难还是会发生。尽量找有升级经验的人来帮助您,无论他们是您的员工还是顾问。至少,如果确实出了问题,十分关键的是要有办法回滚到数据库的上一个版本。
一个全面的 MongoDB 回滚计划通常包括:
MongoDB的稳定版本经过了广泛的测试,被认为是可用于生产的,而那些还在开发中的版本可能还没有完全准备好面向大众。您在这些版本之间的选择应该由您组织的风险承受能力和升级的具体目标来指导。
虽然升级过程将因具体环境而异,但基本 MongoDB 升级的一般推荐路径是:
最好是以缓慢稳定的方式进行升级过程。从您当前的版本逐步升级到每个主要版本,直到达到预期的版本。例如,如果您使用的是 4.4,那么该过程看起来应该是 4.4.1+ 升级到 5.0,再升级到 6.0,最后升级到 7.0。不要从 4.4 跳到 7.0。
完成升级后,进行一些升级后测试和优化,以确保新的 MongoDB 数据库正如预期那样运行。我们将在下一篇文章中讨论这一点。