数据库升级本身就是存在一定风险的操作,TiDB 如何实现平安、顺利、无感的迁移?本文结合一个使用量过亿的用户 K8s 集群升级的案例,介绍了 TiDB 的升级工具包的使用方法,如何实现从简单的参数比对到全场景的模拟重放,根据实际需求和成本考量自主选择搭配方案。
有了 TiDB 升级工具包,你不必在升级选择面前患得患失,也不用在升级过程当中担心焦虑。阅读本文,带你快乐升级!
升级的苦与乐 但是作为数据库老玩家的你,应该很清楚升级本身就是存在一定风险的操作,比如:新版本中存在一些新的配置参数需要你去了解和适配,配的不好可能会出问题;新版本修复了安全漏洞,严格了安全权限,有些旧版本支持的访问模式也需要随之改写;之前一些 SQL 的执行计划好不容易的通过各种手段稳定下来,但是新版本也带来了不确定性。这就像你去了若指掌的餐馆点餐,突然间发现换了一个厨师,新师傅可能是米其林的大厨,但那道菜是不是你喜欢的口味却因人而异。总之你和我的想法一样,希望升级或迁移是平安的,顺利的,甚至是无感的。以至于某天业务找到你的时候不是抱怨突然出现的问题,而是称赞系统最近好用了很多,这才是升级最终的目的和价值。 TiDB 的百宝箱 TiDBA 通过对比升级前后版本的参数,帮助你快速识别出新版本参数的变化。 Pt-upgrade 用于mysql/maria/aurora等很多商业客户的升级中,经过大量实践确定是可用且可靠的。percona consulting团队的主要工具。该工具使用 slow query log 在升级的源集群(旧版本)和目标集群(新版本)上同步回放,以测试 SQL 兼容性。 Plan Change Capturer(PCC) 通过检测不同版本 TiDB 的执行计划变化,帮助你识别性能退步的 SQL,在升级前识别执行计划变化带来的风险。 Workload-sim 通过使用 Database Replay 在测试系统上运行真实的工作负载,帮助你全面评估升级的效果。 简单来说,TiDBA 是参数比对工具,提示你新增或修改的参数;pt-upgrade 主要解决的是兼容性和正确性问题;PCC 专门针对执行计划,解决潜在性能回退的问题;而 Workload-sim 是一份全量业务负载的拷贝,不仅可以提前发现升级潜在的问题,还可以评估升级的效果。他们所花费的资源由低到高,相应验证的效果也是从粗略到详细,你可以根据你的需求进行选择和自由组合。 某乎的升级之旅 升级环境 生产环境集群信息 测试环境集群信息 升级流程 升级比对 升级前 升级后 后记
2023-07-18 PingCAP发布了 《时刻领先丨PingCAP 用户峰会 2023 圆满收官》的文章
2023-02-13 PingCAP发布了 《促进关键软件高层次人才培养:平凯星辰与华东师范大学签订联合博士培养合作协议》的文章
2023-01-10 PingCAP发布了 《同盾科技 x TiDB丨实时数据架构为风控智能决策保驾护航》的文章
2022-12-09 PingCAP发布了 《PingCAP 成为中国唯一入选 Forrester Wave 数据库厂商,被评为卓越表现者》的文章
2022-12-09 PingCAP发布了 《案例故事丨老虎国际 x TiDB ,降低架构复杂性,保障全球用户安全可靠投资》的文章