近日,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%兼容,与mysql、sqlserver常用功能90%兼容,分享产品背后的技术原理和应用情况,助力用户无忧迁移,请持续关注凯发k8官网下载!