2021.4.26数据仓库之数据仓库分层设计与命名规范

复习:
上节课从维度建模开始说的,维度建模是源自于数据集市,数据集市的概念是由拉尔夫金博尔提出来的,维度建模主要应用的领域是OLAP的领域,就是数据分析的场景,维度建模里面只有事实表和维度表,事实表就是现实世界中的操作型事件就放在事实表里面,事实表是由维度和度量来组成的,维度就是看数据的角度,他和主题的区别就主题是一个更大的角度,维度就是主题底下的某一些小的角度去观察度量,事实表中的每一个维度,都是会有一个维度表与它一一对应,就像主外键关联,可以在事实表里关联到更多的维度属性来对度量进行统计,那维度表更像是主键唯一的表,事实表里面一般存储这些维度的时候都是用代号去存储的,这样方便事实表不会过大,如果存储描述性的列,对应的数据表可能会变得很大。一般事实表用fact来表示,维度表用dim来表示,有些命名也不按照这个套路来也没关系,只是通用的一种命名方式。根据维度表和事实表的不同的关系,我们又把模型分为了星型模型和雪花模型,还有星座模型,星型模型就是一张事实表与很多维度表进行关联,可以得到一个数据的宽表,这里的维度表只是一层维度,就可以关联到我们想要的宽表,这就是很简单的星型模型,这种模型在维表里是不符合范式建模的,有数据冗余的,可以降低冗余拆分成更细粒度的维表,更加范式化的去建表,这个时候就形成了雪花模型,一张事实表和过渡维度表,再去和小的细粒度维度表去关联,才能拿到真正的维度列,这是雪花模型。星型模型在数据分析的时候效率非常高,但是有数据冗余,雪花模型分析效率由于关联很多表效率比较低,它的数据表存储的时候冗余相对比较少。
又说了维度建模的案例,分析出来哪些是事实表,哪些是维度表就可以了。数据仓库的分层,目的为了使数据更有秩序的去流转,做到以下这4点,清晰的数据结构,减少重复开发,统一数据出口,简化问题,有必要在数据处理的时候,在数据仓库里进行分层,除了以上这几点之外,Bill提出的CIF架构,也是结合了自上而下和自下而上构建数据仓库的优势,为了解决数据仓库分析效率的问题,以及数据不一致的问题,提出来一个CIF架构,这个架构建议在数据仓库里分不同的层,针对不同的层,使用不同的建模方式。
ODS层就是将源业务系统里的数据一对一的导入进来,这里的粒度保持一致,ODS层与关系型数据库里的表,这种建模方式是一致的,都是范式建模,到了DWD这一层,只是针对ODS层的数据,做相同数据的聚合,做数据质量的把控,做数据清洗,提供更干净的数据,更细粒度的数据,在DWD层了,它的粒度一般和ODS也是保持一致的,只是做一些数据空值的填补,数据的过滤,它的建模方式也是范式建模的方式。到了DWM这一层就是按照一些主题,通用的维度进行聚合,DWS是基于DWM,在DWM基础上再去进一步的按照主题,按照维度,进行聚合得到一个大宽表,DWS里面的数据,我们叫数据服务层,它服务的就是DM层数据集市,未来数据集市里面是面向主题域的,和业务强相关,业务报表数据都在这里面,有可能给机器学习部门去使用,可能给业务部门去使用,可能给APP就是web部门去使用,数据集市是面向不同部门的数据,它都是基于宽表去统计分析的报表数据,它的展示可以是以报表的方式去展现,或者以可视化方式,或者以接口的方式提供web用户去看也是可以的。
数据仓库分层的命名可能每个公司都有不同的方式,记住这几层,分别每一层做的事情就可以了。虽然理论方式不同,但这里分层每一层做的事情是一致的,只是名称上有所不同。
又提到了数据库与数据仓库的区别:
6个方面,数据范围,数据变化,应用场景,处理数据量,设计理论,建模方式

上节课提到的问题:
clickhouse和druid、kudu的应用场景

kudu的应用,hdfs里的数据存储起来,查询的时候,某一条数据是非常困难的去获取,我们想在分布式里存储数据,想精准的获取一条数据,可以在hbase中去存储,那hdfs对于随机的去读取支持不好,我们可以在hbase里对于随机的查询,可以很好的得到支持,但是hdfs有一个缺点,就是hdfs主要面向数据分析,在hive

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值