2020/1/23数据挖掘1第三章数据仓库与OLAP技术概述什么是数据仓库多维数据模型数据仓库的设计与使用数据仓库实现2020/1/23数据挖掘2什么是数据仓库数据仓库已被多种方式定义,但没有一个严格的定义数据仓库就是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,通常用于辅助决策支持(DDS)2020/1/23数据挖掘3数据仓库—面向主题2020/1/23数据挖掘4数据仓库—集成2020/1/23数据挖掘5数据仓库—时变的2020/1/23数据挖掘6数据仓库—非易失的2020/1/23数据挖掘7操作数据库系统与数据仓库区别数据库用于事务处理数据库作为数据资源用于管理业务中的事务处理。它已经成为了成熟的信息基础设施。数据库中存放的数据基本上是保存当前数据,随着业务的变化随时在更新数据库中的数据。不同的管理业务需要建立不同的数据库。例如,银行中储蓄业务、信用卡业务分别要建立储蓄数据库和信用卡数据库。2020/1/23数据挖掘8数据仓库用于决策分析数据库用于事务处理,数据仓库用于决策分析数据库保持事务处理的当前状态,数据仓库既保存过去的数据又保存当前的数据数据仓库的数据是大量数据库的集成对数据库的操作比较明确,操作数据量少。对数据仓库操作不明确,操作数据量大2020/1/23数据挖掘9数据库与数据仓库对比数据库数据仓库细节的综合或提炼的在存取时准确的代表过去的数据可更新的不更新一次操作数据量小一次操作数据量大面向应用面向分析支持管理支持决策2020/1/23数据挖掘10操作数据库系统和数据仓库的区别(2)联机事务处理(OLTP)联机事务处理(OnLineTransactionProcessing,OLTP)是在网络环境下的事务处理工作,以快速的响应和频繁的数据修改为特征,使用户利用数据库能够快速地处理具体的业务。OLTP应用要求多个查询并行,以便将每个查询分布到一个处理器上。2020/1/23数据挖掘11联机分析处理(OLAP)决策分析需要对多个关系数据库共同进行大量的综合计算才能得到结果。E.F.Codd在1993年提出了多维数据库和多维分析的概念,即联机分析处理(OnLineAnalyticalProcessing,OLAP)概念。关系数据库是二维数据(平面),多维数据库是空间立体数据。OLAP的基本思想是决策者从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。2020/1/23数据挖掘122020/1/23数据挖掘13OLTPvs.OLAP2020/1/23数据挖掘14为什么需要一个分离的数据仓库2020/1/23数据挖掘15多层体系结构2020/1/23数据挖掘16三种数据仓库模型2020/1/23数据挖掘17数据集市概念数据集市(DataMarts)是一种更小、更集中的数据仓库,为公司提供分析商业数据的一条廉价途径。DataMarts是指具有特定应用的数据仓库,主要针对某个应用或者具体部门级的应用,支持用户获得竞争优势或者找到进入新市场的具体解决方案。2020/1/23数据挖掘18数据集市与数据仓库差别数据仓库是基于整个企业的数据模型建立的,它面向企业范围内的主题。而数据集市是按照某一特定部门的数据模型建立的。部门的主题与企业的主题之间可能存在关联,也可能不存在关联。数据集市的数据组织一般采用星型模型。数据仓库通常采用事实星座形模式2020/1/23数据挖掘19数据仓库开发的推荐方法2020/1/23数据挖掘20元数据库2020/1/23数据挖掘21多维数据模型由表和电子数据表到数据立方体2020/1/23数据挖掘22立方体—一个立方体格2020/1/23数据挖掘23数据仓库的概念性模型2020/1/23数据挖掘24星型模式的例子2020/1/23数据挖掘25雪花模式的例子为降低冗余,还可以进一步规范化2020/1/23数据挖掘26事实星座的例子2020/1/23数据挖掘27地区键……事务键……用户键……时间键……状态键……时间键用户键事务键地区键电话费用时间键用户键状态键电话余额电话公司星网模型实例2020/1/23数据挖掘28维:概念分层的作用概念分层:定义一个映射序列,将低层概念映射到更一般的较高层概念,允许在各种抽象集处理数据Location维的概念分层2020/1/23数据挖掘29数据仓库的分层视图模式分层(schemahierarchy):形成数据库模式中属性的全序或偏序的概念分层day{monthquarter;week}year集合分组分层(set-groupinghierarchy):通过将给定维或属性的值离散化或分组来定义概念分层(1…100)inexpensive2020/1/23数据挖掘30度量值的分类与计算2020/1/23数据挖掘31多维数据2020/1/23数据挖掘32数据立方体例子2020/1/23数据挖掘33典型的OLAP操作2020/1/23数据挖掘342020/1/23数据挖掘352020/1/23数据挖掘362020/1/23数据挖掘372020/1/23数据挖掘382020/1/23数据挖掘39一个星型网的查询方式2020/1/23数据挖掘40数据仓库的设计与使用关于数据仓库设计要考虑的四种视图2020/1/23数据挖掘41数据仓库的设计方法自顶向下(Top-down):由总体设计和规划开始(当技术成熟并已掌握,这种方法是可用的)自底向上(Bottom-up):以实验和原型开始(在商务建模和技术开发的早期阶段,这种方法是可用的)混合方法:利用自顶向下的规划性和战略性特点,又能利用自底向上的快速实现和立即利用2020/1/23数据挖掘42数据仓库系统的生命开发周期数据仓库系统的生命周期规范与需求分析用户评价与反馈系统安装与测试数据填充与调试中间件开发数据的ETL处理数据库与元数据体系结构设计逻辑模型概念模型系统维护系统上线应用分析维护实施设计2020/1/23数据挖掘43数据仓库实现概念模型设计业务需求物理模型设计逻辑模型设计收集、分析和确认将需求模型转为关系模型由关系模型转为存储模型常用方法:信息包图法关键任务:分析和理解数据仓库中的主题常用方法:星形图法关键任务:事实表与维度表的设计,包括事实、粒度、聚合与分割、维度等问题的确定常用方法:关系表(通用数据库物理设计法)关键任务:物理数据库表及其存储结构设计面向用户的需求详细的技术细节有反复的逐步设计过程数据仓库与OLTP数据库的设计方法比较设计阶段数据仓库OLTP数据库概念模型信息包图数据流程图逻辑模型星型图模型实体关系图物理模型物理数据模型物理数据模型2020/1/23数据挖掘44数据仓库的设计过程组织需求调研,收集业务需求采用信息包图法进行数据仓库的概念模型设计利用星形图进行数据仓库的逻辑模型设计数据仓库的物理模型设计2020/1/23数据挖掘45数据仓库的概念模型通常采用信息包图法来进行设计,要求将信息包图的5个组成部分(名称、维度、类别、层次和度量)全面地描述数据仓库的逻辑模型通常采用星型图法来进行设计,要求将星型图的5类逻辑实体(度量逻辑实体、维度逻辑实体、层次逻辑实体、详细信息逻辑实体和类别逻辑实体)完整地描述数据仓库的物理模型通常采用物理数据模型法来进行设计,要求将物理数据模型的5类表(事实表、维表、层次表、详细信息表和类别表)详细地描述2020/1/23数据挖掘46信息包图设计(超立方体法)获取各个业务部分对业务数据的多维特性分析结果,确定影响销售额的维度对每个维度进行分析,确定维度与类别之间的传递和映射关系确定用户需要的度量指标体系2020/1/23数据挖掘47信息包图的设计2020/1/23数据挖掘48主题域的概念模型设计2020/1/23数据挖掘49主题及主题域的划分2020/1/23数据挖掘50划分了主题域的原始概念模型利用信息包图制作星型图需要定义如下三个实体(度量)指标实体维度实体:一个维度实体对应指标实体中的多个指标详细类别实体:对应现实世界的某一个实体确定主题的属性组根据概念模型中定义的主题及主题域,可以进一步确定在主题的逻辑关系模式中包含的属性及与系统相关的行为,即给主题增加属性组和其他所需信息主题的详细描述主题名公共键属性组商品商品号基本信息:商品号、商品名、类型和颜色等采购信息:商品号、应商号、供应价、供应日期和供应量等库存信息:商品号、库房号、库存量和日期等销售销售单号基本信息:销售单号、销售地址等销售信息:客户号、商品号、销售价、销售量和销售时间等客户客户号基本信息:客户号、客户名、性别、年龄、文化程度、住址和电话等经济信息:客户号、年收入和家庭总收入等2020/1/23数据挖掘53事实表及其特征记录数量很多,因此事实表应当尽量减小一条记录的长度,避免事实表过大而难于管理事实表中除了度量变量外,其他字段都是维表或者中间表(对于雪花型模式)的关键字(外键)如果事实相关的维度很多,则事实表的字段数也会比较多2020/1/23数据挖掘54粒度的选择与设计步骤粒度的不同选择会导致逻辑模型的差异粒度的不同选择会导致数据存储容量的差异粒度的设计步骤(1)粗略估算数据量,确定合适的粒度级的起点(2)确定粒度的级别2020/1/23数据挖掘552020/1/23数据挖掘56数据仓库用于信息处理2020/1/23数据挖掘57从联机分析处理到联机分析挖掘2020/1/23数据挖掘582020/1/23数据挖掘59数据仓库的实现:数据立方体的有效计算与维i相关联的层数数据仓库的物理模型设计2020/1/23数据挖掘60物理模型设计的主要工作确定一个最适合应用要求的物理结构(包括存储结构和存取方法)(1)估计存储容量(2)确定数据的存储计划(3)确定索引策略(4)确定数据存放位置(5)确定存储分配2020/1/23数据挖掘61索引OLAP数据:位图索引2020/1/23数据挖掘62索引OLAP数据:连接索引OLAP服务器结构:ROLAP、MOLAP、HOLAP的比较关系OLAP服务器:这是一种中间服务器,介于关系的后端服务器和客户前端工具之间多维OLAP服务器:基于数组的多维存储引擎,支持数据的多维视图混合OLAP服务器:结合ROLAP和MOLAP技术,得益于ROLAP较大的可伸缩性和MOLAP的快速计算特殊的SQL服务器:2020/1/23数据挖掘632020/1/23数据挖掘64电信领域数据仓库的设计与实现电信领域数据仓库的设计电信领域数据仓库的实现2020/1/23数据挖掘65电信领域数据仓库的设计(1)确定数据仓库的主题根据电信业务和电信运营的需求,电信公司涉及的最主要的三个主题是:客户发展收益分析呼叫特性分析2020/1/23数据挖掘66客户发展主要是对客户群体进行分类后,从不同的角度展现电信公司提供服务的客户数量情况。划分的角度可以按照客户本身的自然属性,例如客户本身的自然属性,例如客户性别、年龄、客户入网的时间、客户的类型(公费、私人等)、客户受教育的程度等。2020/1/23数据挖掘67收益分析收益分析主要是通过不同的角度对电信企业的收益情况进行分析。收益分析的角度可以按照客户的自然属性和扩展属性划分;也可以按照电信公司的业务(品牌、交费方式)进行划分;还可以按照机构设置、地理角度对收益进行划分。2020/1/23数据挖掘68呼叫特性分析呼叫特性分析即分析不同类型客户在呼叫上所具有的特性,特性可能包括下列衡量指标:按照呼叫时间划分为:长呼叫、中呼叫和短呼叫按照呼叫类型可划分为:本地通话、长途通话、漫游通话。(其中长途又可以划分成国际长途、国内长途;漫游通话可划分成省内、省际、国际漫游等等)按照呼叫金额可以划分为:高额呼叫和非高额呼叫按照呼叫所在地区域考察呼叫的热点区域2020/1/23数据挖掘69