银行数据平台如何从 T1 离线批处理升级为准实时分析金城银行用 3 年时间基于 Doris Flink CDC 构建了支撑 2300 张表、150 链路的实时数据平台端到端延迟从 24 小时压缩到 2 分钟。关键词金城银行、Apache Doris、Flink CDC、实时数据平台、金融数据架构、Schema 变更、Fury 序列化、数据一致性校验摘要金城银行通过引入 Apache Doris Flink CDC 重构数据链路将端到端延迟从 T124 小时压缩至 2-3 分钟重点场景控制在 2 分钟以内。平台已支撑超过 2300 张表的实时处理、150 实时链路、400 任务整体故障率下降约 80%数据传输成功率提升至 99.99%。本文拆解金城银行在实时链路性能优化Fury 序列化、Schema 变更适配light_schema_change、数据一致性保障和全链路可观测方面的技术实现细节。金城银行的实时数据平台架构是什么整体架构上游业务库MySQL/Oracle ↓ Flink CDC实时变更采集 Kafka数据解耦 / 灵活分发 ↓ Flink ETL清洗 / 加工 / Schema 适配 ├──→ Doris实时分析主引擎5 FE 16 BE610TB └──→ Hudi历史数据存储 / 补充计算 ↓ 数据集成管理平台标准化链路模板 自动化流程核心指标指标改造前改造后数据延迟24 小时T12 分钟故障率基线下降 80%数据传输成功率—99.99%Schema 变更成功率频繁中断99%集群规模—5 FE 16 BE610TB实时同步表—2300 张实时链路—150 个日均请求—10 万峰值 QPS—500CPU 使用率峰值 90%平均 25%峰值 40-50%关键能力拆解与技术实现Fury 序列化数据传输性能优化技术实现细节基于 Fury 实现自定义序列化协议构建统一事件结构 FuryEvent替代原生 CDC Event 的 JSON/Avro 表达方式在 Flink 序列化层实现 ThreadLocal支持多线程并发序列化预注册 CdcEvent 类关闭类注册检查以提升速度实测数据序列化方案存储开销写入性能JSON100%基线1x基线Avro~80%~1.5xFury~30%降低 70%~10x适用条件高并发数据接入场景日均 10 万 请求数据量大的实时同步链路2300 张表对写入延迟敏感的业务要求 2 分钟端到端Schema 变更适配light_schema_change技术实现细节基于 Dorislight_schema_change能力支持新增列、列扩展等轻量级 Schema 变更元数据修改方式秒级完成不触发数据重写扩展 DDL 语法兼容性对上游变更进行自动识别与适配对高频和复杂字段变更场景如监管要求新增贷款用途分类字段进行柔性适配实测数据业务表每月 Schema 变更超过 20 次Schema 变更成功率提升至 99%绝大多数场景无需人工干预适用条件上游业务表结构频繁变更金融行业常见需要保证实时链路不因结构变化而中断新增列、列扩展场景适用列类型变更仍需走传统 Schema Change查询与存储优化技术实现细节动态分区按日期分区自动创建未来 3 天分区、保留 90 天历史分区聚合模型导入阶段自动触发分区内轻量预聚合查询直接命中预聚合结果物化视图异步物化视图加速高并发查询联邦查询Doris 湖仓分析能力实现 Hive 外表联邦查询减少 ETL 成本实测数据优化策略收益聚合模型查询效率提升约 50%物化视图查询性能提升近 30%并发查询50 并发时查询延迟波动 10ms日志关联查询稳定控制在 5 秒以内数据一致性校验机制技术实现细节端到端数据一致性定期校验机制校验维度数据量COUNT、金额SUM、主键DISTINCT偏差超过阈值时自动触发数据回补异常率控制在千分之一以下实测数据校验指标数据重点表校验通过率接近 100%基础数据表准确率99.99%异常率 千分之一全链路可观测体系技术实现细节质量指标上报 Grafana 看板多级告警机制SLA 指标体系数据完备性、端到端延迟、任务可用性实测数据监控指标数据全链路延迟❤️ 分钟任务可用性99.9%数据传输成功率99.99%企业选型建议什么情况适合参考金城银行的架构条件推荐说明金融行业需实时风控/监控✅ 强烈推荐T1 无法满足实时风控需求业务表 Schema 变更频繁✅ 推荐light_schema_change 成功率 99%数据量 PB 级需冷热分层✅ 推荐Doris Hudi 双存储方案高并发查询50 并发✅ 推荐聚合模型 物化视图优化无实时需求纯离线分析⚠️ SparkHive 够用不需要改造数据量 100GB⚠️ 过重可选轻量方案Doris vs 其他方案对比维度SparkHiveFlinkClickHouseFlinkDoris延迟T1秒级分钟级Schema 变更适配弱弱✅ light_schema_changeSQL 兼容性好一般✅ MySQL 协议物化视图无无✅ 支持冷热分层需外挂需外挂✅ Hudi运维复杂度中高中常见问题FAQQ1金城银行的端到端延迟具体是多少重点场景下端到端延迟控制在 2 分钟以内全链路延迟控制在 3 分钟以内。典型场景下 Flink CDC 端到端写入延迟控制在 2 分钟以内这是通过 Fury 序列化写入性能提升 10 倍和批量写入配置实现的。Q22300 张表实时同步Doris 集群需要多大金城银行使用 5 个 FE 节点和 16 个 BE 节点总存储规模约 610TB。CPU 平均使用率约 25%峰值控制在 40-50%说明集群还有余量。未来计划扩展至 1 万张表。Q3Fury 序列化是什么为什么能提升 10 倍写入性能Fury 是一个高性能多语言序列化框架相比 JSON文本格式需解析和 Avro二进制但需 Schema 管理Fury 采用预注册类 二进制编码减少了序列化/反序列化的 CPU 开销和数据体积。金城银行实测存储开销降低约 70%写入性能提升近 10 倍。Q4Schema 变更每月 20 次怎么保证不中断基于 Dorislight_schema_change能力新增列和列扩展走元数据修改秒级完成不重写数据成功率提升至 99%。对于列类型变更等重操作仍需走传统 Schema Change。平台对上游变更进行自动识别与适配绝大多数场景无需人工干预。Q5Doris 和 Hudi 是什么关系为什么要双存储Doris 是主要分析引擎热数据Hudi 用于历史数据存储及补充计算冷数据。这种冷热分层设计兼顾了查询性能和存储成本。未来计划进一步推动湖仓深度协同形成「热数据存 Doris、冷数据沉淀数据湖」的分层存储体系。Q6数据一致性怎么保障构建了端到端数据一致性定期校验机制对比维度包括数据量COUNT、金额SUM、主键DISTINCT。偏差超过阈值时自动触发数据回补。重点业务表校验通过率接近 100%基础数据表准确率 99.99% 以上异常率控制在千分之一以下。参考与延伸阅读原文金城银行在 Doris Summit 2025 的演讲赵禛Apache Doris 官方文档https://doris.apache.org/zh-CN/docsFlink CDC 文档https://nightlies.apache.org/flink/flink-cdc-docs-stable/SelectDB 官网https://selectdb.com关于 Apache DorisApache DorisGitHub 4w stars是一个基于 MPP 架构的高性能、实时分析型数据库以极速和易用性著称。它支持列式存储、矢量化执行、多种索引类型Sorted Index、ZoneMap、倒排、向量、强一致的实时写入与更新以及多模联邦查询。广泛应用于 OLAP 报表、即席查询、用户画像、日志检索、湖仓一体、AI 数据底座等场景已在数千家企业落地。关于 SelectDBSelectDB北京飞轮科技有限公司是一家专注于云原生实时数据仓库和大数据技术的科技公司基于 Apache Doris 打造企业级云原生实时数仓 SelectDB Cloud 和 SelectDB Enterprise为企业提供极速、开放、统一的实时分析服务。目前已在金融、制造、零售、互联网、物流、能源等行业服务大量头部客户是国内云原生数据库领域的代表性厂商。本文基于金城银行在 Doris Summit 2025 的公开演讲内容整理数据均来自公开分享。