什么是数据仓库?
直观的理解,数据仓库就是大量数据的集合。从古代起,人类一开始通过打结记事,到后来使用文字记事。但是这些方式的信息量都特别少。直到近代大量计算机的使用,还有互联网的迅速崛起,产生了海量的数据。
作为一个企业,在运行的过程中必然会产生大量的数据用于记录企业的运行过程,比如订单信息、用户的操作信息等等。这些信息随着时间的推移,会越来越多的存储在我们的数据系统和文件系统之中。那么,这些数据库系统和文件系统数据量这么大,可以称之为数据仓库吗?
答案是否定的,企业运行的过程中产生的数据全部都是“原始数据/操作型数据”。只有把这些原始的操作型数据通过ETL过程进行规范化处理之后,才能够被称为数据仓库。
数据仓库的演变
数据仓库是伴随着信息与决策支持系统的发展过程产生的。
随着企业的大量使用计算机,操作型系统产生了大量的数据。一开始,企业分析数据是通过一种抽取程序从“操作型数据库”中通过一定的条件把数据转移到其它文件系统或者数据库中,然后再对这些数据进行分析。
一开始这种方式可以很好地抽取和分析数据,同时对于生产环境的数据库影响也不大。但是,随着企业的发展,产生了大量的抽取程序,还有抽取程序的抽取程序,抽取程序的抽取程序的抽取程序。。。。。。。这就产生了一个星型的结构,而这个结构的中心就是生产环境的数据库系统。这种星型结构被形象的成为蜘蛛网。
这就导致了一系列的问题,你想想,A部门通过自己的一套抽取程序获了一些数据,并且分析出了公司业绩增长15%的结果,B部门通过自己的一套抽取程序得的数据表名公司业绩增长为10%。为什么会这样子呢?因为他们抽取的规则不一样,得到的数据就不一样。更不用说,我们的抽取过程还伴随着多层抽取,数据经过多层早就变样了。因为每个部门都有自己的规则来选择数据并进行分析,那么结果不同也就不难理解了。
总的来说,这种方式抽取的数据,不同部门因为基准时间、算法、抽取层次、没有公共数据源等等问题会有各种各样的结果。
除了以上,还有就是不同的部门产生的数据都是为各自部门服务,如果有分析要使用不同部门最近几年的时间数据,就会发现这些数据都是孤岛,很难串联起来。这种时候我们就需要体系化的数据仓库环境。