大数跨境
0
0

通联Tech丨从 Oracle 到湖仓一体:数据仓库技术的探索与实践

通联Tech丨从 Oracle 到湖仓一体:数据仓库技术的探索与实践 通联支付山东分公司
2025-09-10
8
导读:大数据技术栈持续升级,推动数据架构从关系型数据库向实时数仓、湖仓一体演进,有效驱动数智化转型


自20世纪90年代Bill Inmon首次提出数据仓库概念以来,历经三十余年发展,数据仓库体系已发生深刻变革。数据规模海量化、业务需求实时化、基础设施云原生化成为主流趋势。本文聚焦通联支付数据仓库的技术演进路径,剖析其如何依托开源技术生态,构建高效、智能的数据服务体系,持续支撑经营决策与业务创新。

数据仓库技术发展历程

传统分析型数据库

以Oracle、MySQL、SQL Server、DB2为代表的传统关系型数据库,在早期数据量小、业务简单的场景下承担了主要的数据存储与分析任务,是数据仓库发展的起点。

传统MPP数据仓库

MPP(大规模并行处理)架构通过分布式集群实现高性能数据分析,代表产品包括Teradata、Greenplum和Vertica,标志着企业进入大规模数据处理阶段。

大数据Hadoop生态

自2003年起,谷歌发布的GFS、MapReduce和BigTable三篇论文奠定了大数据技术基础。随后Hadoop生态兴起,形成以HDFS为底层存储、MapReduce为计算模型的技术体系,并衍生出Hive、Spark、HBase、Flink等组件,构建了完整的分布式数据处理生态系统。

新型MPP数据仓库

ClickHouse、Doris、StarRocks等新一代MPP引擎在实时性、灵活性和扩展性方面显著提升,支持异构数据源接入,实现了真正的高性能OLAP能力,推动数据仓库向实时化迈进。

云原生数据仓库

借助公有云的存储计算分离、弹性扩缩容等能力,Snowflake、阿里云AnalyticDB、华为云GaussDB及开源项目DataBend、ByConity等云原生数据仓库正成为新趋势,大幅提升数据集成效率并降低运维成本。

通联数据仓库实践历程

阶段一:分析型数据库

在业务初期,通联采用Oracle搭建数据仓库,通过Kettle实现多源异构数据(Oracle、MySQL、DB2、FTP)集成,有效支撑账户、商户等资源的数据整合与分析。

随着数据量突破TB级,系统暴露出性能瓶颈、并发能力不足、缺乏统一数据服务平台等问题,难以满足日益增长的业务需求。

阶段二:Hadoop生态数仓

技术选型考量:传统MPP架构存在存算耦合、扩容成本高、性能随规模增长下降等问题。为此,通联选择基于Hadoop生态构建企业级数据平台。

离线数仓建设:

  • 存储层:采用HDFS进行海量数据低成本存储,配置3副本保障可靠性,并利用异构存储机制将热点数据存放于SSD,提升读写性能。
  • 计算层:使用Spark替代MR引擎,借助内存计算和高效调度机制,处理速度提升最高达百倍。
  • 管理平台:部署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主题。
  • 精准一次处理:采用Exactly-Once语义,配合Checkpoint与Savepoint机制,保障全链路数据不重不丢。
  • 流批一体优势:统一数据源、存储与计算口径,避免Lambda架构双链路复杂性,提升一致性与开发效率。
  • 分层优化:保留数仓分层结构的同时精简层级,提高时效性。目前D0商户数据可达分钟级,新增商户数据部分场景实现秒级更新。
  • 状态缓存优化:将公共配置表缓存至Flink状态后端,相比外部Lookup Join显著提升QPS与吞吐性能。
  • 指标计算优化:金额类指标采用Flink SQL按天汇总为基础单位累加;新增商户类指标通过状态编程结合窗口机制实现精确去重统计。

实时数仓已覆盖核心交易模块,日均处理亿级数据,误差率极低,部分场景实现零误差,显著提升业务决策时效性。

阶段三:湖仓一体

湖仓一体化目标:实现数据湖与数据仓库之间的无缝流转。数据仓库聚焦高价值、结构化数据的快速分析;数据湖则用于存储各类原始数据,支持深度挖掘与再加工,共同实现数据全生命周期管理。

Hadoop生态的角色局限:Hive、Spark、Hudi等基于HDFS的引擎虽具备强大计算能力,但因HDFS不支持随机写、需整体覆盖更新,导致写入放大且查询响应慢,更适合作为数据湖底座而非实时OLAP引擎。

基于Doris的湖仓一体架构:通联通过Doris多源数据目录功能,打通数据湖与数据仓库,发挥其极致OLAP性能加速分析:

  • 向量化执行引擎、物化视图与Rollup预聚合机制显著提升查询速度。
  • 元数据、数据与查询结果三级缓存策略进一步优化性能。
  • Native Reader兼容Parquet、ORC等主流列存格式,无需转换即可高效读取。

目前已支持Hive、Hudi连接访问,具备对接Iceberg、Paimon、MySQL、Oracle、SQL Server等主流数据源的能力,持续拓展湖仓融合边界。

通联数据仓库建设成果

数据整合规模

已完成内部绝大多数系统的数据整合,覆盖交易、商户、风险、结算、门店、终端等多个领域,历史数据跨度广,总量近PB级,日均增量达亿条,形成全面、丰富的数据资产。

数据分析能力

支持年、月、日级离线指标与秒级、分钟级实时指标,满足不同业务场景对数据时效性与分析深度的多样化需求。

数据服务供给

通过多种方式为下游业务系统提供数据服务,广泛应用于业务交付、数据加工、实时风控、经营分析与客户服务等领域,有力支撑企业数字化转型与科学决策。

【声明】内容源于网络
0
0
通联支付山东分公司
1234
内容 210
粉丝 0
通联支付山东分公司 1234
总阅读1.0k
粉丝0
内容210