文章目录
一. 基本架构
我们把数据仓库架构理解成构成数据仓库的组件及其之间的关系,如下图:
图中显示的整个数据仓库环境包括操作型系统和数据仓库系统两大部分。
操作型系统的数据
ETL过程
这里把ETL过程分成了抽取和转换装载两个部分。
相关概念
二. 主要数据仓库架构
数据仓库技术演化过程中,产生了几种主要的架构方法,包括数据集市架构、Inmon企业信息工厂架构、Kimball数据仓库架构和混合型数据仓库架构。
1. 数据集市架构
数据集市是按主题域组织的数据集合,用于支持部门级的决策。有两种类型的数据集市:独立数据集市和从属数据集市。
1.1. 独立数据集市
独立数据集市集中于部门所关心的单一主题域,数据以部门为基础部署,无须考虑企业级别的信息共享与集成。例如,制造部门、人力资源部门和其他部门都各自有他们自己的数据集市。
一个典型的独立数据集市架构如图所示。
独立数据集市的特点:
1.2. 从属数据集市
从属数据集市的数据来源于数据仓库。数据仓库里的数据经过整合、重构、汇总后传递给从属数据集市。
建立从属数据集市的好处主要有:
1.3. Inmon企业信息工厂架构
介绍了两种数据集市,我们看下Inmon企业是如何构建数据仓库的
● 应用系统:
这些应用是组织中的操作型系统,用来支撑业务。操作型系统也叫源系统,为数据仓库提供数据。
● ETL过程:
ETL过程从操作型系统抽取数据,然后将数据转换成一种标准形式,最终将转换后的数据装载到企业级数据仓库中。ETL是周期性运行的批处理过程。
● 企业级数据仓库:
是该架构中的核心组件。企业级数据仓库是一个细节数据的集成资源库。其中的数据以最低粒度级别被捕获,存储在满足三范式设计的关系数据库中。(ing)
● 部门级数据集市:
是面向主题数据的部门级视图,数据从企业级数据仓库获取。数据在进入部门数据集市时可能进行聚合。数据集市使用多维模型设计,用于数据分析。
重要的一点是,所有的报表工具、BI工具或其他数据分析应用都从数据集市查询数据(提升效率),而不是直接查询企业级数据仓库。
2. Kimball数据仓库架构
Kimball与Inmon两种架构的主要区别在于核心数据仓库的设计和建立。Kimball的数据仓库包含高粒度的企业数据,使用多维模型设计,这也意味着数据仓库由星型模式的维度表和事实表构成。
分析系统或报表工具可以直接访问多维数据仓库里的数据。
Kimball的数据集市是一个逻辑概念,只是多维数据仓库中的主题域划分,并没有自己的物理存储,也可以说是虚拟的数据集市。
3. 混合型数据仓库架构
所谓的混合型结构,指的是在一个数据仓库环境中,联合使用Inmon和Kimball两种架构。
从架构图可以看到,这种架构将Inmon方法中的数据集市部分替换成了一个多维数据仓库,而数据集市则是多维数据仓库上的逻辑视图。
三. 操作数据存储(ODS)
操作型数据存储在某些方面具有类似于数据仓库的特点,但在另一些方面又显著不同于数据仓库。
在一个数据仓库环境中,ODS具有如下几个作用
参考:《Hadoop构建数据仓库实践》