当前位置:首页 > 报告详情

孟维克-爱奇艺:百套 TiDB 升级收益与实践经验分享.pdf

上传人: le****ng 编号:616628 2025-03-07 18页 2.68MB

1、孟维克爱奇艺 DBA爱奇艺:百套 TiDB 升级收益与实践经验分享一、爱奇艺使用 TiDB 的理由二、爱奇艺 TiDB 使用情况三、爱奇艺 TiDB 升级策略四、升级遇到的问题及解决思路五、TiDB 升级收益六、来自社区的助力分享大纲爱奇艺:百套 TiDB 升级收益与实践经验分享爱奇艺:百套 TiDB 升级收益与实践经验分享38一、爱奇艺选择 TiDB 的理由互联网快速发展,数据量飞涨,业务不想受制于分库分表,把 TiDB 当一个超大号 MySQL 使用利用 TiFlash 的列存和 TiDB 节点的易扩展性,TP/AP SQL 用不同的 TiDB 节点,读取一份数据,避免 N+1 的清洗时间

2、,快速帮助业务决策。爱奇艺:百套 TiDB 升级收益与实践经验分享39二、爱奇艺 TiDB 使用情况(2017-2024)服务器 500+单集群数据量:300G40T 不等TiDB 集群 100+应用业务线 30+TICDCTICDCTTLTTLSPMSPMFast DDLFast DDLBr Br 日志备份日志备份应用遇到 bug 需要修复版本不同运维参数不同自动化运维不便TiDB 新版本特性爱奇艺:百套 TiDB 升级收益与实践经验分享三、爱奇艺 TiDB 升级概况及策略升级前:v3.0.19v6.0.x(共 20 多个版本)升级方案优势劣势原地升级1.升级方式简单。2.不需要额外的硬件资

3、源。1.不支持回退。有一定风险。2.7.1版本之前,升级过程中无用户发起 DDL 操作。3.升级过程中,pd 切换时会有 duration 抖动。4.不支持 tiflash 组件从 5.3 之前的老版本在线升级至 5.3 之后的版本,迁移升级1.业务影响时间短。2.不受版本跨度限制。3.可以回退。1.需要至少额外的1:1的硬件,成本高2.数据量巨大时,全量同步耗时时间长,GC 时间需要调整3.TiDB Binlog 同步增量数据表必须有主键或者唯一键爱奇艺:百套 TiDB 升级收益与实践经验分享三、爱奇艺 TiDB 升级概况及策略升级路线:v3.0.19-v4.0.16-v5.4.3-v6.5

4、.8-v7.1.5测试环境优先升级,业务进行验证v6、v5 版本优先升级流量小、容量小、非核心业务集群优先升级爱奇艺:百套 TiDB 升级收益与实践经验分享三、爱奇艺 TiDB 升级概况及策略爱奇艺:百套 TiDB 升级收益与实践经验分享三、爱奇艺 TiDB 升级概况及策略2024.52024.5完成测试环境升级2024.72024.7完成生产数据小于 1 T 的集群升级2024.102024.10所有 V6 版本升级至 v7.1.52024.112024.11所有 V5 版本升级至 v7.1.52024.122024.12完成 80+集群升级,还有 10%集群待升级升级历程:1.升级后,部分

5、业务报错爱奇艺:百套 TiDB 升级收益与实践经验分享四、升级遇到的问题及解决思路现象:org.springframework.jdbc.UncategorizedSQLException:#Error updating database.Cause:java.sql.SQLException:client has multi-statement capability disabled.Run SET GLOBAL tidb_multi_statement_mode=ON原因&解决方案:为了减少 SQL 注入攻击的影响,TiDB 在高版本默认不允许在同一 COM_QUERY 调用中执行多个查询

6、。只有默认值 OFF 才是安全的。如果用户业务是专为早期 TiDB 版本而设计的,那么需要将该变量值设为 ON。2.测试集群 v4.0.16 跨版本升级 v7.1.4 时,drainer 无法启动爱奇艺:百套 TiDB 升级收益与实践经验分享四、升级遇到的问题及解决思路现象:其他组件都正常升级,在 drainer 升级时,提示端口无法启动,后尝试回退至 v5.4.3 继续升级,结果因 V7 与 V5 版本 TiKV 目录发生改变,TiKV 直接异常退出。原因&解决方案:新建集群,dumpling/lightning 导出导入数据,恢复业务。当时正确的解法

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文分享了爱奇艺使用TiDB数据库的实践经验,主要内容包括: 1. 爱奇艺选择TiDB的理由:避免分库分表,利用TiFlash的列存和TiDB节点的易扩展性,提高业务决策速度。 2. 爱奇艺TiDB的使用情况:自2017年起使用TiDB,服务器数量超过500台,单集群数据量在300G至40T之间,TiDB集群数量超过100个,应用业务线超过30个。 3. 爱奇艺TiDB的升级策略:先在测试环境升级,然后逐步升级生产环境,优先升级V6和V5版本,最后升级V4版本。 4. 升级遇到的问题及解决思路:升级后部分业务报错,原因是为了减少SQL注入攻击的影响,TiDB高版本默认不允许在同一COM_QUERY调用中执行多个查询;测试集群跨版本升级时,drainer无法启动,解决方法是新建集群,导出导入数据,恢复业务;升级时未与业务同步,导致drainer启动失败,解决方法是更换CDC同步,重做同步链路;升级后出现tikv:9001 pd server超时的错误,原因是集群早期对一些TiKV设置了sync-log=false,在强制重启的情况下可能需要短时间内补副本以维护数据一致性,影响pd与TiKV之间的心跳导致pd大量超时。 5. TiDB升级带来的收益:小的毛刺SQL消失,稳定性提高,SQL耗时从8s降至2s;聚合计算SQL性能提升,稳定性增加;TTL清理冗余数据;dashboard快速绑定执行计划;br支持日志备份,可灵活选择恢复时间点,实现Point-in-time recovery;TiCDC将大事务拆分为小消息体,Kafka不会因消息体过大而导致OOM,相关同步任务也更加稳定;大表添加索引时间由之前的13h降至20min。 6. 来自社区的助力:感谢官方社区人员王军、李仲舒、表妹给予的帮助,支持和问题解答。
"爱奇艺如何利用TiDB提升业务稳定性?" "TiDB升级过程中,爱奇艺遇到哪些挑战及解决策略?" "爱奇艺通过TiDB升级获得了哪些显著收益?"
客服
商务合作
小程序
服务号
折叠