数仓基本架构--理论篇

Ralph Kimball与Bill Inmon是数据仓库领域两大权威专家,分别提出两种主流架构方法论。


Kimball倡导维度建模(星型/雪花模型),采用自下而上的总线架构,通过事实表与维度表快速构建数据集市,强调易用性和查询性能,适合敏捷开发场景。


Inmon主张自上而下的企业级数据仓库(EDW),基于第三范式实现高度集成的中央数据源,适合对一致性要求高的大型企业。


二者核心差异体现在设计理念(部门需求驱动vs企业全局视角)、数据模型(维度建模vs范式建模)和实施路径(快速迭代vs长期规划)。


实际应用中常结合两者优势,形成混合架构方案。

Kimball 指的是数据仓库领域的一位权威专家------Ralph Kimball(拉尔夫·金博尔)

他提出的维度建模 理论(核心是星型模型雪花模型 )是数据仓库设计的两种主流方法论之一。其架构思想强调以最终用户的易用性和查询性能为中心 ,通过事实表 (存放业务度量)和维度表 (存放描述属性)来组织数据,典型的实现就是大家常说的星型模式

简单总结:

  • Kimball 架构 = 维度建模 + 总线架构 + 一致性维度

  • 核心交付物 :一个包含多个相关数据集市的联合数据仓库

与之相对的是 Inmon 架构 (由 Bill Inmon 提出),它强调先构建一个标准化的企业级数据仓库(EDW),再从中生成数据集市。


EDWEnterprise Data Warehouse(企业数据仓库) 的缩写。

简单来说,它是一个面向整个企业、集中存储和管理所有业务数据的中央数据库。它的核心特点是:

  • 面向主题:按业务主题(如客户、产品、订单)组织数据,而非按应用程序。

  • 集成性:将来自不同业务系统(ERP、CRM等)的数据经过清洗、转换后统一存储。

  • 历史性:保存长期的历史数据,支持趋势分析和决策支持。

  • 非易失性:数据一旦写入,通常不会被修改,只进行查询和分析。

在数据仓库领域,EDW 通常与 Bill Inmon 的企业信息工厂(CIF:corporate information factory)架构紧密关联------即先构建一个标准化的 EDW,再基于它生成各业务部门的数据集市(Data Mart)。这与 Kimball 的"先建数据集市再组合"的维度建模思路形成了两种主流方法论。


Kimball 和 Inmon 两种主流数据仓库架构方法论的核心差异

对比维度 Kimball 架构 (维度建模) Inmon 架构 (企业信息工厂)
核心倡导者 Ralph Kimball(拉尔夫·金博尔) Bill Inmon(比尔·英蒙)
设计理念 自下而上 (Bottom-Up) 从部门级需求出发,构建数据集市,再组合成企业数据仓库。 自上而下 (Top-Down) 先构建全局、标准化的企业数据仓库 (EDW),再为各部门生成数据集市。
数据模型 维度建模 核心是星型模型(事实表 + 维度表)和雪花模型,强调易理解和查询性能。 范式建模 通常采用 第三范式 (3NF),强调数据冗余低、一致性和灵活性。
核心交付物 数据集市 (Data Mart) 直接面向业务部门(如销售、市场)的分析需求。 企业数据仓库 (EDW) 作为单一、权威的数据源,服务于整个企业。
开发周期 较快 从单一业务域或部门开始,能快速交付价值,迭代式发展。 较慢 前期需要庞大的企业级数据建模和集成工作,见效周期长。
适用场景 • 业务需求明确、变化快 • 需要快速上线和迭代 • 业务部门有较强自助分析能力 • 企业对数据一致性和集成度要求极高 • 有足够资源和时间进行长期规划 • 需要支持复杂的企业级报表和跨域分析
比喻 (接上表) 像搭建积木,先做好每个独立功能的积木块,再组合成城堡。 像建造摩天大楼,必须先打好深地基和主体结构,再进行内部装修。

💎 总结

  • Kimball 更敏捷,适合需求多变、希望快速看到回报的团队。

  • Inmon 更稳健,适合数据环境复杂、对全局一致性有严格要求的超大型企业。

在实际业界中,两者并非绝对对立,很多企业会结合使用,例如先使用 Kimball 方法快速满足部门需求,同时逐步按 Inmon 思想沉淀和整合通用的企业级数据模型。


四种主流的数据仓库架构:Kimball数仓架构、独立数据集市架构、辐射状企业信息工厂 Inmon架构,混合辐射状架构与Kimball架构 之间的区别

这四种架构的核心区别在于数据来源、集成方式以及交付顺序 的不同。简单来说,它们回答的是"数据从哪里来,在哪里整合,最终给谁用"这三个问题。

下面是它们的核心区别对比:

架构类型 核心思路 数据源 数据存储 适用场景
Kimball 数仓架构 自下而上,从部门需求出发,先建数据集市,再组合成企业仓库。 从多个业务系统直接抽取。 维度建模的星型/雪花模型存储,强调易用性。 业务需求明确、希望快速迭代、业务部门自助分析能力强的团队。
独立数据集市架构 部门级独立建设,各业务部门(如市场、销售)各自为政。 直接连接各自的业务系统。 独立的、非集成的数据集市,存在数据冗余和不一致。 初期探索性项目,或部门间分析需求完全独立、无需整合的历史遗留系统。
辐射状企业信息工厂 (Inmon) 自上而下,先构建集成的、标准化的中央数据仓库(EDW)。 所有数据先进入中央EDW。 EDW通常采用第三范式,再从EDW辐射出各数据集市。 企业对数据一致性和集成度要求极高,有充足资源和长期规划的大型企业。
混合辐射状与Kimball 融合方案,中央EDW做标准化,但数据集市采用Kimball的维度建模。 同样先进入中央EDW。 EDW采用3NF(Inmon思路),但数据集市采用维度建模(Kimball思路)。 兼顾全局数据一致性和部门级分析灵活性,是当前许多大型企业的首选实践。

💎 总结

  • Kimball 像搭积木,最灵活,起步快。

  • 独立数据集市 像各自盖小楼,最随意,但有数据打架的风险。

  • Inmon 像建地基和摩天大楼,最稳健,但前期投入巨大。

  • 混合架构 像先打好坚实的地基,再用灵活的积木盖内部装修,是当前很多大型企业平衡"一致性与敏捷性"的主流选择。

在实际工作中,很多企业最终都会走向混合架构,因为它兼顾了中央集权的数据治理和业务部门的敏捷分析需求。

相关推荐
Dragon online1 年前
数据仓库深度探索系列:架构选择与体系构建
大数据·数据仓库·分布式·架构·spark·大数据架构·数仓架构
怒码ing2 年前
数仓架构:离线数仓、实时数仓Lambda和Kappa、湖仓一体数据湖
大数据·数据仓库·实时数仓·lambda架构·kappa架构·离线数仓·数仓架构
Lansonli2 年前
大数据基础:数仓架构演变
大数据·数据仓库·数仓架构