在传统离线数据体系下,核心数据往往需要 T+1 才能可用,难以支撑实时风控、监控告警和业务决策等关键场景。
金城银行通过引入 Apache Doris,结合 Flink CDC 重构数据链路,将端到端延迟压缩至 2-3 分钟,实现从离线批处理向准实时分析的关键跃迁。
在此过程中,平台不仅解决了实时性问题,还在高频 Schema 变更、数据一致性保障及链路稳定性方面形成了一套可规模化落地的实践方案。
目前,系统已支撑超过 2300 张表的实时处理,实时链路规模超过 150 个,总任务数 400+(包含离线),整体故障率较之前下降约 80%,数据传输成功率提升至 99.99%,重点场景下端到端延迟控制在 2 分钟以内。同时,查询效率、资源利用率和平台稳定性也得到显著提升,为后续湖仓一体、智能问数及全链路智能化管控奠定了基础。
本文整理自金城银行大数据架构负责人 赵禛 在 Doris Summit 2025 中的演讲。
面临的挑战
原有数据流转体系是一套典型的离线处理流程。数据来源包括 MySQL、Kafka 以及部分 API 数据,统一通过 Spark SQL 或 Hive 等传统批处理模式进行加工,处理完成后再写入 Hive、HBase、MySQL 或 Oracle 等存储系统,供下游应用使用。
在业务规模尚小的阶段,这套体系能够很好地满足离线加工需求。但随着业务复杂度的提升,问题逐渐显现。
- 在实时性方面,过去整体采用 T+1 的批处理模式,核心数据延迟普遍超过 24 小时。对于监控、报表刷新、系统调用等实时场景,原有体系几乎无法提供有效支撑。
- 在效率及稳定性方面,全量复写表占比达到约 65%,CPU 峰值可达到 90%。大量重复计算带来了显著的资源浪费和人力投入。同时,上游业务变更频繁,业务表每月 Schema 变更超过 20 次,任务需要频繁调整,批处理链路的故障率明显升高,平均故障恢复耗时达到 1.5 小时。
- 在性能方面,由于长期依赖离线引擎处理,在复杂查询场景下平均响应时间较长,报表生成效率较低,难以满足业务对于时效性和交互体验的要求。
核心升级目标
在推进架构升级之前,先回到业务本身,重新梳理:数据平台到底要解决什么问题、需要达到什么水平。基于这一思路,我们对各类核心场景逐一进行指标拆解:
- BI 报表场景中:要求数据延迟控制在 10 分钟以内。
- 监控报表:数据更新时效需小于 5 分钟,同时告警准确率需达到 95%。
- Ad-Hoc 查询场景:复杂查询响应时间需控制在 60 秒以内,热门查询缓存命中率需达到 80% 以上。
- 系统应用:对时效性要求更高,调用延迟需小于 3 秒,同时服务可用性需达到 99.9% 以上,并支持高并发访问,QPS 需大于 1000。
围绕这些目标,团队逐步明确了建设思路:以 Doris 作为实时分析底座,以统一的数据集成管理平台承接实时链路的标准化与自动化能力,完成从数据采集、处理到服务输出的整体升级。
自 2022 年起,经过 3 年演进,平台从 Doris 1.x 探索阶段逐步升级至 Doris 2.x,并完成数据集成管理平台建设,实现了实时数据链路的标准化、自动化与规模化管理。
基于 Doris 的全新数据集成平台
基于 Doris 的架构如上图所示。上游业务数据库通过 Flink CDC 实时采集变更数据,并按库表粒度写入 Kafka,实现数据解耦与灵活分发;下游由 Flink ETL 任务按需消费,完成数据清洗、加工及 Schema 适配,最终写入 Doris 及数据湖 Hudi(Doris 为主要的分析引擎,Hudi 用于历史数据存储及补充计算),用于统一分析与存储。
在此基础上,构建了数据集成平台,该平台通过对数据接入、任务编排与链路运维的统一管理,实现了从数据采集到服务输出的全流程自动化与规模化支撑。平台内置标准化链路模板和多种自动化流程,能够显著降低接入门槛与人工维护成本,加快新业务上线效率。
同时,在数据质量与稳定性方面,平台构建了完善的全链路管控机制:重点表数据准确性达到业务可验证的 100%,异常率控制在千分之一以下,数据传输成功率稳定在 99.99%,整体延迟控制在 5 分钟以内,为实时分析与业务决策提供了可靠的数据保障。
生产运行现状与业务收益
目前,Doris 在我行生产环境中已实现稳定规模化运行:集群由 5 个 FE 节点和 16 个 BE 节点组成,总存储规模约 610TB。当前已纳入平台管理的业务表超过 5000 张,其中纳入实时同步链路的表约 2300 张;未来计划进一步扩展至 1 万张表,持续支撑更大规模的数据处理需求。整体运行状态良好,CPU 平均使用率约 25%,峰值控制在 40%~50%,系统稳定性表现可靠。
在业务支撑方面,平台日均请求量超过 10 万次,峰值 QPS 超过 500;全链路实时与离线同步任务超过 150 个,平台任务总量已扩展至 400+,能够稳定支撑多类业务场景。
从业务效果来看,收益主要体现在以下几个方面:
- BI 分析:基于 Doris 湖仓分析能力实现联邦查询,减少传统 ETL 加工成本;结合 Doris 秒级查询能力与物化视图加速机制,查询性能提升近 30%,报表响应效率显著提升。
- Ad-Hoc 与系统接入:依托 Doris 高并发即席查询能力及 MySQL 协议兼容性,实现与业务系统的无缝对接;日志与业务数据的关联查询可稳定控制在 5 秒以内,满足实时分析需求。
- 实时数据集成:基于 Flink CDC 构建实时数据同步体系,增强对多种 Schema 变更场景的适配能力,同时建立全链路实时审计机制,提升数据一致性与可追溯性。
下面将进一步聚焦升级过程中的几项关键技术实践。
升级过程中的关键实践
在平台升级过程中,团队围绕实时链路性能优化、复杂变更与数据质量保障,以及平台运维与数据服务建设,形成了一套可复用的实践经验,有效支撑了大规模实时数据场景的稳定运行。
01 实时链路性能与接入优化
随着接入表规模及实时任务数量持续增长,链路吞吐能力与稳定性成为核心瓶颈。围绕数据序列化、接入链路及查询存储三个层面,进行了系统性优化。
在数据序列化层,基于 Fury 实现自定义序列化协议,构建统一事件结构 FuryEvent,替代原生 CDC Event 的 JSON/Avro 表达方式,有效降低数据冗余。实际测试表明,在典型业务场景下数据存储开销降低约 70%,写入性能提升近 10 倍,显著缓解高并发接入压力。
在数据接入层,平台构建流批一体的数据接入体系:
- 实时链路基于 Flink CDC + Doris Connector,实现数据库变更数据的准实时入仓,典型场景下端到端写入延迟控制在 2 分钟以内;
- 离线链路通过 Doris
INSERT INTO SELECT支持外部存储(如 Hive/对象存储)数据批量导入,满足非实时数据补录与历史回灌需求。
在查询与存储优化方面,针对按日期分区的数据表,引入动态分区与聚合模型,在导入阶段自动触发分区内轻量预聚合,后续查询直接命中预聚合结果,查询效率提升约 50%。在大批量数据导入的同时,系统仍可稳定支持 50+ 并发查询,查询延迟波动控制在 10ms 以内,整体性能表现稳定。
02 复杂变更场景下的稳定性保障
在金融业务场景中,上游系统字段变更频繁、表结构复杂,实时链路容易因 Schema 不匹配而中断。针对这一问题,团队重点增强了对复杂变更场景的适配能力。
基于 Doris 的 light_schema_change 能力,对部分 Schema Change 变更进行支持,支持新增列、列扩展等轻量级 Schema 变更,避免大规模数据重写带来的链路抖动。同时,扩展了部分 DDL 语法兼容性,对上游变更进行自动识别与适配,使 Schema 变更成功率提升至 99%,绝大多数场景无需人工干预。
针对我行业务中常见的高频和复杂字段变更场景(如监管要求新增贷款用途分类字段、信贷业务新增客户信用评级数组字段等),平台能够进行柔性适配,避免实时链路因结构变化而中断,保障核心业务连续性。
在数据质量方面,团队构建了端到端数据一致性定期校验机制,如有偏差后自动触发数据回补。目前重点业务表校验通过率接近 100%,基础数据表整体准确率达到 99.99% 以上,显著提升数据可靠性。
03 全链路可观测体系建设
在平台运维层面,团队构建了全链路可观测体系,对实时链路的运行状态进行统一监控。通过质量指标上报与 Grafana 看板,结合多级告警机制,并引入 SLA 指标体系,对数据完备性、端到端延迟及任务可用性进行持续监控。目前,全链路延迟可控制在 3 分钟以内,任务可用性达到 99.9%。
未来规划
未来我们将聚焦以下四个方面:
- 构建湖仓一体分析底座:在现有多源接入基础上,进一步推动湖仓深度协同,实现 Doris 与数据湖(如 Hudi)的无缝衔接。结合数据冷热分层特征,逐步形成“热数据存 Doris、冷数据沉淀数据湖”的分层存储体系,兼顾查询与存储性能。
- 强化物化视图能力:推进异步物化视图的规模化落地,进一步提升高并发和复杂分析场景下的查询性能,并探索以物化视图替代部分规模较小、逻辑简单的离线任务,降低链路复杂度和运维成本。
- 深化业务应用:持续赋能小微金融全链路数字化,重点推进智能问数平台建设、ODS 层数仓迁移,以及 API 化数据服务能力建设,提升数据对业务分析与服务输出的支撑能力。
- 推进全链路智能化管控:面向多源复杂环境,持续提升集群稳定性与平台治理能力,建设 Catalog 统一管理管控平台,进一步完善全链路可观测性体系,提升问题发现、定位与处理效率。