本文阐述了某商业银行如何利用 TiCDC Syncpoint 功能,在 TiDB 平台上构建一个既能处理实时交易又能进行准实时计算的一体化架构,用以优化其零售资格业务系统的实践。通过迁移到 TiDB 并巧妙应用 Syncpoint,该银行成功解决了原有多个 MySQL 集群所面临的数据分布复杂性和跨库关联查询的挑战,实现了数据处理效率和应用性能的显著提升,确保了实时交易的快速响应和数据分析处理的计算资源需求。
场景概述
某商业银行的零售资格业务系统专门设计用于计算和管理客户的消费积分及优惠。每当用户完成一笔交易,系统内的关键模块便会自动整合用户的历史消费数据,迅速进行积分计算,并将当前可用的优惠信息及时推送给用户,例如通知当前能够兑换的优惠或赠品,提示额外消费达到一定额度后能够获得的特定奖励等。该系统旨在通过提供实时的优惠信息和激励措施,增强客户的消费体验。
用户的消费信息按照用户 ID 进行分组,存储在 30 多个 MySQL 集群。随着业务的增长,以及需要开放第三方应用使用数据,完成资格的计算。分库分表的 MySQL 就不满足业务需求了。一方面,分库分表后数据分布复杂;另外,分库分表难以实现跨 MySQL 库的关联查询。 如果把这些 MySQL 库的数据汇聚到 HBase 等大数据平台,即不能保障用户交易以事务的粒度同步到大数据平台,也很难保证数据的时效性(大数据通常都只做 T+1 的计算)。
为了优化应用性能和数据处理效率,行方决定将应用迁移到 TiDB 平台,并采取策略将实时交易和准实时计算分配到两个不同的 TiDB 数据库集群中。资格落地模块用来完成准实时资格的计算。因为落地数据计算量大,并且有准实时性的要求,为了不影响实时业务,落地计算是通过 TiDB 备集群 2 进行计算,该集群的数据来自 TiCDC 从实时集群同步过来的准实时数据。
这样的架构设计旨在平衡交易的即时性和数据处理的计算需求,确保实时交易的快速响应,同时为数据分析和处理提供足够的计算资源。
TiCDC 和 Syncpoint 特性简介
本文以商业银行零售资格业务系统为例,向大家介绍怎样通过 TiCDC 的 Syncpiont 功能,来确定目标端的同步进度,并且以此为依据,计算每笔业务对用户资格数据的贡献。

图 1:实时交易和准实时计算一体化架构
“TiDB 主集群”为实时集群;“TiDB 备集群 2”是专门为资格落地准备的准实时集群;“TiDB 备集群 1”是容灾集群
众所周知,在业界,几乎所有的变

本文详细描述了一家商业银行如何借助TiDB和TiCDCSyncpoint功能,解决原有MySQL集群的问题,构建了一体化架构,实现实时交易和准实时计算的高效处理,提升数据处理和应用性能。Syncpoint的使用优化了数据一致性读取,确保了实时响应和数据时效性。
最低0.47元/天 解锁文章
871

被折叠的 条评论
为什么被折叠?



