数据仓库合并、泛化多维空间的数据。构造数据仓库涉及数据清洗、数据集成和数据变换,可以看作是数据挖掘的一个重要预处理步骤。此外,数据挖掘提供OLAP(Online Analytical Processing,联机分析处理)工具,用于各种粒度(granularity)多维数据的交互分析,这有利于有效的数据繁华和数据挖掘。
数据仓库是一种数据库,它与单位的操作数据库分别维护,数据仓库系统允许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供支持,其特性为:
OLTP | OLAP | |
---|---|---|
面向性 | 面向顾客,用于事务和查询处理 | 面向市场,用于数据分析 |
数据内容 | 一般而言较为琐碎,很难用与决策 | 管理大量历史数据,在不同粒度上存储管理,易于用于决策 |
数据库设计 | E-R模型,面向应用 | 星形或雪花模型,面向主题 |
视图 | 主要关注一个部门的当前数据 | 可能涉及多个部门的历史数据 |
访问模式 | 主要由小的原子事务构成,需要并发控制和恢复机制 | 大部分是只读操作,即只访问 |
度量 | 事务吞吐量 | 查询吞吐量、响应时间 |
仓库类别 | 概述 |
---|---|
企业仓库(Enterprise Warehouse) | 搜集了关于主题的所有信息,通常包含细节数据和汇总数据 |
数据集市(Data Mart) | 包含企业范围数据的一个子集,对特定用户群是有用的 |
虚拟仓库(Virtual Warehouse) | 操作数据库上视图的集合 |
元数据是描述数据的数据,元数据库则是数据仓库体系的底层,对于给定的数据仓库的数据名和定义,创建定义数据仓库对象的元数据,应包括对数据仓库结构(仓库模式、视图、维、分层结构、导出数据)的描述、对操作元数据、汇总算法、系统性能相关的数据等内容。
数据仓库基于多维数据模型,这种模型被称为数据立方体(Data Cube),某一特定维度的数据立方体称作方体(cuboid),存放最底层的方体称作基本方体(base cuboid),0-D方体是最高层的汇总,称作顶点方体(apex cuboid)。
模式名 | 描述 |
---|---|
星形模式(star schema) | 包括一个大的中心表(事实表(fact table),包含大批量数据且不含冗余)和一组小的附属表(维表(dimension tables),每维一个),维表可能会有冗余 |
雪花模式(snowflake schema) | 是星形表的变种,其中某些表被规则化,数据被进一步分解到附加表中减少了冗余但不便查询 |
事实星座(fact constellation) | 可看作多个星形表的汇总(有多个事实表),也被称作星系模式(galaxy schema) |
概念分层定义一个映射序列,将低层概念集映射到较高层。形成数据库模式中属性的概念分层的过程称作模式分层
数据立方体度量是一个数值函数,该函数可以对数据立方体空间的每个点求值,通过给定各点的维-值数据,计算该点的度量值,可以分为三类:
类别 | 描述 |
---|---|
分布的(distributive) | 对单个对象分别应用和对整体的应用效果一样,如count()、max() |
代数的(algebraic) | 使用有限个分布聚集函数求函数值的函数,如average() |
整体的(holistic) | 不能由代数运算求得函数值的函数,如rank() |
OLAP提供了分析建模机制,能在每一粒度上产生汇总、聚集和分层。
考虑一下四种View:
类型 | 描述 |
---|---|
自顶向下 | 选择DC所需的相关信息 |
数据源 | 被操作DBMS收集、存储和管理的信息 |
数据仓库 | 事实表和维表 |
商务查询 | 从最终用户角度透视数据仓库 |
三种方法:自顶向下的(由总体设计和规划开始,前提是技术成熟、对问题有良好把握)、自底向上的(由实验和原型开始,可以快速实现和应用,适合商务建模和数据开发的早期阶段)、混合方法。
一般步骤:
物化,materialization,指选择性地计算全体立方体的子集,如冰山立方体(只存放某聚集值大于阈值的单元)和外壳立方体(只预计算少量维的立方体)
索引操作包括位图索引(bitmap indexing,即对属性使用二值向量表示)和连接索引(join indexing,对事实表和维表进行连接)两种方式