TiDB替换MySQL上线方案(简化版)
版权申明:本文为原创文章,转载请注明原文出处
TiDB
TiDB是 PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP 、OLAP、HTAP 解决方案。
上线步骤
- 将TiDB作为MySQL的从节点,接入到线上环境,日末用sync-diff-inspector验证TiDB和MySQL的数据是否一致,验证TiDB作为从库同步数据没有问题。
- 将一部分幂等的日末报表任务的数据源切到TiDB,重跑相关报表任务,比对执行结果是否一致,同时观察MySQL和TiDB的执行效率和稳定性(此步骤可以省略)。
- TiDB数据同步和读稳定之后,修改DAO层代码,双写MySQL和TiDB。写入TiDB的过程try-catch住,出现异常钉钉报警,并处理掉出错的问题。
- 日末用sync-diff-inspector验证TiDB和MySQL的数据是否一致,验证TiDB数据写入没有问题。
- 将一部分幂等的日末报表任务的数据源切到TiDB。
- 待TiDB写入稳定之后,将全部流量都切到TiDB,将MySQL作为TiDB的从库。
- 上线之后,MySQL持续作为TiDB的从库,并维护一个MySQL热库作为降级数据库。
TiDB替换MySQL上线方案(简化版)