TiDB 7.4 发版:正式兼容 MySQL 8.0
作者头像
  • 平乐呀
  • 2023-10-19 00:00:00 3095

近期,企业级开源分布式数据库供应商PingCAP宣布发布TiDB 7.4(DMR)版本,这是TiDB 7系列的最终预览版,专门针对MySQL 8.0进行了优化。这款MySQL的升级版,凭借其先进的技术优势,助力企业应对不断演变的业务数据挑战,促进业务持续增长与创新。TiDB在确保高度兼容MySQL 8.0特性的同时,亦提供稳定的技术支持,确保用户能顺利迁移各类业务应用,大幅减少迁移过程中的人力投入与风险。

TiDB作为新一代分布式关系型数据库,自问世之日起就拥抱MySQL生态,不断兼容MySQL 5.7与8.0版本,为用户提供流畅的迁移与使用体验。其兼容MySQL的语法命令、客户端、驱动程序与部分工具可在TiDB上无缝运行,使得绝大多数基于MySQL的应用程序无需代码修改即可在TiDB上正常运行。

MySQL 8.0在功能上进行了多项增强,如公共表表达式(CTE)、窗口函数、资源管理等功能的加入或优化,以及多值索引和优化查询执行机制的实施,显著提升了性能。随着MySQL 8.0的发布,TiDB在兼容MySQL 5.7的基础上,进一步扩展了对8.0版本的兼容性。以下是TiDB 7.4支持的关键MySQL 8.0特性:

  • 公共表表达式(CTE):从5.1版本开始,TiDB支持ANSI SQL 99标准的CTE及其递归形式,有助于在复杂查询中构建临时结果集,提高编写效率、可读性与执行效率。TiFlash列式存储引擎同样支持CTE。

  • 窗口函数:窗口函数提供了一种以SQL形式处理复杂数据整理工作的方法,如数据分组排序、趋势分析等。TiDB 7.4全面支持MySQL 8.0提供的窗口函数,并大多能下推至TiFlash执行。

  • 资源管理:在多个应用共享同一TiDB集群的场景下,资源隔离能够有效降低应用负载波动对其他应用的影响,解决批量作业和后台任务对核心业务的影响,以及突发SQL性能问题导致的集群整体性能下降。自7.1版本引入资源管理功能以来,TiDB能够合理分配集群资源,提升数据库稳定性,并降低使用成本。TiDB 7.4兼容MySQL指定资源组语法和hint,降低用户学习和迁移成本,同时增强对关键I/O资源的管控效果。

  • 基于角色的权限管理:TiDB 7.4支持MySQL兼容的角色管理,简化权限管理,降低错误风险。通过将权限与角色关联,更易于控制数据库访问,用户可根据场景创建角色,并将角色授予数据库用户,后者在操作时根据场景切换角色,降低误操作风险。

  • 增强的utf8mb4字符集:MySQL 8.0默认字符集变更为更通用的utf8mb4,排序方式调整为utf8mb40900aici。TiDB 7.4也引入了该排序方式,便于系统迁移。同时,TiDB支持MySQL兼容的变量defaultcollationforutf8mb4,允许用户自定义utf8mb4字符集的默认排序方式,确保了在不同MySQL版本间的平滑过渡,适应不同应用需求。

  • JSON多值索引:TiDB 7.4支持JSON多值索引,允许对JSON类型中的特定数组进行索引,提高JSON数据检索效率,与MySQL用法一致,迁移过程中无需调整数据模型或应用。

  • SETVAR()函数:MySQL 8.0引入了特殊hint SETVAR(),允许在语句执行期间修改会话级系统变量。TiDB 7.4支持此功能,增强了系统变量设置的灵活性,针对SQL语句实现“定制”。

  • CHECK约束:TiDB 7.4增加了MySQL 8.0中全面支持的CHECK约束功能,用于限制表中字段值满足特定条件。启用此功能可通过变量tidbenablecheck_constraint手动实现。

为了简化用户数据迁移流程,TiDB推出TiDB Data Migration (DM)工具,支持从与MySQL协议兼容的数据库(包括MySQL、MariaDB、Aurora MySQL)全量数据迁移至TiDB,同时提供增量数据同步功能。DM支持DDL同步、分库分表合并,并内置多种过滤器,以适应不同迁移场景,有效提升数据迁移效率。

    本文来源:图灵汇
责任编辑: : 平乐呀
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
兼容正式MySQLTiDB8.07.4
    下一篇