在进行数据分析之前,我们必须了解相关的基础理论知识
数据仓库的理论知识
1:数据仓库的定义
数据仓库是一个面向主题的、集成的、稳定的,反映历史变化的,随着时间的流逝发生变化的集合,它主要用来支持企业管理人员的决策分析
1.1 面向主题
根据原系统业务数据的特点进行主题的抽取和确定每个主题所包含的数据内容,例如典型的主题包括:客户主题、产品主题、财务主题等,而客户主题包括:客户基本信息、客户信用信息、客户资产信息等内容。在分析数据仓库主题的时候,一般的方法是先确定几个基本的主题,然后再将范围扩大,最后再逐步求精,如图3-2所示。
图3-2 面向主题的方法 |
1.2 集成性
面向操作型的数据库通常是异构的、并且相互独立,所以无法对信息进行概括和反映信息的本质。而数据仓库中的数据是经过源数据的抽取、清洗、转换、加载得到的,所以为了保证数据不存在二义性,必须对源数据进行编码的统一和必要的汇总,以保证数据仓库内数据的一致性。数据仓库在经历数据集成阶段后,使数据仓库中的数据都遵循统一的编码规则,并且消除许多冗余数据。
集成一般有如下两种形式:
(1)数据的集成
当数据从操作型数据传向数据仓库时,数据就会被集成,如图3-3所示。
(点击查看大图)图3-3 数据的集成 |
(2)编码的集成
当数据仓库是从原有分散的源数据库抽取出来的时候,为了消除编码的不一致性,需要将这些来自不同数据源的数据编码集成起来,使之遵循统一的编码规则,如图3-4所示。
图3-4 编码的集成 |
1.3 稳定性
数据仓库中的数据反映的都是一段历史时期的数据内容,它的主要操作是查询、分析而不进行一般意义上的更新,一旦某个数据进入到数据仓库后,一般情况下数据会被长期保留,当超过规定的期限时才会被删除。通常数据仓库需要做的工作就是加载、查询和分析,一般不进行任何修改操作,是为了企业高层人员决策分析之用,如图3-5所示。
图3-5 数据的加载 |
1.4 反映历史变化
操作型数据库主要反映某一时间段内的数据,而数据仓库的目标就是对企业的发展趋势作出分析和预测。数据仓库不断从OLTP数据库中获得变化的数据,从而形成分析和预测需要的历史数据,所以一般数据仓库中数据表的键码都含有时间键,以标明数据的历史时期信息,然后不断增加新的数据内容。通常来说,数据仓库包含的时间期限大概是5~10年,当超出规定的期限时,需要删除这些过时的数据。通过这些历史信息可以对企业的发展历程和趋势作出分析和预测。同时要清楚,数据仓库的建设需要大量的业务数据作为积累,并将这些宝贵的历史信息经过加工、整理,最后提供给决策分析人员,这是数据仓库建设的根本目的,如图3-6所示。
图3-6 操作型数据库和数据仓库的区别 |
数据仓库和数据库的区别
下面用一个图例来说明数据仓库与数据库的不同之处。数据库生产系统主要是面向应用的、事务型的数据处理,一般来说具有实时性较高,数据检索量较小,普通用户的数量较大等特点。而数据仓库系统主要面向主题的、分析型的数据处理,具有实时性要求不高,数据检索量较大,主要针对特殊的用户群体(一般是企业高层领导、决策分析人员等),用户的数量较小等特点。其中事务型和分析型处理数据是有区别的。事务型处理数据一般来说对性能的要求较为严格,数据是事务驱动的,主要面向应用,存储的一般都是即时性、细节性的数据,数据是可更新的。对于分析型处理数据,一般来说,对性能的要求较高,数据是分析驱动的,主要面向决策分析,存储的一般都是历史、汇总性的数据,数据是不可更新的。事务型处理数据和分析型处理数据的区别如图3-7所示。
图3-7 事务型处理数据和分析型处理数据的区别 |
数据库生产系统和数据仓库决策系统的区别如图3-8所示。
图3-8 数据库生产系统和数据仓库决策系统的区别 |
笔者认为:数据仓库是区别于一般数据库存储的另外一种数据组织方式。它以面向主题的形式进行数据存储,同时只有数据插入的操作,而没有数据更新和删除的动作。数据仓库实际上就是一个过程,而非某一个产品,不同的企业在构建数据仓库系统的时候,需要企业相关业务人员和数据仓库开发设计人员在各个部门的配合下共同建设。