数据仓库的架构
Posted 勿忘初心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据仓库的架构相关的知识,希望对你有一定的参考价值。
根据作者在teradata和大街网的数据仓库etl实习经验,来理解一下两者在架构设计上的联系和区别。
teradata一般是对企业级数据仓库而言,在Teradata的数据仓库架构,一般是缓冲层,模型层,集市层。如下图所示:
源系统为oracle数据库,一般有多个。通过fastload或tpump或者mutilload等工具加载到数据仓库缓冲层中,设计缓冲层主要是从技术实现的角度考虑。
基础层根据业务划分主题,通过三范式建模得来。集市层作者遇到的情况就是为作为报表的数据表。
整个ETL过程,事实上可以描述为ELT,抽取,加载,转换。这个过程由teradata自己开发的ETL Automation控制工作流程。
一般情况下,都是按天来加载数据,比如今天24:00以后加载今天的数据。也有业务要求数据要在数据仓库中实时查询,那可以通过消息队列的方式来实现。
在大街网这样的互联网的公司,数据仓库的架构是这样的,stg,ods,dwd,app。
stg:临时层,技术实现的考虑。
ods:贴源层,保存源系统细节数据。
dwd:模型层
app:应用层,往往也是报表的数据表。
如下图所示:
互联网公司与传统企业公司的区别在于点击流日志作为分析的一个主要来源。
模型设计上主要的区别在于ods这一层的设计。考虑设计它的原因主要有:
1、技术上的实现考虑,数据源来自多个异源数据库,有了这层,可以减少转换的成本,只专注于抽取和加载。
2、模型层往往根据设定的模型来得到数据,而需求是具有很大变化性的,甚至有的时候很紧急,模型层可能会无法支撑需求,所以需要一个稳定的数据细节来支撑。
更多信息可以参考http://www.alibuybuy.com/posts/23198.html。
互联网公司中,我们用hive作为数据仓库实现的数据库。
以上是关于数据仓库的架构的主要内容,如果未能解决你的问题,请参考以下文章