3. 湖仓一体基础

在金融行业的数据架构演进中,数据湖、数据仓库与湖仓一体并非简单的名词更替,而是对“数据存哪里、怎么算、给谁用、如何治理”这四个根本问题的不同回答。理解三者的核心差异与演进逻辑,是后续搭建端到端平台的前提。

一、核心概念:三种范式的本质区别

数据仓库(Data Warehouse)的核心是“先建模、后入库”。数据在写入前必须经过ETL清洗、转换,并按星型或雪花模型组织成事实表与维度表。它提供强Schema约束、ACID事务和高度优化的SQL查询能力,适合BI报表与监管报送。代价是:非结构化数据难以进入,Schema变更成本高,历史明细常被聚合而丢失。

数据湖(Data Lake)的核心是“先存储、后定义”。原始数据以文件形式落入对象存储(如S3、HDFS、OSS),支持Parquet、ORC、JSON、CSV乃至图片、日志等任意格式。它解决了海量、多源、低成本的存储问题,但缺乏事务、Schema约束和高效索引,容易退化为“数据沼泽”。

湖仓一体(Lakehouse)的核心是“在数据湖上实现仓库级能力”。它通过开放表格式(Iceberg、Hudi、Delta Lake)在对象存储之上叠加事务、Schema演进、时间旅行、快照隔离等能力,使同一份数据既能被Spark、Flink等引擎做批流处理,又能被Trino、StarRocks等做交互式SQL分析,从而减少数据搬运与冗余副本。

三种数据架构的能力覆盖对比 数据仓库 强Schema · ACID · SQL优化 结构化数据 BI报表 / 监管报送 非结构化数据 ✗ Schema变更成本高 数据湖 低成本 · 多格式 · 弹性扩展 原始数据 / 日志 / 文件 机器学习 / 探索分析 事务能力 ✗ 易退化为数据沼泽 湖仓一体 开放表格式 · 批流一体 全类型数据统一存储 BI + AI + 实时分析 ACID + Schema演进 时间旅行 / 快照隔离 湖仓一体 = 数据湖的开放存储 + 数据仓库的事务与治理能力

二、演进历程:从分离到融合

第一阶段是仓库主导期:以Teradata、Oracle、Greenplum为代表,数据经过严格ETL后进入仓库,支撑报表与决策。第二阶段是湖仓分离期:Hadoop生态兴起后,原始数据先入湖,再抽取到仓库,形成“湖+仓”双栈,带来链路长、口径不一致、存储冗余等问题。第三阶段是湖仓一体期:以Iceberg、Hudi、Delta Lake为代表的开放表格式,在对象存储上直接提供表级事务与元数据管理,配合Spark、Flink、Trino等引擎,实现“一份数据、多种计算”。

关键判断:湖仓一体不是把仓库搬到湖上,而是让湖具备仓库的“可信”属性——事务、Schema、权限、血缘、快照。缺少这些,湖仍然只是存储池。

三、技术选型:金融场景的评估清单

金融行业选型需同时考虑监管合规、数据一致性、实时性与生态成熟度。以下清单可作为评估框架:

评估维度 数据仓库 数据湖 湖仓一体
事务与一致性 强ACID 弱,依赖文件覆盖 表级ACID + 快照隔离
Schema管理 写时约束,变更慢 读时解析,易失控 Schema演进 + 版本回溯
数据类型 结构化为主 全类型 全类型 + 结构化治理
实时能力 微批/准实时 流式写入但难查询 批流一体,分钟级可见
金融适用性 监管报送、核心报表 日志、风控特征、AI样本 统一底座,兼顾合规与创新

四、金融适用性与常见误区

在银行、证券、保险场景中,湖仓一体的价值集中在三处:一是反洗钱与风控特征工程,需要同时访问交易明细、日志与外部数据;二是监管报送,要求数据可追溯、可审计、口径统一;三是实时营销与客户画像,要求批流数据在同一张表上完成关联。

误区一:认为“建了湖仓一体就不需要仓库”。实际上,面向高并发BI的集市层仍可用MPP数据库承载,湖仓一体更多承担统一存储与批流加工。
误区二:只引入Iceberg/Hudi却未建设元数据与权限体系,导致表数量膨胀、血缘断裂。
误区三:忽视小文件问题。金融高频写入场景下,需配置定时compaction与快照过期策略。

# 以Iceberg为例,金融场景常用维护参数
write.target-file-size-bytes=134217728      # 128MB,控制小文件
write.metadata.delete-after-commit.enabled=true
history.expire.max-snapshot-age-ms=604800000 # 快照保留7天
commit.retry.num-retries=4                   # 冲突重试,保障并发写入

复盘建议:选型时先明确“谁在什么时效下、用什么引擎、查哪类数据”,再反推表格式与计算引擎。金融项目优先验证ACID、时间旅行、权限对接与审计日志四项能力,而非只看查询性能跑分。