近日,MySQL 5.7停服事件引发广泛关注。MySQL目前已经成为中国用户使用非常广泛的数据库,其中5.7版本的用户比重又是最高的。随着信息技术应用创新深入各行各业,国产数据库对MySQL的平滑替换成为大势所趋。

作为数据库领域国家队,人大金仓以服务用户为中心,率先加大对MySQL兼容性开发,目前对MySQL常用功能的兼容性已达到90%以上。此外KingbaseES对MySQL的兼容性,已从功能兼容阶段过渡到强性能兼容、生态全面兼容阶段,做到在迁移过程中对上层应用透明,实现低成本、低难度、低风险的平滑迁移。

灵活扩展的兼容架构

KingbaseES在产品架构上采用可插拔式的体系架构,可灵活扩展,兼容多种生态,兼容商业和开源的外部接口协议,能够支撑更多核心能力。

KingbaseES支持通过控制参数“initdb -m”切换兼容模式,可将数据库设置为兼容MySQL模式。

全面完备的兼容能力

KingbaseES以内核兼容为基础,通过初始化参数控制,兼容MySQL 数据库,在该模式下支持MySQL常用功能,兼容程度达90%以上。

数据类型兼容

数据迁移中,数据类型的兼容性作为最重要的一环,KingbaseES不仅兼容MySQL所有常见数据类型,还支持MySQL独有的year类型、interval类型的复杂语法。

此外,KingbaseES还兼容enum类型、set类型,应用中使用该类型,可以减少字段的数量,减少存储空间和成本,在查询时利用缓存技术和索引能力提升查询效率。这两个类型还提供强大的数据约束,保证数据的规范性和一致性,减少数据错误的可能性。

函数和操作符兼容

数据库应用常用的MySQL函数和操作符,KingbaseES实现全部兼容。对于操作符,MySQL特殊的DIV、MOD、<=>,以及逻辑操作符KingbaseES都支持。对于常见函数,尤其是MySQL特有的日期时间函数,JSON函数达到全部覆盖。

KingbaseES的JSON数据类型允许存储复杂的结构化数据,包括键值对、数组和嵌套对象。KingbaseES提供全面的JSON数据库处理函数,不仅全面兼容MySQL的函数语法,还扩展了更丰富语法功能,这使得JSON在存储和处理复杂数据方面更加灵活。

SQL语句兼容

SQL语句方面,对常用的DDL、DML、DQL语句的兼容度达到90%以上。特别是MySQL特有语法,例如DML语句中的LIMIT及ORDER BY子句限定用户一次更新的数据条目或按照顺序更新;COMMENT子句让用户在创建对象时就可以添加注释;INSERT...SET和INSERT IGNORE INTO子句、多表JOIN的多表更新语法、直接操作分区表的数据,插入语句等都在兼容语法的细节上做了增强,例如省略into关键字,一次性对多表进行更新。当客户的应用过程引发数据库存储的数据变更时,需要将数据定时同步到数据库中,这时insert插入数据时,可能发生主键/唯一键冲突,若想在冲突时变更为update语句,则可通过INSERT...ON DUPLICATE KEY UPDATE语句达成。

在数据库中,主键是用来唯一标识每条记录的,而自增长类型可以为每个记录分配唯一的标识符。因此,将自增长类型应用于主键列,可以方便地为每个记录分配唯一的标识符,在MySQL数据库中可通过数据列的AUTO_INCREMENT属性来达到此目的。KingbaseES也兼容该功能,可方便地为每个记录分配唯一的标识符,避免了手动输入主键的麻烦。

KingbaseES支持三种标识符的表示方式,反引号、单引号、双引号这三种符号括起来标识符,其中带反引号的标识符是兼容MySQL特有的,用于区分保留字和普通字符,其使用规则完全兼容MySQL,为将应用程序平滑迁移到KingbaseES做到更加细致入微的努力。

PLSQL兼容

在过程化语言的语法基础、数据、游标、动态SQL、子程序、存储过程/函数、触发器等各方面,KingbaseES常用语法的兼容度也大大得到提升,达到90%以上。

客户实际应用中,通过计数器收集积分遇到的问题,在某些高并发场景下常会出现积分统计遗漏的问题,这类问题可通过用户变量的方式解决。MySQL中的变量主要是用于保存临时结果,并在不同语句中传递。KingbaseES兼容MySQL的用户变量功能,在不同场景中,通过@变量来存储中间结果、计算结果、过滤数据等。

轻松完成MySQL数据库迁移

KingbaseES数据库提供异构数据库应用SQL迁移评估系统KDMS以及简单、高效的一键迁移工具KDTS。通过这两种工具,可以轻松完成MySQL数据库迁移工作。

数据迁移评估系统KDMS通过智能翻译技术,无侵入业务应用实现SQL采集、评估和转换。每分钟可处理20万行SQL/PLSQL代码,短时间内完成大规模MySQL数据库迁移评估和智能转换,提高迁移效率。降低迁移成本。KDTS数据库迁移工具支持MySQL5.x、MySQL8.x全系列版本的一键迁移。支持多种复杂迁移任务配置,满足多种数据迁移条件,实现多样化迁移需求,使用多线程异步读写机制,大大提升迁移效率,并提供详细的MySQL迁移报告。

MySQL Workbench是MySQL官方提供的数据库管理工具。KingbaseES数据库自身也提供了功能强大的数据库管理工具KStudio,可为数据库开发人员、DBA提供高效、高质的数据库开发、调试、维护等各项功能。KStudio可进行一站式数据库管理,提供全功能SQL编辑器和PLSQL调试工具,进行审计等数据库安全管理,还支持数据对比等高级功能。

此外,KingbaseES还提供全方位运维监控平台KMonitor,可对服务器状态、数据库资源和数据库性能、集群情况进行全天候监控和告警,使用户全面掌握MySQL迁移服务器,迁移后的KingbaseES运行情况、健康状况,及时获取异常信息并快速做出合理应对,保障数据库及业务应用安全。DBA用户还可通过直观丰富的数据库性能报表,快速排查故障问题以及进行容量规划。

目前,KingbaseES已在银行、证券、保险、泛金融机构等细分领域打造了一系列替换MySQL数据库的标杆案例。经过项目实战中不断测试和验证,人大金仓确保产品的稳定性和可用性,能够高可用高性能高安全地支撑和保障用户业务。未来,KingbaseES不仅实现MySQL功能100%兼容,性能兼容还会更胜一筹,让用户的数字化之旅更简单!

为助力信息技术应用创新产业高质量发展,筑牢数据安全防线,人大金仓特别策划三大兼容系列文章,基于金仓数据库Oracle常用功能100%兼容,与MySQLSQLServer常用功能90%兼容,分享产品背后的技术原理和应用情况,助力用户无忧迁移,请持续关注我们!