说说数仓(3) - 数仓架构

作者: 橘猫吃不胖 | 来源:发表于2018-07-03 11:59 被阅读1809次

    近几年工作都和BI有关,但是真正对数仓有系统的了解还是在第一家公司的时候,当时跟着IBM的顾问,了解了很多的模型设计的故事,对于入门和启蒙有很大的帮助。后面对于数仓的理解,其实都是工作中一点一点实践和摸索得来的。
    前面我们说了传统数仓和互联网数仓的区别,主要提到了服务用户群的不同,这里说的传统和互联网其实都是相对而言的,这一回呢,我们说说数仓的架构。

    现在说数仓,更多的会和数据平台或者基础架构搭上,已经融合到整个基础设施的搭建上。这里呢,我们不说Hadoop各种组件之间的配合,我们就简单说下数仓的分层架构。

    数仓建模

    说到数仓建模,就得提下经典的2套理论:

    • 范式建模
      Inmon提出的集线器的自上而下(EDW-DM)的数据仓库架构。

    • 维度建模
      Kimball提出的总线式的自下而上(DM-DW)的数据仓库架构。

    数仓的建模或者分层,其实都是为了更好的去组织、管理、维护数据,实际开发时会整合2种方式去使用,当然,还有些其他的,像Data Vault模型、Anchor模型,暂时还没有应用过,就不说了。
    维度建模,一般都会提到星型模型、雪花模型,星型模型做OLAP分析很方便。

    数仓分层

    简单点儿,直接ODS+DM就可以了,将所有数据同步过来,然后直接开发些应用层的报表,这是最简单的了;当DM层的内容多了以后,想要重用,就会再拆分一个公共层出来,变成3层架构,最近看了本阿里的书,《大数据之路》,里面有很多数仓相关的内容,很不错,参考后,目前使用的分层模式如下:


    按照这种分层方式,我们的开发重心就在dwd层,就是明细数据层,这里主要是一些宽表,存储的还是明细数据;到了dws层,我们就会针对不同的维度,对数据进行聚合了,按道理说,dws层算是集市层,这里一般按照主题进行划分,属于维度建模的范畴;ads就是偏应用层,各种报表的输出了。
    基于这种分层方式,感觉用起来还是很方便的,嗯,先到这里。

    相关文章

      网友评论

        本文标题:说说数仓(3) - 数仓架构

        本文链接:https://www.haomeiwen.com/subject/nghruftx.html