etl构建数据仓库五步法_数据仓库-ETL

数据仓库是由外部多个数据源汇总集成的,“集成”这个词代表并不是简单的堆积,而是需要进行一些逻辑处理,数仓的集成就是这样,因为外部数据源都是异构的,所以需要做很多工作才可以进行集成,这些工作包括但不限于:字段的意义统一,轻度统计等。

抽取数据

有如下策略:

  1. 时间戳判断
  2. 扫描增量文件
  3. 日志文件,审计文件扫描
  4. 修改应用程序(很少使用)
  5. 映像文件扫描(很少使用)

另外,抽取的数据需要增加时间戳(必须的),存储到介质里面需要进行压缩。

数据模型

高层模型,实体关系图(Entity Relationship Diagram,ERD),主要目的是识别实体

中间层模型(DIS),识别实体中字段

物理模型,基于技术选型,做一些基于物理层配置;大多数情况下中间层和物理层模型一致,这个其实和DB Designer里面的三种模式向对应:高层,业务层以及物理层(高层我记不清叫什么名字了)。

元数据

包括不限于:

  1. 程序员所知道的DataSource相关内容;
  2. DSS分析人员所知道的DataSource相关内容;
  3. 数据进入到仓库的转换
  4. 数据模型
  5. 数据模型和数据仓库的关系
  6. 抽取数据的历史记录

时间间隔

并非越快越好,给数据一些修改的机会,一旦进了DW之后如果再想修改就难了。

关于ETL和ELT

这个话题比较有趣,很多大牛讲忽略他们的区别,但是他们区别还是比较大,关键就是在于T,即Transformation,数据的(变形)处理,比如数据类型的统一;ETL,这个数据处理是在进入到DW之前就做完了,使用的ETL的资源来做这件事情;ELT,则是在进入到DW之后,利用其它数据库工具来做数据处理(比如spark);所以他们的区别就是使用的资源节点不同。(下图参考“ETL与ELT的区别与联系”)

9b0d9fe92c0a45cb9c44f4a3a0642524.png

DW记录的触发

一个是业务活动,一个是时间,如果是前者一般将会实时触发,后者则是定时跑批

DW的一条记录(快照)是有如下部分组成:

  1. 时间
  2. 关键字
  3. 主要非关键字
  4. 二级数据

DW的有一种记录称之为概要记录,是一种粗粒度数据,会丢失一些细节,但是这些细节对于DSS人员而言并不重要;为了避免细节丢失,可以将这些细节放置到廉价的存储介质中,以备未来某个场景需要

星型结构

只适合于数据集市,所谓星型结构是指事实表作为中心表,事实表中每个字段都可以关联到一张维度表,之所以称之为维度表,是因为事实表中每个字段都是“一个维度”,描述一类信息的关键字,可以通过事实表中的维度辐射到具体维度的信息。

但是有一个一个问题:为什么星型结构只适合数据集市,而不是数据仓库呢?因为星型结构本身就是针对具体的业务来构建起来的,而数据仓库的结构不是为某个部门,某个业务,而是全局性的数据服务,所以星型结构并不适合数据仓库。

ODS

ODS,Operational Data Store,操作性数据存储,里面存储的都是概要性数据。ODS中数据有来自于操作型环境,还有来自于数据仓库分析的结果。

Zachman框架构建

zachman是构建数据仓库的架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值