与数据库系统设计的区别:
1、面向的处理类型
DB:操作型数据环境,面向业务
DW:面向主题的分析型数据环境,面向分析,从基本主题开始,不断发展新主题
2、应用需求:
DB:一组较确定的应用(业务处理)需求;较确定的数据流
DW:需求不确切;分析处理需求灵活;无固定模式;用户对分析处理需求不甚明了;其设计很难以需求为基础
3、系统设计的目标:
DB : 事务处理的性能(OLTP),支持多用户并发访问,高效的增、删、改操作
DW: 建立DSS的数据环境,全局的分析环境,支持用户快速的分析和查询
4、数据来源:
DB : 企业的业务流程中产生的数据
DW: 系统内部,主要从OLTP系统中获取,经过转换、重组、综合; 同时包括部分外部信息
5、系统设计的方法:
DB:SDLC——应用需求驱动
DW:CLDS——数据驱动+需求驱动
数据仓库设计的三级数据模型:
概念模型:
1、“信息世界”中的信息结构
2、用E-R方法,以主题替代实体
逻辑模型:
一般采用关系模型
物理模型:
物理存储结构、存储方法。如建立数据分片、合并表,建立包括广义索引在内的各种索引机制,引入荣誉,生成导出数据等
数据仓库的数据模型与操作型数据库的三级数据模型有一定的区别
不包含纯操作的数据
增加时间属性
增加导出数据
高级模型、中级模型、低级模型
高级模型,即概念模型,用E-R图表示
中级模型,称为数据项 (dis-data item set),是E-R图的细分——E-R图的每一主题都与一个dis相对应
低级模型,即物理模型
基本数据组:应包括主题的码和属性,一个主题只存在一个基本数据组。 如: 顾客 主题中的顾客号、顾客名、性别等。
连接数据组:反映主题之间的联系,往往是一个主题的公共码键。
二级数据组:相对稳定的数据组。如:顾客的地址、电话、文化程度等。
类型数据组:频繁变动的数据组。如:顾客的购物记录。
稳定性:基本数据组 > 二级数据组 > 类型数据组
好处:结构清晰、减少冗余
概念模型设计——E-R模型
(一)概念模型是主观与客观之间的桥梁
(二)常用方法E-R模型
1、长方体表示实体,在数据仓库中就表示主题
2、椭圆型表示主题的属性
3、菱形表示主题之间的联系——联系也可以有属性
(三)通过概念模型设计,可以确定数据仓库的主要主题及相互关系
1、界定系统边界
2、确定主要的主题及其内容
逻辑模型设计——关系模型
在关系数据库基础上,数据仓库的设计中采用的逻辑模型就是关系模型
描述了主题的逻辑实现,即每个主题所对应的关系表的关系模式的定义
1、分析主题、确定当前要装载的主题
2、确定数据粒度的选择
——单一粒度与双重粒度的区别:细节数据在数据仓库中的保留时间不同
——数据量较小的环境下:采用单一粒度、直接存储细节数据、定其在细节数据基础上进行综合
——大数据量:考虑双重粒度,细节数据只保留近期数据,保留周期到底时,将距离当前胶原的数据导出到磁带上
3、确定数据分割策略
把逻辑上统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,从而提高数据处理的效率
分割后的数据单元称为分片
分割可按时间、地区、业务类型等多种标准进行
分割标准选择因素
数据量大小
数据分析处理的实际情况
简单易行
与粒度的划分策略相统一
数据稳定性
4、增加导出字段
事先在原始数据的基础上进行总结或计算而生成的数据,这些数据可以在以后的应用中直接利用,避免重复计算
5、定义关系模式
对主题进行模式划分,形成多个表,并确定各个表的关系模式
每个主题由多个表实现,表之间依靠主题的公共码键联系在一起,形成一个完整的主题
6、定义记录系统
指明数据仓库中关系表各个字段来源于哪个业务数据库的哪张表的哪个字段
记录系统的定义要记入数据仓库的元数据
物理模型设计
1、存储结构:数据分布式存储方式、集中式数据存储方式、RAID、估计存储容量(表、索引、临时空间)
2、索引策略:B-Tree、位图索引、广义索引、连接索引
——B-tree在数据仓库中有一定局限性:
数据字段特别适合用B-tree索引
B-tree索引空间巨大,数据仓库定期要追加数据,B-tree索引要重建,建立B-tree索引要耗费巨大的时间和空间
——位图索引
可以用一个bit对应一条记录
多个位图建立索引
对非布尔型数据也可以使用位图索引
3、数据存储策略:合并表、建立数据序列、按列存储、分割表的存放
4、存储分配优化:设置正确的块的大小、设置合适的块使用参数(块空闲率、块使用率)