作者:随行付大数据团队&商业研发团队
导读: 随行付作为国内领先的支付基础设施平台,致力于携手合作伙伴与中小微企业,共建安全、稳定、高效运转的数字化支付生态,持续为不同行业与场景提供融合支付与经营的一体化数字化解决方案。 随着支付业务的快速发展,原有基于传统数据库+ Hive 与 Elasticsearch + Kudu + HBase 搭建的 Lambda 架构,逐渐暴露出实时性不足、架构复杂、数据冗余高等问题,已难以支撑不断增长的业务需求。 为应对这一挑战,随行付重构了大数据分析体系,构建起以自研Porter CDC + StarRocks + Elasticsearch 为核心的一体化实时架构,全面覆盖高并发明细查询、即席汇总分析和复杂跑批计算等关键场景。 引入 StarRocks 后,随行付在查询性能、分析效率、架构简化与数据采集方面实现四大突破:
我们原有的数据分析体系在架构上采用“离线传统数据库+ Hive 与实时 Elasticsearch+Hbase+Kudu”分离的 Lambda 架构模式。然而,随着支付业务的快速增长,该体系逐渐暴露出诸多瓶颈:
这些问题不利于会生活收银台产品、服务商平台、交易系统、实时风控、安全合规 等多个核心场景的业务未来的发展,为了提前应对这些问题我们开启了变革之路
在调研和测试过程中,我们重点对比了 StarRocks 与 Doris、ClickHouse 等主流 OLAP 引擎,StarRocks 在多个方面表现更为突出,具体优势如下:
在当前业务系统中,为了满足实时数据采集、加工和多样化查询场景的需求,我们构建了一套基于 Porter CDC + StarRocks + Elasticsearch 的实时架构,替换原传统数据库+Kudu+Hbase+Hive 架构。
在流水类业务数据频繁变更的场景下,传统方案(如 ClickHouse、Hive 等)在处理历史数据更新方面存在明显短板,难以满足高并发、强一致性等核心业务诉求。为破解这一难题,我们引入了 StarRocks 主键模型,在大规模数据更新场景下展现出强大的处理能力,显著提升了整体采集体系的效率与稳定性。
依托自研采集工具 Porter,实现多源日志的秒级采集,并结合 Flink 构建高吞吐、低延迟的流处理链路,成功打造了一个具备高时效性与强一致性保障的数据采集体系。目前系统已支持每分钟百万级数据实时入库 StarRocks,稳定支撑起高并发业务所需的高效 ODS 层。
为进一步增强数据采集链路的稳定性与写入性能,我们围绕 StarRocks 实施了多项关键优化,包括字段级更新能力增强、多表同步配置化等,全面提升了实时采集能力与资源使用效率。
针对码类交易因数据量大且对数据库对压力敏感,我们对采集策略做出两项核心改造:
原生 Flink 连接器不支持单任务多表同步。对此我们进行扩展:
为解决基于传统数据库的历史数据采集存在的性能瓶颈,我们全面重构离线同步链路:
基于业务场景特征与查询模式洞察,我们将全域查询负载划分为四类核心工作负载,通过 StarRocks 引擎的差异化能力实施精准优化:
典型场景:历史退货查询、服务商查询、商户查询等重要历史流水查询。
此前,此类高并发明细查询主要是基于传统数据库+ Impala + Kudu 实现,。其中,传统数据库对于大数量的历史数据存储与查询无法满足,Impala + Kudu 维护较为复杂且查询性能也无法达到业务诉求。为满足此类业务对低延迟、高并发的极致要求,我们引入 StarRocks 之后进行了以下优化
典型场景:风控规则、运营看板、人工提数等。
过去的即席查询通常依赖预计算结果,并将其存入事务型数据库,导致数据获取时效性较差,难以满足高频、实时的业务需求。针对这一类以汇总统计为主、强调查询效率与资源成本平衡的分析场景,我们主要采用以下技术策略:
典型场景:维度表计算、周期性报表、复杂聚合分析等。
此类计算任务通常对稳定性、处理效率以及资源利用率要求较高。原有方案主要依赖 Hive 执行离线批处理,流程如下图所示:
在新架构基础上,我们进一步进行了以下核心能力增强:
通过上述优化方案,系统不仅实现了对基于 Hive +传统数据库等跑批流程的替代,还有效提升了数据处理效率与任务调度的稳定性,构建了统一、高性能的离线计算平台。
随着新一代 MPP 数据库 StarRocks 的引入,我们确立其为核心分析引擎,全面重塑大数据服务架构。凭借其向量化执行引擎、高性能实时导入能力以及强大的多表联合分析能力,随行付在性能、效率、成本和稳定性方面取得了显著成果:
依托 StarRocks 的高并发处理与向量化计算能力,我们真正实现了“海量数据实时写入 + 高效查询”的双重突破:
借助 StarRocks 的多表联合分析能力与数据湖联邦查询能力,分析效率与决策时效实现质变:
StarRocks 的引入彻底改变了原有多组件拼接的复杂架构,实现一体化演进:
采集链路升级为 Flink + StarRocks 架构,构建高吞吐、低延迟、强稳定性的数据采集体系:
未来,我们希望进一步统一数据存储与查询引擎架构,以 StarRocks 为核心计算引擎,通过其强大的联邦查询与外表 Catalog 能力,实现对 Hudi(存算分离)、Elasticsearch 等多种异构存储的无缝访问与智能路由。用户在使用层面无需感知底层数据来源,查询可自动按需路由至最适配的存储系统,保障高性能与资源效率的平衡。
在此基础上,我们将持续推进实时数仓体系建设,构建统一的数据服务接口,实现从数据采集、处理到分析的全链路自动化与标准化管理,进一步提升数据的服务化能力,真正实现“湖仓一体、查询一体、服务一体”的数据架构目标,为用户提供一流的数字经济基础设施。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。