2021 年 11 月 30 日,企业级开源分布式数据库厂商 PingCAP 正式发布 TiDB 5.3 版本。TiDB 在规模化联机交易和实时分析能力两大领域实现快速的迭代创新,TiDB 5.3 版本中 HTAP 架构的性能和稳定性取得显著提升,系统可观测性得到进一步增强,生态工具提速为 MySQL 用户带来重磅福利,累计优化和更新 40 多项功能,以“一栈式数据服务平台”帮助企业用户更好地应对双十一等海量数据严苛场景下的挑战。
HTAP 架构的性能和稳定性取得显著提升
在数字化转型的过程中,企业对“海量、实时、在线”的数据需求变得更加迫切,企业中的任意人在任意时间、任意地点对任意形态的数据都可能产生消费的需求,作为 HTAP (Hybrid Transactional/Analytical Processing,即混合事务 / 分析处理)数据库的引领者,TiDB 用“一栈式数据服务平台”应对企业规模化交易和实时分析的需求,提升关键业务的时效性,降低数据技术栈的复杂性。
自 TiDB 5.0 版本 HTAP 架构发布以来,已经广泛地应用到金融、物流、零售、新经济等行业头部用户的风控、反欺诈、实时数据中台、实时数仓等场景。在小红书反欺诈数据分析场景中,面对单表破 50 亿的数据规模,TiDB HTAP 实时查询技能发挥稳定,分钟级呈现促销发放优惠券的使用与分发情况。汽车之家把 TiDB HTAP 应用于个性化营销场景,根据用户画像实时推荐喜好信息与促销信息推荐,相较 MySQL 聚合场景效能提升 20-50 倍。
得益于开源社区大量真实场景的验证与反馈,5.3 版本对 TiFlash 列式存储引擎进行了大幅深层优化,如调整存储引擎底层文件结构和 IO 模型,优化访问不同节点副本和文件区块的计划等。新版本中 TiFlash 支持更多的函数(涵盖字符串、时间和其他计算)下推到 MPP 引擎,提升了分布式计算时远程数据的读取效率,消除了高负载条件下数据等待造成内部进程超时引起的例外和任务失败。此外,数据校验的完善、SQL 告警信息和日志收集的优化提升了集群的综合运维能力。
TiDB HTAP 架构可随数据量和业务增长轻松扩展到 200 节点以上的大规模集群,并且做到 OLTP 和 OLAP 负载隔离互不影响,在双十一等读写压力双高的极致场景下提供性能优异、可靠稳定的服务。经实际验证,TiDB 5.3 版本在金融、物流等超高吞吐实时在线交易场景下读写混合负载的综合性能,提升幅度可达 50%~100% ,并大幅度降低了同等负载下 CPU、内存资源使用率以及由于 IO 阻塞等待造成的查询失败概率。
系统可观测性进一步增强
分布式系统的可观测性成为基础软件设计的重要方向,TiDB 一直以来致力于通过技术手段描绘分布式系统的全貌,帮助技术人员快速诊断系统的健康状态,从而降低业务风险。
TiDB 5.3 版本的 TiDB Dashborad 新增持续性能分析(Continuous Profiling)功能,提供在集群运行状态下(包括故障状态)自动保存实例性能分析结果的能力,为用户带来数据库源码水平的性能洞察,让原本“黑盒”的数据库变成“白盒”。用户可通过火焰图进行快速的故障排查和定位,故障诊断时间缩短 50% 以上。持续性能分析提供对 TiDB、PD 和 TiKV 节点持续的性能分析并保存结果,功能开启后对集群读写损耗低于 0.5%,对业务不构成影响。
某银行技术负责人反馈:在分布式数据库选型 POC 测试中,某些业务的查询语句响应时间不达预期,分布式数据库厂商往往需要花费 1-2 天的时间进行大规模的性能排查。通过使用 TiDB 的持续性能分析功能,仅需 30分钟就能定位到性能瓶颈,为全链路的快速调优奠定了基础。
生态工具提速为 MySQL 用户带来重磅福利
TiDB 经常被用户比喻为”加大号的 MySQL”,当 MySQL 遇到容量和性能瓶颈的时候,可以轻松迁移到 TiDB 实现性能和容量的弹性扩展,减少分库分表对业务的侵入以及繁琐的运维工作,让 MySQL 用户即刻享受到 TiDB 实时查询分析的红利。
TiDB Data Migration DM) 是一款实时数据同步工具,支持数据从与 MySQL 协议兼容的数据库同步到 TiDB。在 5.3 版本中,DM 在合并单行数据的多次变更、点查更新合并为批量操作等方面进行了多项优化,使得分库分表 MySQL 同步至 TiDB 的延迟大幅降低,保障了下游 TiDB 数据查询实时性,企业无需进行大规模数据架构的改造就能快速引入 TiDB 以增强实时查询分析效率。经场景实测,在 300K QPS 数据同步流量下,99.9% 时间内上下游同步延迟降低至 1 秒以内,尤其适用于高负载业务压力下 TiDB 作为只读从库的场景。
TiDB 5.3 版本中,TiDB Lingtning 实现了全量数据迁移的再提速,为 MySQL 分库分表架构上超过 100 TB 规模的业务迁移到 TiDB 提供了升级版方案。新版本 TiDB Lingtning 具备水平扩展能力,支持用户同时部署多个 Lightning,并行地将单表或者多表数据迁移 TiDB。例如:在升级后,上游为 10 个分表 MySQL 集群,数据总规模 10 TB,使用 5 个 Lightning 实例并行导入,导入速度较上个版本提升 400% 以上。
除了上述三大方向的突破和升级之外,新版本 TiDB 对分布式事务一致性的核心组件分布式时间戳(TSO)的处理流程进行了深度优化,在保障分布式事务线性一致性的前提下降低时间戳获取延迟,以更好地支撑百 TB 以及百万 QPS 超大规模集群的扩展,优化后集群整体 QPS 吞吐实现 100% 以上的提升。
TiDB 5.3 版本还引入了临时表功能,提供 Global 和 Local 两类临时表来缓存业务的中间历史数据,计算完成后临时表可实现自动的清理回收。一条 SQL 即可轻松创建临时表,高效地解决了业务中间计算结果的临时存储问题,帮助用户简化业务逻辑并提升性能。
PingCAP 首席架构师唐刘表示:TiDB HTAP 的使命不仅仅局限于对传统数据库的升级或者是交易和分析处理性能的提升,本质上 TiDB HTAP 是一个开放的生态体系,在企业中承担着支持数据服务消费化和构建统一实时数据服务平台的角色,为用户带来业务与架构的创新与提升。本次发布的 5.3 版本是 TiDB 迈向成熟企业级 HTAP 平台的一个重要里程碑,越来越多的企业希望通过“一栈式数据服务平台”简化数据技术栈,提升业务的实时洞察能力,用户只需要掌握最基础的 SQL 语言能力和数据分析能力就可以驱动业务决策。