360 智慧商业 x TiDB 丨数据架构革新驱动广告业务高效运作
作者: GreenGuan 原文来源:https://tidb.net/blog/d0e63dcd
商业化业务线的总体概览
1.1 广告创意与策划阶段
1.2 媒体请求与竞价排名
1.3 广告计费与报表
TiDB 在多种不同需求下的架构演进及价值
2.1 存储引擎的选择
2.2 硬件升级与资源隔离
2.3 实时计算与 TiFlash 运维问题
然而,在使用初期版本的 TiFlash 时,我们遇到了一些性能瓶颈,主要表现在两个方面:
TiFlash 版本低:早期 v5.4 版本的 TiFlash 可能在性能和功能上存在限制,尤其是在处理大规模数据集和复杂查询时。这可能导致查询响应时间延长,无法满足实时计算场景对速度的严苛要求。
优化器选择不当:数据库优化器负责决定执行查询的最佳计划,如果优化器选择的执行计划不是最优的,将会导致查询效率低下,影响整体性能。
为了解决这些问题,我们智慧商业采取了以下策略:
SQL binding:在 TiDB 执行计划管理(SPM (SQL Plan Management))功能中其中之一数据库优化技术,通过预先定义查询的执行计划,强制数据库按照这个计划执行特定的 SQL 语句。这样,即使优化器可能会选择一个效率较低的执行计划,SQL binding 也能够确保查询按照预期的高效方式执行。这有助于提升查询性能,尤其是在面对复杂查询和大量数据时。
升级 TiFlash:为了充分利用 TiFlash 的最新性能改进和新功能,我们对 TiFlash 进行了版本升级。采用新版本的 TiFlash 通常会包含性能优化、查询优化、以及对新硬件和新特性的支持。升级至 v7.5 版本后,系统能够更高效地处理数据,提供更快的查询响应时间,从而满足实时计算场景的需求。
2.4 容灾方案
1. 我们考虑到如果真的发生了 zoneA 机房的故障,那不仅仅是数据库服务出了问题,而是整个 zone 上的服务无法对外提供服务,那么不可避免的是要修改 DNS 下的 vip 指向,对于这种场景,我们力求减少不可控因素,region 的切换以及 pd 角色的变更都有不确定性,所以我们采用了 TiCDC 的模式。
2. 360 的网络环境非常复杂,每周都会有网络割接,有些时候我们不太担心 zoneA 彻底挂,而是比较担心 zoneA 挂的不彻底,在搭建了容灾集群后,我们不希望网络层的抖动造成业务侧的抖动,这样有些得不偿失。
不过这种方案也有两个值得分享的地方:
TiCDC 构建从库可能会很漫长,由于我们的 TiDB 集群的规模很大用 BR 恢复至少需要十多个小时乃至二十多个小时,日常的增量数据非常大,在构建从库时需要根据表的大小单独拆分成过个通道,有时还需要 BR 和 Lighting 并用的方式同步数据。
成本问题,虽然我们的 PD 组件和 TiKV 组件所用资源可控,但是我们是否要部署相同规模的计算节点在 zoneB 需要权衡,360 智慧商业团队在尝试结合中台部门的能力,在故障发生时用采用虚拟迅速部署一批虚拟机,同时通过 tiup 的方式进行快速部署。
TiDB 在商业化业务线的使用规模
TiDB 为业务线带来的收益
TiDB 的引入为我们商业化业务线带来了显著的收益:
提高交付能力:TiDB 能够同时满足 TP 和 AP 的需求,使得业务查询模型更加灵活。
水平扩展能力:根据业务规模及特点,可以水平扩缩容存储或者计算节点。
降低运维成本:通过提升主机密度,降低了硬件成本约 40%,同时让开发的精力更集中在业务上。
完整的生态链:TiDB 提供了从 MySQL 迁移到 TiDB 的完整工具链,如逻辑数据导入导出工具 Dumpling/Lighting、 备份恢复工具 BR、数据迁移同步工具 DM、增量数据同步工具 TiCDC 等。
可观测性强:通过 Prometheus + Grafana 的监控方案和 Dashboard(TiDB 图形化界面),可以实时监控集群状态,及时发现并解决问题,提升故障处理效率。
对 TiDB 新版本的展望和期待
我们对 TiDB 新版本充满期待,特别是以下几个方面:
分区表和全局索引:新版本支持的分区表全局索引将进一步提升查询性能,特别是在处理大规模数据时。
TiProxy 功能添加:期待 TiProxy 能够提供更多的功能,如 SQL 语句的回放和限流,以提高系统的稳定性和可扩展性。
向量支持:期待 TiDB 能够提供向量化查询的支持,这将大幅提升查询性能,尤其是在处理复杂计算和分析时。
通过 TiDB 的实践与探索,我们智慧商业在广告行业中成功应对了多种业务场景的挑战。TiDB 的高性能、可扩展性和易用性为我们提供了强大的数据库支持,帮助其在激烈的市场竞争中保持领先地位。随着 TiDB 技术的不断进步,我们有理由相信,我们智慧商业将能够继续引领广告行业的创新和发展。
#
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/088b0168dfa13040b38165694】。文章转载请联系作者。
评论