我所认识的数据仓库(Data Warehouse)

首先申明我不是技术大牛,只是一个奋斗在一线的bi实施人员。做过几个dw相关的相关的项目,前不久有个项目客户要求对dw的各层给出准确的解释,借着这个机会总结下我所认识的dw,总结不对的地方欢迎拍砖指教。
dw是是1990年w.h.inmon提出的,定义是:面向主题的,集成的,稳定的,随时间变化的数据集合,用于支持管理决策过程。 dw是属于bi的一个子集,bi(business intelligence)是将与企业有关的数据包括内部数据,外部数据等转化成有用信息,形成竞争力的过程。结构如下:
数据仓库主要包括:源端数据,etl,ods,dw,数据集市
源端数据:
对企业有价值的数据都可以称作源端数据,主要是企业oltp系统产生的数据。但在大数据时代数据往往不限于这些,见bi简介。比如对于某出国留学机构,新浪微博中关于出国留学话题的微博是有用数据,他们可以通过爬虫爬取微博,经过python或者r语言处理(因为微博一般是非结构的文本)形成用户需求,情感倾向等有用信息。
etl: 数据清洗转化加载。主要通过工具(比如datastage,ssis,kettle等)结合sql实现。etl可以说是dw的基石,数据的质量,更新的效率都由etl决定。
ods:操作数据存储(operational data store)它是贴源的,全局的,近期的数据存储。主要作用是:
●近期数据的olap:基于ods制作近期近实时的报表。近期是指客户查看报表频率最高的时间段,比如物料供应报表99%的查询都是最近一个月的数据,此时如果你的
报表是基于dw(dw存放了全部7年的历史数据)开发的,首先查询查询效率上肯定没有基于ods快,其次当涉及频繁更新和异常数据修改时dw处理起来就比较麻烦。
●支持企业级跨系统oltp:比如新增一个代理商涉及crm系统,财务系统,物理供应系统的记录改变,如果没有ods层就需要一个个去修改子系统,这样既麻烦又对数据的准确性带来了风险。
dw:顾名思义就是对集团数据的全面存储,也有两大作用:
1、准统一的,高质量的集团信息统一视图,更好的保护企业数据资产
2、为数据分析和挖掘提供基础。
数据流从源端经过etl可以直接进入dw也可以经过
不得不吐槽下:一个20多年提出的概念,现在没有必要亦步亦趋去实现,应该根据实际情况灵活的选择工具或者方法区去实现。 就像20多年前有人告诉你从a地到b地要先走路去c,再从c做汽车去d,再从d坐火车去b。在当时可能是个标准的解决方案。但20年后的今天你没有必要去实践那个路线,因为时代变化太快,特别是it行业。
天善学院svip包含excel bi、python爬虫案例、python机器学习、python数据科学家、大数据、数据分析报告、数据分析师体系、深度学习、r语言案例10套课程火爆报名中,欢迎大家关注。
本文作者:天善智能社区攻城的狮子