2021-07-01 19:51:03
MyCAT被替换为HotDB,主要因为MyCAT在数据正确性、稳定可靠性、功能支持等方面存在缺陷,而HotDB在技术实现上更完善,能满足企业数字化转型对数据库全链路保障的需求。具体如下:
MyCAT的缺陷涉及数据正确的缺陷
全局序列值错误:存在全局序列插入重复、插入异常、失效等问题,例如Github Issue中的#1084、#1734。
全局表数据错误:全局表数据出现不一致情况且无法检测,如#1787所示。
数据分页不准:出现limit无效等情况,例如#1588。
跨库JOIN错误:内连接带数据交叉的跨库JOIN结果集不正确,垂直分片表和全局表JOIN错误,如#405、#1460。
分布式事务问题:采用弱XA模式,XA分布式事务只支持单条SQL,例如#1631、#1629、#1415。
路由错误:路由位置不正确,如#1751、#1661。
聚合函数错误:结果集不正确,例如#1715。
涉及稳定可靠的缺陷
故障检测算法缺陷:心跳使用select user(),容易出错,无法做到故障切换过程对业务服务无感知,无法保证主备切换的数据强一致,如#1815,#159。
故障切换算法缺陷:心跳切换同步无法同步,例如#1789。
功能限制
跨库JOIN限制:不支持带数据交叉的跨库JOIN,不支持左连接、右连接,不支持3表及其以上的跨库JOIN。
分布式事务限制:不支持强一致,仅支持弱一致。
数据备份限制:不支持数据备份,需要使用其他备份工具进行停机维护。
在线DDL限制:不支持在线DDL操作。
存储节点高可用
精准数据源状态判断:有精确优秀的数据源状态判断算法,未出现判漏误判现象。
检测算法优秀:利用UPDATE+检测算法,可以检测HANG住的情况并进行解除。
故障切换无感知:故障切换过程对业务无感知,且能做到主备切换的数据强一致。
计算节点集群
集群部署支持:支持计算节点集群部署,能够支撑9个以内计算节点,计算节点之间互相通讯,有状态。
服务持续性:计算节点只剩最后一个可用时依旧可以提供服务。
数据一致性保障:计算节点之间通过通讯能够保障数据的一致性,不存在数据冲突问题。
全局序列/透明自增长
内置功能:内置全局序列功能,使用方式完全和MySQL一样,无任何配置、学习成本,无需任何代码改造,性能高效。
序列准确性:全局序列不出错。
支持ALTER操作:支持全局序列的ALTER操作。
跨库JOIN
支持多种JOIN:支持更多的跨库join场景,几乎支持所有跨库join,极大地避免应用改造,效率更高。
数据一致性:数据正确,结果集与单库一致。
全局表数据一致性校验
强一致性模式:在强一致性模式下,不会出现部分提交,对全局表场景下数据一致性问题进行了彻底解决。
非强一致模式补偿:非强一致模式下,通过全局表数据一致性校验与修复功能,可对全局表场景下数据一致性问题进行补偿。
分布式事务与强一致性模式
支持分布式事务:HotDB支持分布式事务,且分非强一致性模式和强一致性模式。
强一致性保证:强一致性模式可以保证完整的事务持久性和完整的事务隔离性功能。
数据库一致性备份
一致性备份支持:HotDB支持通过特定参数的MySQLdump命令一致性备份。
分布式备份功能:支持通过管理平台的分布式备份功能,获得一致性的备份。
数据库恢复
图形化界面恢复:可通过管理平台图形化界面完成备份恢复HotDB集群的功能。
闪回功能:支持闪回功能。
时间点恢复:支持恢复到任意时间点。
在线DDL
图形化界面实现:支持图形化界面实现在线DDL,提供变更进度显示,能够保障全部节点修改成功或全部回滚。
其他优势功能
主备数据一致性检测:HotDB具有创新的高效、准确、纯只读的优秀主从数据一致性校验算法功能,对业务服务不阻塞,且可通过全图形化界面方式实现。
慢查询语句统计:管理平台集成了慢查询统计功能,自动抓取业务系统全部SQL语句,自动统计分析全部SQL的耗时,及耗时直方图和自动判断是否需要优化,且标识出来。
路由配置/分片方案智能推荐:通过图形化界面模拟生产压力,智能推荐匹配业务实际情况的分片方案,并且自动化数据重均衡。
字符集和校对规则支持:对常用范围的字符集做出了完整正确的支持,支持连接字符集与存储字符集不同,支持区分大小写等。
跨库死锁检测:支持对分布式环境下的跨实例死锁进行检查并进行正确处理。
分布式多版本控制:实现了一套自己的分布式数据库RC、RR、SR三种隔离级别的支持。
隐式转换支持:支持各种隐式转换,包括分片字段路由时的整型字符串互转,跨库有交叉结果集的join计算时的字符串和整型之间的互相转换等。
分片规则评分:可以知道每张表的分片规则定义是否合理,是否需要或值得调整优化。
在线调整分片方案:支持在线提供对业务表的表类型、分片规则、分片字段、分片所属数据节点四个维度的在线变更支持。
数据仓库业务场景支持:支持定时增量按时间维度或全量读取大批量数据,自身有算法机制保证不会出现OOM及宕机事件。
优秀的管理功能:HotDB Management图形化管理平台提供了图形化配置、配置校验、动态加载、拓扑图、监控图、数据报表、连接信息报表、异常事件告警、在线一键迁库等功能,有效提升了HotDB的运维体验。