作业帮 x TiDB丨多元化海量数据业务的支撑

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

作业帮是一家在线教育品牌,使用TiDB解决了MySQL性能问题,提高了数据同步和查询效率。他们将报表服务和业务流水数据迁移到TiDB,获得了更好的存储和性能。作业帮已部署了多个TiDB集群,总数据量超过百TB。他们计划逐步升级到TiDB 6.5.6版本。

🔎

延伸解读

从离线隔离到在线核心的渐进路径

作业帮对 TiDB 的引入并非一步到位,而是先通过 DM 将 MySQL 数据同步到 TiDB,隔离对在线集群有性能影响的查询请求,再逐步推广到报表和业务流水等在线场景。这种从离线到在线、从边缘到核心的渐进策略,降低了迁移风险,也为后续大规模部署积累了经验。

TiFlash 如何支撑复杂查询需求

文章提到,从 TiDB 4.0 开始加入 TiFlash 列存引擎,并在后续版本中不断增强。对于有复杂查询需求的业务,可以直接在 TiDB 集群中增加 TiFlash 节点来解决问题。这意味着作业帮在应对分析型查询时,无需额外引入独立的分析型数据库,简化了架构。

版本升级的平滑体验与未来计划

作业帮从 v4.0.9 一路升级,整体感受是越来越稳定,升级过程非常丝滑,业务几乎无感知。目前大部分集群采用 TiDB 5.4 版本,一半已升级到 6.5,并计划在 2024 年全部升级到 6.5.6。这反映出 TiDB 在兼容性和稳定性上的持续改进,降低了企业升级的运维负担。

❓

Q&A

作业帮为什么选择TiDB来解决MySQL的性能问题?

作业帮使用TiDB解决MySQL性能问题,主要是因为业务数据量增大后,MySQL单实例出现存储受限和查询性能瓶颈。通过TiDB,他们实现了数据同步和查询效率的提升,并隔离了对在线MySQL集群有性能影响的查询请求。

作业帮是如何逐步推广使用TiDB的?

作业帮的推广分为探索期和推广期。探索期通过DM将MySQL数据同步到TiDB,隔离在线和离线查询;推广期在公司内部进行技术分享,主动接触各业务线,推动报表服务等接入TiDB。

TiDB在作业帮的报表服务中取得了什么效果?

报表服务通过TiDB突破了存储和性能瓶颈,对比MySQL,TiDB减少了80%的查询时间,效果远超预期。同时,随着DM同步稳定性的提高,一些直连线上MySQL的报表服务也改用了TiDB作为数据源。

作业帮的TiDB集群部署规模和版本情况如何?

作业帮已经部署了几十套TiDB集群,总体数据量规模超过百TB。大部分集群采用TiDB 5.4版本,有一半已经升级到6.5版本,并计划升级到TiDB 6.5.6版本。

作业帮如何解决业务流水数据的存储瓶颈?

业务流水数据每日写入量特别大且需要长期保存,使用MySQL存储最终会遇到存储瓶颈。作业帮将业务流水数据迁移到TiDB,利用TiDB适合大数据量写入的特性解决了存储瓶颈问题。

作业帮对TiDB的未来使用有什么计划?

作业帮计划在2024年将TiDB全部升级到6.5.6版本,并对TiDB的稳定性和兼容性不断增强表示期待,认为升级过程丝滑,业务几乎无感知。

🏷️

标签

➡️

继续阅读