商务智能复习提纲(二)
跳转链接
数据仓库(二)
数据集市与数据仓库
建立数据集市的原因
- 在网络环境中可能有很多的数据源,但是没有可用的信息。
- 早期的时候只是为用户提供一个访问多个数据源的集成功能。
但是如果使用数据仓库手机所有的数据会太大,在实际应用中将它们按部门或个人分别建立反映各个子主题与区域的局部性数据组织,它们即是数据集市。
数据仓库/数据集市体系
一个完整的体系结构是由数据源
、数据仓库
、数据集市
构成的
三者之间通过数据仓库管理软件联系起来构成一个完整的数据体系。
数据集市的数据来源于数据仓库,对数据仓库中的数据再次进行了抽取和组织,用来满足特定的需求。
有面向主题、存储了预聚集数据、特定分析需求或用户群快速获取信息、体现终端用户的观点,面向数据仓库的界面、多层次、多维度的特点。
数据集市有独立性数据集市和从属性数据集市。
数据仓库与数据集市的关系
自顶向下的结构
从数据源进行抽取之后构建企业数据仓库,之后再基于企业数据仓库构建不同的数据集市然后提供服务。
优点:
- 建立数据集市能够减轻DW的访问负载
- 各部门可以任意处理数据
- 数据转换和整合再DW阶段统一完成
- 具备数据缓冲功能
缺点:
- 成本高、见效慢、数据集市间不共享资源。
自底向上的结构
从数据源之间进行数据集市的构建,然后基于数据集市构建企业数据仓库。
优点:
- 见效快、启动资金少
缺点:
- 各个部门都要进行数据清理整合
- 可能造成“蜘蛛网”、数据不一致的问题
- 总体上并没有节约资金
总线结构的数据集市
不建立数据仓库直接建立数据集市,数据集市之间通过一种共享维表和事实表的“总线结构”紧密联系在一起。
优点:
- 共享维表和事实表,解决了数据集市的许多问题
缺点:
- 这种结构基于多维模型,应用限制于OLAP
- 多个数据源直接影响多个集市,造成数据仓库结构不十分稳定
企业级数据集市结构
没有介绍,只有一张图
数据仓库的应用
数据资源的利用方式有查询,演绎,归纳(挖掘)。
有时候会出现数据仓库到操作性环境的数据回流,但是直接操作这些回流是不正常的。
访问限定如下:
从响应时间的角度来考虑,请求数据仓库数据的操作型处理通常不具有在线特性
对数据的请求必须是最小量的
管理数据仓库所用到的技术(如协议等)必须与管理操作型环境所用到的技术一致
从数据仓库取得的、准备传输到操作型环境的数据必须不做或很少的格式化
数据仓库的间接访问
航空公司的佣金计算系统。
零售个性化系统
还可以由一个程序对数据仓库进行定期的分析,检验相关的特征,产生一个小的文件,能够被操作型环境利用。
分析型应用
客户关系管理
包括了客户数据集成(对客户的信息进行分析,让姓名和地址拥有标准的数据格式)以及客户信息的分析与挖掘(新客户的发现,优质客户挖掘,客户异常行为的发现,客户需求分析,客户反映分析)。
商业零售
- 客户信息管理与分析
- 销售分析
- 货种管理(不同种类商品之间的关系分析)
- 市场分析
- 库存管理
- 人力资源管理
金融领域
- 账户信用等级评估
- 信用卡运作
- 股票交易规律分析
- 财政预算和计划
保险业
- 保险费率的确定
- 险种关联分析
- 认购险种的预测
电讯行业
- 客户开发
- 活动成本管理
- 价格定制
- 调用详细记录分析
- 电信市场
医疗保健
- 成本分析
- 客户分类
联机分析处理(OLAP)
联机分析处理(OLAP)
60年代末提出了联机事务处理(OLTP),随着数据量的增大,兼顾事务操作和分析越来越不可能。
通过专门的数据综合引擎,同时拥有更加直观的数据访问界面,追求在短时间内相应非专业人士的复杂查询要求。(OLAP)
OLAP是针对特定问题的练级数据访问和分析,并非是直接的原始数据,已经进行了一定的转换,能够让管理决策人员对数据进行深入观察。
OLAP的特征及衡量标准
Codd关于OLAP的评价准则
OLAP必须提供多维概念视图。
从多个维度考察对象
透明性准则
- OLAP在体系结构中的位置对用户是透明的
- OLAP的数据源对用户也是透明的
存取能力准则
将OLAP的概念试图映射到异质的数据存储上,能访问数据并执行所需转换,从而提供单一、完整、连续的用户视图。
稳定的报表功能
当数据的维度以及数据量增大时,提供给最终分析人员的报表能力和响应速度不应该有明显的上升。
客户/服务器体系结构
服务i保证透明性和建立统一的公共概念模式、逻辑模式和物理模式。
客户端负责应用逻辑和界面。
维的同等性原则
每一个数据维度在数据结构和操作能力上都是等同的。
动态的稀疏矩阵处理准则
模型的物理模式要适应指定的维数。
多用户支持能力准则
OLAP工具必须提供并发访问、数据完整性及安全性机制
非受限的跨维操作
因为数据的维度之间有层次关系,所以进行计算时应该由系统自己推导而不是用户明确定义。
对于无法计算的内容要提供语言来供用户对计算进行定义。
直观的数据操作
灵活的报表生成
不受限维(不小于15)与聚集层次(任意聚集层次)
FASMI评判准则
- fast
- analysis
- shared
- multidimensional
- information
OLAP中的几个基本概念
度量值
是分析型处理中所关心的对象,在多维数据集中一般是数字值,是最终用户浏览多维数据集时重点查看的数据。(销售金额,成本金额)
维
是观察度量值的角度(如可以从三个维角度观察销售金额即时间维,商品维,地域维)
维的一个取值称为该维的一个“维成员”,如果这个维有多个层,维成员也可以是多层次的。(对具有日,月,年三个层次的“时间维”来说,“某年某月某日”、“某年某月”、“某月某日”、“某年”都是其维成员)
层
在分析型环境中可以对度量值从不同深度层面上进行分析与观察,层与维是互相关联的,一个维中可以存在多个层
数据单元
多维数组的定义:(维1,维2,…,维n,变量)
如果多维数组每个维选定的是一个维成员,会确定一个度量值,这个值或者是该放值得地方我们称其为数据单元。
OLAP的数据构造方式
ROLAP(Relational)
使用传统的关系数据库管理系统进行管理。
MOLAP(Multi-Dimensional)
用多维数据库管理系统管理,采用基本数据模式是多维数组
在MOLAP中事实表是一个多维数组,维的属性值是下标。
HOLAP 混合联机分析处理
前两者的融合,在大量数据上获得高效率。同时提供多维数据库和关系数据库。
前两者的比较
MOLAP | ROLAP |
---|---|
专为OLAP所设计 | 沿用现有的关系数据库的技术 |
性能好、响应速度快 | 响应速度比MOLAP慢 |
数据装载速度慢 | 数据装载速度快 |
需要进行预计算,可能导致数据爆炸,维数有限;无法支持维的动态变化 | 存储空间耗费小,维数没有限制 |
受操作系统平台中文件大小的限制,难以达到TB级(只能10~20g) | 借用RDBMS存储数据,没有文件大小限制 |
缺乏数据模型和数据访问的标准 | 可以通过结构化查询语言(sql)实现详细数据与概要数据的存储 |
支持高性能的决策支持计算:复杂的跨维计算;多用户的读写操作;行级的计算 | 不支持有关预计算的读写操作:sql无法完成部分计算;无法完成多行的计算;无法完成维之间的计算 |
管理简便 | 维护困难 |
OLAP需解决的问题
提高对数据的访问效率(查询,更新,ETL)
ROLAP中提高效率的方法:
- 物化视图方式
- 索引、集簇
- 并行操作
- 查询优化(共享排序)
OLAP的基本数据模型
MOLAP 多维数据库
使用多维数据库来存放、展示数据,这样存放比关系型数据表更清晰且占用少。但是维护需要大量的资源。
多维数据库中存取的是经过压缩的类似于数组的对象,带有高度压缩的索引和指针。使用多维查询语言MDSQL。
ROLAP
使用通用的关系数据库来存储所需的数据,适用于处理大量数据,但是效率较低。现代的关系型数据库的并发已经有了很好的优化。
星型模式
是一种多维表结构,他一般有两种不同性质二维表组成。
事实表(Fact table)
存放多维表中的主要事实,称为度量值(Measure)
维表(Dimension Table)
存放多维表中的维成员的取值
一般一个n维的多维表往往有n个维表和一个事实表,它们构成了一个星形结构,因而称其为“星型模式”
上图中销售表相当于事实表,其他三个都是维表。
雪花模式
是对星型模式的扩展,唯有的维表可变为事实表,形成局部的层次结构。
让维表更加规范,减少维表的数据量,但是查询会变慢
星座模型
通过公共维度连接多个星型模型
雪暴模式
通过公共维度连接多个雪花模式
数据立方体
数据仓库中的数据模式可以看成是定义在多个数据源上的数据视图,而需要获取的数据基本上都是统计的数据,如果只是定义函数,然后从视图中取出在计算会耗时,所以使用物化视图(直接将预先计算好数据视图中的统计信息保存在数据仓库中)
如果数据的维度超过了3那就是数据超立方体
方体格
不太懂,欢迎讨论
星形网查询模式
不太懂,欢迎讨论
数据立方体的物化
- 不进行物化
- 全物化(n维L层的立方体包含$T=\prod_{i=1}^n(L_i+1)$种子方)
- 部分物化(要注意更新的问题)
OLAP与数据仓库
多维数据分析
指对以多维形式组织起来的数据进行切片,切块,旋转,钻取等各种分析动作。
切片(Slice)
- 根据某一维上的某个维成员值选择统计数据进行分析
切块(Dice)
根据某一维上的某个维成员取值的区间选择统计数据进行分析
根据多个维度上的维成员取值的区间选择统计数据进行分析
旋转(Pivot/Rotate)
- 调整维的排列次序的动作称为旋转
上钻/数据概括(roll_up)
- 将多维下标的取值提升到较高的概念层次上,从而形成新的统计查询结果,并进行分析。
下钻/数据细化(drill_down)
- 将多维下标的取值降低到较低的概念层次上,从而形成更细致的统计查询结果,并进行分析。
跨钻(drill across)
- 对多个事实进行操作
钻透(drill through)
- 下钻至数据立方体的最低细节后,继续细化至数据仓库/数据库的关系型表格