Oracle将于2023年10月31日结束对其开发的开源关系型数据库MySQL 5.7的支持。MySQL 5.7版本于2015年发布,并且Oracle仍提供扩展支持。
即将到来的终止支持日期意味着Oracle将不再为这个版本的数据库提供更新,该版本被许多硅谷最大的公司广泛用于基于Web的应用程序。组织机构可以继续使用这个解决方案,使用的时间长短由他们自己决定。
Oracle支持即将结束的时间紧迫,使得MySQL 8.0重新引起了关注,该版本最初发布于五年前。目前,Oracle为这个版本提供首选支持和扩展支持,分别到2025年和2026年到期。
MySQL 8.0提供了许多升级,其中一些更为引人注目的改进包括正式的数据字典和更强大的JSON功能。还有一些机制可以帮助组织了解和处理升级到特定数据库版本所需的要求。
MySQL Shell包含用于帮助用户迁移到MySQL 8.0的功能。据Percona Technology Evangelist Dave Stokes总结说:“如果你运行MySQL Shell,有一个叫做Check For Server Upgrade的实用工具,它会运行21或23个不同的检查。”这些检查评估了与升级到MySQL 8.0相关的一系列因素,包括分区问题和过时字符集等等。
除了检查当前版本需要更新的方面之外,该功能还提供及时的建议,以使升级过程更加顺利。Stokes评论道:“它不会为你修复问题,你必须自己解决。它会告诉你如何解决这个问题,或者提供帮助你解决这个问题的手册页所在位置。”
采用MySQL 8.0的一个直接好处是其数据字典,它将有关该数据库的元数据集中存储在一个单一的中心位置。在数据库的以前版本中,这些元数据散布在各个地方的不同文件中。Stokes指出:“如果你有一个初级管理员看到所有这些小文件并决定清理它们,那么数据库就会突然停止工作。”将这些元数据集中存储可以提高操作效率,并增强系统性能。
首先,它使得在一个查询中获得有关表结构和模式的具体信息成为可能。如果没有这个功能,要获取相同的信息,Stokes表示:“对于5.7版本,你实际上要打开一个表,查看表的定义。你要打开文件,阅读文件,然后看看它,弄清楚如何以某种方式解析它并处理它,如果我想使用这个信息的话。”而8.0的查询方法可以自动化和加速这样的手动处理,以及涉及正则表达式的其他处理。
MySQL 8.0提供的JSON增强功能特别有用,扩展了Stokes所称的“选择的数据交换格式”的价值。一方面,有一个JSON表函数,可以使用户将非结构化和半结构化数据以JSON对象的形式暂时放置到表中。这样,组织机构可以通过SQL技术(如“窗口函数、聚合函数、排序、分组等等”)轻松查询这些数据。在这种情况下,实际的JSON数据将保持非结构化(或半结构化),而其副本则是结构化的。
另外,最新版本的MySQL有方法可以“将这些非结构化的数据实体化到自己的列中,并使其永久结构化”,Stokes透露道。他说:“所以,如果你有一些数据并且想使其永久结构化,以便可以对其进行索引并使搜索更快,你是可以做到的。”这些功能对于处理组织经常遇到的大量非结构化数据至关重要。根据Stokes的说法,这也与处理以JSON格式排列的所有数据相关,这些数据涵盖了从微小的物联网设备到一些世界上最大的数据库的各种内容。
从MySQL 5.7升级到MySQL 8.0是一个合理的进展。后者版本中有许多改进,如数据字典和JSON改进,使得进行升级变得值得。此外,还有专门的机制来简化升级过程,并准确指出组织机构需要做什么来使这个过渡顺利进行。




