1、原数据仓库原理数据仓库原理-by zvane1. 数据仓库概念传统数据库以及OLTP(On-Line Transaction Processing 联机事务处理)在日常的管理事务处理中获得了巨大的成功,但是对管理人员的决策分析要求却无法满足。因为,管理人员常常希望能够通过对组织中的大量数据进行分析,了解业务的发展趋势。而传统数据库只保留了当前的业务处理信息,缺乏决策分析所需要的大量的历史信息。 为满足管理人员的决策分析需要,就需要在数据库的基础上产生适应决策分析的数据环境数据仓库(Data Warehouse)。1.1 定义William H.Inmon在1993年所写的论著Building
2、the DataWarehouse首先系统地阐述了关于数据仓库的思想、理论,为数据仓库的发展奠定了历史基石。文中他将数据仓库定义为:A data warehouse is a subject-oriented, integrated, non-volatile, time-variant collection of data in support of management decisions.一个面向主题的、集成的、非易失性的、随时间变化的数据的集合,以用于支持管理层决策过程。1.2 特性1.2.1 subject-oriented(面向主题性)面向主题表示了数据仓库中数据组织的基本原则,数
3、据仓库中的数由数据都是围绕着某一主题组织展开的。由于数据仓库的用户大多是企业的管理决策者,这些人所面对的往往是一些比较抽象的、层次较高的管理分析对象。例如,企业中的客户、产品、供应商等都可以作为主题看待。从信息管理的角度看,主题就是在一个较高的管理层次上对信息系统的数据按照某一具体的管理对象进行综合、归类所形成的分析对象。从数据组织的角度看,主题是一些数据集合,这些数据集合对分析对象作了比较完整的、一致的描述,这种描述不仅涉及到数据自身,而且涉及到数据之间的关系。1.2.2 integrated (数据集成性)数据仓库的集成性是指根据决策分析的要求,将分散于各处的源数据进行抽取、筛选、清理、综
4、合等工作,使数据仓库的数据具有集成性。数据仓库在从业务处理系统那里获取数据时,并不能将源数据库中的数据直接加载到数据仓库中,而是需要进行一系列的数据预处理,即数据的抽取、筛选、清理、综合等集成工作。1.2.3 time-variant 数据的时变性数据仓库的时变性,就是数据应该随着时间的推移而变化。尽管数据仓库中的数据并不像业务数据库那样反映业务处理的实际状况,但是数据也不能长期不变,如果依据10年前的数据进行决策分析,那决策所带来的后果将是十分可怕的。因此,数据仓库必须能够不断捕捉主题的变化数据,将那些变化的数据追加到数据仓库中去,也就是说在数据仓库中必须不断的生成主题的新快照,以满足决策分
5、析的需要。数据新快照生成的间隔,可以根据快照的生成速度和决策分析的需要而定。例如,如果分析企业近几年的销售情况,那快照 可以每隔一个月生成一次;如果分析一个月的畅销产品,那快照生成间隔就需要每天一次。1.2.4 non-volatile 数据的非易失性数据仓库的非易失性是指数据仓库的数据不进行更新处理,而是一旦数据进入数据仓库以后,就会保持一个相当长的时间。因为数据仓库中数据大多表示过去某一时刻的数据,主要用于查询、分析,不像业务系统中的数据库那样,要经常进行修改、添加,除非数据仓库中的数据是错误的。1.3 in support of management decisions 支持决策系统数据
6、仓库的组织的根本目的在于对决策的支持。高层的企业决策者、中层的管理者和基层的业务处理者等不同层次的管理人员均可以利用数据仓库进行决策分析,提高管理决策的质量。企业管理人员可以利用数据仓库进行各种管理决策的分析,利用自己所特有的、敏锐的商业洞察力和业务知识从貌似平淡的数据发现众多的商机。数据仓库为管理者利用数据进行管理决策分析提供了极大的便利。1.4 数据仓库与传统数据库的比较对比内容数据库数据仓库数据内容当前值历史的、存档的、归纳的、计算的数据数据目标面向业务操作程序、重复处理面向主体域、管理决策分析应用数据特性动态变化、按字段更新静态、不能直接更新、只是定时添加数据结构高度结构化、复杂、市和
7、操作计算简单、适合分析使用频率高中到低数据访问量每个事务只访问少量记录有的事务可能要访问大量记录对相应时间的要求以秒为单位计量以秒、分钟、甚至小时为计量单位2. 数据仓库体系结构3. 数据模型3.1 元数据(Metadata)元数据描述了数据的结构、内容、键、索引等项内容。在数据仓库中,元数据定义了数据仓库中的许多对象表、列、查询、商业规则或是数据仓库内部的数据转移。元数据是数据仓库的重要构件,是数据仓库的指示图(roadmap)。 对于元数据(Metadata)的定义,这个概念非常广,一般都是这样定义,“元数据是描述数据的数据(Data about Data)”,这造成一种递归定义,就像问小
8、强住在哪里,答,在旺财隔壁。按照这样的定义,元数据所描述的数据是什么呢?还是元数据。这样就可能有元元元.元数据。3.1.1 元数据类型数据源的元数据数据模型的元数据数据源与数据仓库映射的元数据数据仓库应用的元数据3.1.2 元数据重要性为数据仓库服务与DSS分析员及高层决策人员服务提供便利 解决操作型环境和数据仓库的复杂关系 数据仓库中数据的管理 3.1.3 元数据在数据仓库开发期间的使用确认数据质量 、同步化和刷新 、映射3.1.4 元数据在数据源抽取中的作用资源领域的确定 、跟踪历史数据结构变化的过程 、属性到属性的映射 、属性转换 3.1.5 元数据在数据求精与重构工程上的作用数据的分割
9、 、概括与聚集 、预算与推导 、转换与再映像 3.1.6 举例:校讯通2.0统计分析元数据-元数据:列CREATE TABLE DW_COLUMN( COLUMN_ID VARCHAR2(64) PRIMARY KEY, -列ID OWNER VARCHAR2(30) NOT NULL, -用户名 TABLE_NAME VARCHAR2(30) NOT NULL, -表名 COLUMN_NAME VARCHAR2(30) NOT NULL,-列名 DISPLAY_NAME VARCHAR2(30),-列显示名 COLUMN_TYPE NUMBER(1),-1.事实字段:2.维度字段 3.虚拟字
10、段 STATE NUMBER(1), -无效:0;有效:1 -DISPLAY_STATE NUMBER(1), -不显示:0;显示:1 ORDER_NUM NUMBER(2), -排序: FK_COLUMN_ID VARCHAR2(64) 外键列ID);3.2 星型模型星型模型是最常用的数据仓库设计结构的实现模式。使数据仓库形成了一个集成系统,为用户提供分析服务对象。 3.2.1 事实表核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。事实表中一般包含两部分,一是由主键和外键所组成的键部分,另一是用户希望在数据仓库中所了解的数值指标。派生事
11、实主要有两种,一是可以用同一事实表中其他事实计算得到,还有一类派生事实是非加法性事实。3.2.2 维度表维度:是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。维的层次:人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。维的成员:维的一个取值。是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)时间维度表(年Date,月Date,日Date)。地点维度表(省Character20,市Character20,县Character20,街道Character20)。3.2.3 多维数
12、据模型多维数据模型:是决策分析的支柱,OLAP的核心,有时也称立方体或者超立方。OLAP展现在用户面前的是一幅幅多维视图。多维数据集可以用一个多维数组来表示。3.2.4 举例:校讯通2.0订购用户月统计星型模型3.3 雪花模型雪花模型是对星型模型的扩展,每一个维度都可以向外连接到多个详细类别表。 雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。 3.4 粒度粒度可定义成数据仓库中数据细节的最低层次,如事务层次。这种数据层次是高度细节化的,这样就能使用户按所需的任何层次进行汇总。根据粒度的划分标准可以将数据划分为:详细数据、轻度总结、高度总结三级或更多级粒度。粒度的
13、具体划分将直接影响到数据仓库中的数据量以及查询质量。在校讯通2.0统计分析,设计上采用两层粒度:细粒度:订购用户明细表轻度汇总粒度:订购用户月度汇总表,按班级汇总,所以说是轻度汇总。4. 数据的ETL:抽取、转换、加载4.1 抽取4.2 转换4.3 加载说明:数据的ETL,我们做的不好,还没有实现公共组件级的抽取、转换、加载模块,只是实现了简单的任务调度,和一些公用的抽取类和载入接口。在做ETL开发时,剩下的工作还是需要手工完成,主要是写一些抽取和载入的sql语句。真正的ETL工具,是在元数据的基础,定义数据抽取的规则,数据清理的方式,和载入的方式。启动任务,由系统自动实现整个过程。5. 数据
14、展现5.1 表格例如:统计2010年9月武汉市各行政区某栏目业务订购情况。日期地市区县学生总数订购数取消数合计10005001002010-09武汉市洪山区600300602010-09武汉市武昌区40020040表中,蓝色字段代表维度,绿色字段代表事实字段。5.2 图形将数据以直观图像的方式展示出来,主要有:柱状图、饼图、线性图等。6. OLAP数据仓库是管理决策分析的基础,要有效地利用数据仓库的信息资源,必须要有强大的工具对数据仓库的信息进行分析决策。On-line Analytical Processing(在线分析处理或联机分析处理)就是一个应用广泛的数据仓库使用技术。它可以根据分析人
15、员的要求,迅速灵活地对当量的数据进行复杂的查询处理,并以直观的容易理解的形式将查询结果提供给各种决策人员,使他们能够迅速准确地掌握企业的运营情况,了解市场的需求。60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展(数据以表格的形式而非文件方式存储)。1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析
16、的概念,即OLAP。OLTP数据OLAP数据原始数据导出数据细节性数据综合性和提炼性数据当前值数据历史数据可更新不可更新,但周期性刷新一次处理的数据量小一次处理的数据量大面向应用,事务驱动面向分析,分析驱动面向操作人员,支持日常操作面向决策人员,支持管理需要6.1 定义定义1:OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。通过对信息(维数据)的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。定义2:OLAP(联机分析处理)是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性的信
17、息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。(OLAP委员会的定义)OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是“维”这个概念,因此OLAP也可以说是多维数据分析工具的集合。6.2 特性1.快速性:用户对OLAP的快速反应能力有很高的要求。2.可分析性:OLAP系统应能处理与应用有关的逻辑与统计分析。3.多维性:多维性是OLAP的关键属性。系统能够提供对数据分析的多维视图和多维分析。4.信息型:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。6.3 OLAP多维数据分析6.3.1 切片和切块(Slice and Dice)在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。6.3.2 钻取(Drill) 钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作, 钻取的深度与维所划分的层次相对应。 6.3.3 旋转(Rotate)/转轴(Pivot)通过旋转可以得到不同视角的数据。下一讲:7. 数据挖掘原理
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1