返回

TiDB 写热点调优实战:360 智能商业业务线经验分享

见解分享

360 智能商业业务线从 2019 年 3 月份开始使用 TiDB,目前线上有 5 套 TiDB 集群,数据总容量 20T,主要应用在数据分析平台、广告主实时报表、物料库、实时监控平台等核心业务中。 在使用 TiDB 的过程中,我们也遇到过一些问题,积攒了一些经验。

业务背景

360 智能商业业务线主要提供线上广告投放和流量变现服务,业务场景主要集中在实时报表统计和离线数据分析上。

使用 TiDB 的场景

我们主要使用 TiDB 作为业务数据库,存储广告投放和流量变现相关的核心数据,主要包括以下几个方面:

  • 广告主实时报表:记录广告主的广告投放效果,包括曝光量、点击量、转化量等指标,用于广告主实时查看广告效果。
  • 物料库:存储广告投放所需的创意物料,包括图片、视频、文案等。
  • 实时监控平台:记录业务系统运行状况,包括服务器性能、业务指标等数据,用于实时监控业务系统运行状况。
  • 数据分析平台:存储业务相关的历史数据,用于离线数据分析,辅助业务决策。

遇到的问题

在使用 TiDB 的过程中,我们也遇到过一些问题,主要包括:

  • 写热点问题:由于业务场景的特点,我们的数据写入比较集中,导致部分表的写热点比较严重。
  • 慢查询问题:由于数据量较大,部分查询语句执行效率较低。
  • 主从延迟问题:由于主从复制延迟,导致部分从库数据不一致。

解决方案

针对以上问题,我们也采取了一些措施进行优化,主要包括:

  • 写热点优化:通过垂直拆分表、增加索引等措施,缓解写热点问题。
  • 慢查询优化:通过分析慢查询日志,优化 SQL 语句,提高查询效率。
  • 主从延迟优化:通过优化主从复制配置,减少主从延迟。

优化效果

经过优化,我们的 TiDB 集群性能得到了显著提升,主要包括:

  • 写热点问题得到缓解,写入性能提升了 30% 以上。
  • 慢查询问题得到解决,查询效率提升了 50% 以上。
  • 主从延迟问题得到优化,主从延迟降低了 90% 以上。

经验总结

在使用 TiDB 的过程中,我们积累了一些经验,主要包括:

  • TiDB 是一款优秀的分布式数据库,非常适合存储和处理大规模数据。
  • TiDB 的可扩展性非常好,可以轻松应对业务快速增长带来的数据压力。
  • TiDB 的社区非常活跃,可以提供丰富的技术支持。

建议

对于准备使用 TiDB 的企业,我们建议:

  • 提前做好容量规划,根据业务需求合理规划 TiDB 集群的规模。
  • 充分利用 TiDB 的特性,合理设计数据模型和 SQL 语句,提高 TiDB 的性能。
  • 积极参与 TiDB 社区,及时获取 TiDB 的最新信息和技术支持。

致谢

感谢 TiDB 社区的支持,感谢 360 智能商业业务线团队的努力。