自 20 世纪 90 年代 Bill Inmon 首次提出数据仓库概念以来,历经三十余年发展,数据特征日益海量化、复杂化,业务需求趋向实时化与多样化,基础设施也逐步向云原生演进。本文深入解析通联支付如何依托开源技术与生态,基于主流技术栈持续推进数据仓库演进,为经营决策和业务系统提供更智能、高效的数据服务支撑。
数据仓库技术发展
传统分析型数据库
以 Oracle、MySQL、SQL Server、DB2 等为代表的传统关系型数据库,在早期数据规模小、需求简单的场景下,承担了重要的数据存储与分析任务。传统MPP数据仓库
进入2000年代,Teradata、Greenplum、Vertica 等基于MPP(大规模并行处理)架构的产品兴起,通过分布式并行计算提升处理效率,满足了企业对大规模数据分析的需求。大数据Hadoop生态
2003年起,谷歌发布的三篇论文推动大数据技术变革: - 《Google File System》:奠定分布式文件系统基础,解决海量数据存储问题。 - 《Google MapReduce》:提供超大数据集的处理模型,实现高效计算。 - 《Google BigTable》:构建分布式结构化存储系统,支持海量结构化数据管理。 随后 Hadoop 生态应运而生,形成包括 Hadoop、Hive、Spark、HBase、Sqoop、Flume、Flink 等在内的完整大数据处理体系。新型MPP数据仓库
ClickHouse、Doris、StarRocks 等新型MPP数据仓库采用现代化架构,具备强大的数据存储、处理与管理能力,支持异构数据源接入,在实时性、灵活性和扩展性方面显著提升。云原生数据仓库
借助公有云的存储计算分离、弹性扩缩容等能力,Snowflake、阿里云 AnalyticDB、华为云 GaussDB 及开源项目 DataBend、ByConity 等代表的云原生数据仓库正成为新趋势,大幅提升数据集成便捷性并降低运维成本。通联数据仓库实践历程
阶段一:分析型数据库
在发展初期,通联采用 Oracle 搭建分析型数据仓库,结合 Kettle 实现 Oracle、MySQL、DB2、FTP 等多源数据集成,有效支持账户、商户等资源的数据整合与分析。 随着业务增长,该架构逐渐暴露以下瓶颈: - 数据量超 TB 级后性能急剧下降; - 单机架构限制并发查询能力,响应延迟增加; - 缺乏统一对外服务接口,影响数据共享与利用。阶段二:Hadoop生态数仓
鉴于传统 MPP 架构存在存算耦合、扩容成本高、性能随规模下降等问题,通联选择基于 Hadoop 生态构建企业级数据平台。 Hive离线数仓建设: - 存储层:基于 HDFS 实现海量数据低成本存储,采用 3 副本机制保障可靠性,并通过异构存储将热点数据存放于 SSD,提升读写性能。 - 计算引擎:使用 Spark 替代 MapReduce,借助内存计算和优化调度,处理速度最高提升百倍。 - 服务管理:采用 CDH 平台进行组件监控与维护,启用 HDFS HA 和 YARN HA 机制保障高可用。 - 任务调度:引入 Dolphinscheduler,支持 DAG 可视化编排,提升任务调度灵活性与效率。 - 数据接入:通过 Sqoop 完成关系库与 Hadoop 间迁移,DataX 支持 Hadoop、FTP、Doris 等多源同步,已实现绝大部分系统数据整合。 - 质量保障:建立数据校验机制,确保同步过程无丢失、一致准确。 - 分层建模:基于维度建模理论构建五层架构: - ODS:同步原始交易与商户数据,仅做脱敏处理; - DWD:清洗、退化维度、列式存储,生成事实表与宽表; - DIM:提取商户、会员、产品等维度信息; - DWM:轻度聚合,减少下游计算压力; - DWS:按时间与主题聚合,输出主题宽表; - ADS:面向应用层提供可直接使用的报表与分析数据。 - 数据服务: - 自研统一报表系统,集成任务配置、调度、开发、展示与告警功能,支持批处理接口与报表推送; - 引入 BI 工具,实现可视化分析、权限管控与智能洞察,提升数据分析效率与呈现效果。
流批一体实时数仓:
为应对 Hive 天级延迟无法满足实时需求的问题,基于 FlinkCDC、Flink、Hudi、Kafka 构建实时数仓:
- 数据同步与路由:FlinkCDC 实时捕获数据库变更日志,结合 Hudi 支持时间旅行查询,并通过侧输出流将数据精准路由至 Kafka 主题;
- 精准一次处理:通过 Checkpoint 与 Savepoint 实现 Exactly-Once 语义,保障全链路数据不重不丢;
- 流批一体优势:统一数据源、存储与计算口径,避免 Lambda 架构双链路问题,中间层数据可持久化并支持 OLAP 分析;
- 分层优化:保留分层结构的同时减少层级,D0 商户数据时效达分钟级,部分场景如新增商户可达秒级;
- 状态缓存优化:将公共配置表缓存至 Flink 状态后端,相比外部 Lookup Join 显著提升 QPS 与吞吐;
- 指标计算优化:金额类指标以天为单位汇总后累加;新增商户类指标结合状态编程与窗口机制,实现精确去重统计。
目前实时数仓覆盖核心交易模块,日均处理亿级数据,误差率极低,部分场景实现零误差,显著提升决策时效性。
阶段三:湖仓一体
湖仓一体化目标: - 数据仓库:聚焦高价值、清洗后数据的快速分析; - 数据湖:存储各类原始数据,支持深度挖掘; - 目标是实现数据在湖与仓之间的无缝流转,统一生命周期管理。 Hadoop生态的角色: Hive、Spark、Hudi 等基于 HDFS 的引擎构成数据湖基础,但因 HDFS 不支持随机写、需整体覆盖导致写放大,且查询流程长、响应慢,更适合作为批处理引擎而非实时 OLAP。 基于Doris的湖仓一体架构: 通过 Doris 多源数据目录对接数据湖与仓库,发挥其高性能 OLAP 能力加速分析: - 向量化执行引擎、物化视图、Rollup 预聚合提升查询速度; - 元数据、数据及结果三级缓存优化性能; - Native Reader 兼容 Parquet、ORC 等格式,无需转换开销; - 已支持 Hive、Hudi 接入,具备兼容 Iceberg、Paimon、MySQL、Oracle、SQL Server 等主流系统的扩展能力。
通联数据仓库建设成果
数据整合规模:整合内部绝大多数系统数据,涵盖交易、商户、风险、结算、门店、终端等领域,历史数据跨度广,总量近 PB 级,日均增量达亿级。
数据分析能力:支持年、月、日级离线指标及秒级、分钟级实时指标,满足多样化的分析时效与深度需求。
数据服务供给:通过多种方式向下游系统输出数据,广泛应用于业务交付、数据加工、风控、经营分析与客户服务,持续驱动业务发展与科学决策。

