数据仓库的两种建模方法(范式建模和维度建模)

数据仓库的两种建模方法

范式建模

  • Inmon提出的集线器的自上而下(EDW-DM)的数据仓库架构。操作型或事务型系统的数据源,通过ETL抽取转换和加载到数据仓库的ODS层,然后通过ODS的数据建设原子数据的数据仓库EDW,EDW不是多维格式的,不方便上层应用做数据分析,所以需要通过汇总建设成多维格式的数据集市层。优势:易于维护,高度集成;劣势:结构死板,部署周期较长
  • 范式建模应用在EDW层
  • 一个符合第三范式的关系必须具有以下三个条件:
    1. 每个属性的值唯一,不具有多义性;
    2. 每个非主属性必须完全依赖于整个主键,而非主键的一部分;
    3. 每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。
  • 但是由于EDW的数据是原子粒度的,数据量比较大,完全规范的3范式在数据的交互的时候效率比较低下,所以通常会根据实际情况在事实表上做一些冗余,减少过多的数据交互。

               

Inmon理论下结构就是:ODS、EDW和DM,也就是贴源层、主题模型层、共性加工层以及集市层。每一个层对应于数据库下面的模式,接下来依次介绍这四个层:

(1)  ODS(贴源层):即这里存放的数据与原系统保持一致,将采集公司所有的系统产生的数据以及外部数据(包括合作数据以及爬虫获得的数据),将所采集的数据汇总到一起,供EDW和DM使用;

(2)  EDW:这一层分为两个,即ADM(共性加工层)和FDM(主题模型层)。其中FDM将从ODS层不同系统不同表的字段进行分类,同一主题的字段都归为一类,目前流行的十大主题;ADM是加工一些共性的指标,指标从ODS或者FDM的字段加工来,这层主要供集市层使用;

(3)  DM:数据集市层,这一层是将业务部门所关注的指标进行汇总,形成的数据,不同的业务部门可以形成不同的集市,具体情况可以视情况而定;集市层的架构可以细分为:基础层、汇总层和分析层。

这样的层次结构,虽然层次很清晰,但是如果越靠近底层数据出现问题,那么就会越影响到后面的;同时时间上做不到实时更新,一边都是T+1,或者越到后面时效性都可能是T+2/3的情况。因此当我们考虑到我们的应用的场景是否需要考虑时效性的时候,我们也要做出相应的调整。

维度建模

  • Kimball提出的总线式的自下而上(DM-DW)的数据仓库架构。同样的,操作型或事务型系统的数据源,通过ETL抽取转换和加载到数据仓库的ODS层,然后通过ODS的数据,利用维度建模方法建设一致维度的数据集市。通过一致性维度可以将数据集市联系在一起,由所有的数据集市组成数据仓库。优势:构建迅速,最快的看到投资回报率,敏捷灵活;劣势:作为企业资源不太好维护,结构复杂,数据集市集成困难。
  • 星型模型(推荐)和雪花模型

           

在复合式的数据仓库架构中,操作型或事务型系统的数据源,通过ETL抽取转换和加载到数据仓库的ODS层,然后通过ODS的数据,利用范式建模方法,建设原子数据的数据仓库EDW,然后基于EDW,利用维度建模方法建设数据集市。

优劣比较

特性 Kimball Inmon
时间 快速交付 路漫漫其修远兮
开发难度
维护难度
技能要求 入门级 专家级
数据要求 特定业务 企业级

参考文献:

深入对比数据仓库模式:Kimball vs Inmon

发布了36 篇原创文章 · 获赞 58 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_20183817/article/details/104991764
今日推荐