今天这篇文章,给大家讲述一下数据仓库的架构模式,作为我们一起探讨的内容。希望大家留言、评论,我们一起学习。
一 说到数据仓库,那么我们先来了解一下数据仓库的基本概念。
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。通俗一点说就是,数据仓库就是集合了各源系统的数据,同时对数据进行ETL,并最终作为数据服务方,对外提供数据服务。
二 我们了解了数据仓库的基本概念,也清楚了数据仓库的作用,那么我们在实际工作中,数据仓库究竟是什么样的呢?以我的工作为例,我是从事在银行业,经历过各种不同类型的银行,但是数据仓库的模式大体相同。那让我们来看下数据仓库都是包含哪些东西吧。
首先,我们来看下数据仓库整体架构。
通过这张图,我们可以清楚地看到,数据仓库从横向上可以分为几个模块:
源数据层----数据交换层----数据集成层-----数据服务层-----数据交换层-----数据应用层----用户
下面我们逐个简单说下每一层的概念。
1 源数据层:源数据层就是指源系统的数据,数据类型包括结构化数据(按照方式存储的数据),半结构化和非结构化数据(一般是互联网行为数据、语音、影像等数据)。
2数据交换层:主要是指通过数据交换平台,将源系统的数据(源系统的数据一般是以文件的形式传输到数据仓库)抽取转换,由原来的数据文件,通过数据库解析,并最终进入到数据仓库ODS层。
3 数据集成层:数据集成层包括了ODS,DWD,DWS,BDM,ADM
ODS:数据仓库中最底层数据,基本上都是在源系统的数据基础上,增加一个数据日期字段,先存储到贴源层对对应的数据表中,然后通过数据仓库拉链技术,进行数据拉链式存储。
关于拉链技术,请参考上篇文章进行了解。
https://m.toutiao.com/is/JH2YRUX/
DWD:明细数据层,是业务层与数据仓库的隔离层,这一层主要是用来解决数据质量的问题,比如有的数据有空格,回车,或者数据不完整等。
DWS:数据汇总层,该层主要是按照不同的主题纬度,进行数据汇总冗余。主题纬度一般分为:产品纬度,账户纬度,渠道纬度,协议纬度等,数据表一般是宽表的形式,即将各纬度的数据尽可能多的存储到一张表里,这样在查询的时候就不用关联其他表了。
BDM:应用层,这一层主要是用来为下游应用产生个性化,定制化数据。一般也是按照各主题域进行划分,如客户主题、风险主题、交易主题、资产主题等,这一层也会有一些模型工厂,即通过模型工具定期执行产生的模型预测类数据。
注:应用层在一些银行的数据仓库里是没有的。直接从DWS到ADM 层了。
ADM:集市层,也可以理解为一个小型数据仓库,比数据仓库数据粒度更细化,更加面向应用需求。现在我接触的数据集市主要有个人集市、对公集市、风险集市、营销集市。现在有些数据集市是作为一个单独模块拿出来独立运营,有些数据集市还是会放到数据仓库或者大数据平台中。但是集市层的数据源都是数据仓库或者直接是源系统。
数据集市可以和数据仓库并行,数据集市的数据源来自数据仓库和源系统。也可以和数据仓库串行,数据源来自于数据仓库。看每个行的具体情况而定。下面我会写一篇文章来简单聊一下个人客户集市的建设。
4 数据服务层:通过对数据集市数据进行二次加工分析,形成对外服务输出数据,直接通过数据交换平台,输出到各应用系统。
5 数据应用层:主要是通过解析数据服务层数据,并写入到应用系统数据库,供业务人员使用。
三 总结一下
数据仓库就是将源系统的数据进行抽取,转换,加工,按照不同纬度、主题形成面向业务的数据,然后通过一定的数据接口提供给各业务系统。
数据仓库主要包括。ODS,DWD,DWS,ADM。
ODS:贴源层
DWD:明细层
DWS:汇总层
ADM:集市层
好了,这篇文章就给大家写到这里了,希望大家留言、评论。我们一起探讨,学习。大家喜欢的,可以点个关注 ,我会不定期更新文章,将自己的经验分享出来。