这些天在实习,公司要做数据分析,要先建立数据仓库。但是经常有人问我做什么,我回答数据仓库都不是特别明白是什么东西,我也不知道应该怎么更好的表述。因此我决定通过这篇文章好好解释一下什么是数据仓库。
按照官方解释:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。(写得挺牛逼以至于我根本理解不了)
一、提出问题为了更好地理解,在这里先提几个问题。
1、如果你要的数据分别存放在很多个不同的数据库,甚至存在文本文件,excel 中,你要如何获取这些数据?
2、如果你从这些数据源中取出了你要的数据,但是发现格式不一样,或者数据类型不一样,你要怎么规范?
3、如果有一天你需要查历史数据,但你发现这些数据被修改过的,你要怎么办?
4、如果你是一个只会简单查询的人,你想从复杂的数据库中获取数据,应该怎么办?
5、如果你有一个关于城市人口的数据库,你想知道“某个镇学历分布情况”,要怎么快速高效地得知呢?
二、解决问题为了解决上面几个问题,数据仓库就诞生了,从逻辑上理解,数据库和数据仓库没有区别,都是通过数据库软件实现存放数据的地方,只不过从数据量来说,数据仓库要比数据库更庞大德多。数据仓库主要用于数据挖掘和数据分析,辅助领导做决策。
构建数据仓库的过程是将不同数据源的数据整合起来,通过对数据进行清洗,规范化数据;根据需求围绕一个主题进行构建;并且构建好的数据仓库不用于UPDATE,仅用于查询;构建好的数据仓库也方便获取数据,节省了一定的资源。
三、特点
那么接下来数据仓库的特点就比较容易理解了。
1、集成性数据仓库中存储的数据是来源于多个数据源,原始数据在不同数据源中的存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。
2、稳定性数据仓库中保存的数据是历史记录,不允许被修改。用户只能通过分析工具进行查询和分析。
3、动态性数据仓库数据会随时间变化而定期更新,不可更新是针对应用而言,即用户分析处理时不更新数据。
4、主题性传统数据库对应项目不同,数据仓库根据需求,将不同数据源的数据整合,所有数据都围绕某一主题。比如“分析某个地区人口的学历”、“企业的注册资本”这样类似地主题。