数据仓库基础笔记思维导图已经整理完毕,完整连接为:
数据仓库基础知识笔记思维导图
粒度
数据仓库中数据的恰当粒度是数据开发者需要面对的一个重要的问题,粒度确定得合理,设计和实现中其余方面就可以进行得非常顺畅。
粗略估算
确定适当粒度级别第一件事就是对将来数据行数和所需的DASD(直接存取存储设备)进行粗略估算。
计算数据仓库占用空间
- 确定数据仓库中将要创建的所有表,估计每张表中行的大小,估计一个上界和下界。
- 估计一年内表中可能最少的行数和最多行数。
- 估计五年内数据的粗略计算。
- 计算索引数据占用的空间,确定每张表的关键字或数据元素的长度,并弄清楚是否原始表中每条记录都存在关键字
- 将表中行数可能的最大值和最小值分别乘以数据的最大长度,最小长度,还要计算索引项目数和关键字长度乘积累加总的数据量中确定出最终需要的数据总量。
- 考虑备份和恢复需要多少空间。
规划过程的输入
估计出行数和DASD数,进行估计时,结果准确程度只要达到数量级就行了。
溢出存储器中的数据
将数据仓库环境中数据的总行数和所给出的表进行比较,根据数据仓库环境中将具有的总行数多少。采取不同的设计、开发、存储方法。
根据当前的硬件环境的预测,以及技术的预测,对不同数据量级进行估计,多余的数据需要存储到溢出存储器中,如数据量较少则不进行数据溢出存储器的转义,适中则转移一小部分,大量可能需要转移一大部分,超级大则需要转移大量数据到溢出存储器。
溢出存储器
数据仓库环境的数据会以IT专业人员前所未见的速率增长,随着不断增长,自然分化成了经常使用的数据以及不经常使用的数据,数据仓库在建立并使用一段时间之后,其中大部分数据都变旧而没人使用。分离这部分数据,并将它们存储到另一种介质上去是非常有意义的。
为确定数据的使用情况,需要有一个数据监控工具。
存放不常用数据的溢出存储器是数据仓库的一个重要组成部分。
确定粒度级别
在很低的细节级上建立基于磁盘的数据仓库是没有意义的,处理这些数据需要太多资源
在太高的粒度级上建立基于磁盘的数据仓库,意味着许多分析必须要依靠溢出存储器中的数据进行。
确定适当粒度级别的步骤
- 进行一个合理的推测,并且需要通过一定量的反复分析来改进这个推测。
- 快速建立数据仓库很小的子集,并认真听取用户的反馈意见。
- 使用原型法
- 参考别人的经验
- 与有经验的用户协同工作
- 以企业中已有的功能需求作为参考
- 用模拟的输出进行JAD会议
- 对从数据仓库获取数据的各个不同体系结构实体的需求进行预测。
确定粒度级别要点
档案集:溢出层数据
并不是所有字段都传送到档案级中去,只有那些出于法律、信息要求的而需求的数据才会存储起来。
档案级不会再用到的数据也应从系统中清除。
使用轻度综合级存储近一段时间的档案级数据轻度综合的快照。例如一个月一次。
在轻度综合级中存放长时间范围内的数据(如十年),根据每月文件生成的。
使用双重粒度
填充数据集市
理解数据集市将会需要的数据粒度,填充数据集市是数据仓库的工作,不同的数据集市需要不同地看待数据。
存在于数据仓库中的数据粒度必须是任何数据集市所需的数据中的最小粒度
数据仓库与技术
数据仓库对技术的要求
- 管理大量的数据并且能将其管理好的能力
- 管理多种介质的能力
- 能够轻松容易地索引和监视数据
- 用各种不同的技术接收和传送数据
- 允许设计者/开发者在块/页级别上以一种最佳形式决定数据物理存放位置
- 能够并行存储和管理数据
- 有很好的元数据控制
- 需要多种语言接口
- 能够高效地装载数据仓库
- 有效地使用索引
- 能够以压缩的方式存放数据
- 支持复合键码
- 能够有效地管理变长数据
- 能够按照需要开启和关闭锁管理程序,能够在程序员级显式控制锁管程序
- 能够单独索引处理
- 能够从一批介质上将数据快速完全地恢复
- 事务完整性
- 高速缓存
- 行/页级锁定
- 参照完整性
- 数据视图
- 部分块载入
上下文和内容
上下文的三种级别:
- 简单上下文信息
- 复杂上下文信息
- 外部上下文信息
简单上下文信息
简单上下文信息用字典、目录系统监视器进行管理
简单上下文信息与数据本身的基本结构有关:
- 数据的结构
- 数据的编码
- 数据的命名习惯
- 数据量有多少
- 数据的增长速度
- 数据的那一部分在增长
- 数据是如何被使用的
复杂上下文信息
复杂上下文信息描述的数据和简单上下文信息描述相同,但是从不同角度进行描述:
- 产品定义
- 市场范围
- 定价
- 包装
- 组织结构
- 配送
外部上下文信息
外部上下文信息是处于企业之外的、在理解随时间变化的信息方面其重要作用的信息,实例包括:
- 经济预测
- 政治信息
- 竞争信息
- 技术进展
- 用户人数的统计变动
刷新数据仓库
在数据仓库建立后,需要根据历史数据定期刷新。
- 数据复制:从老的传统数据库中读取数据
- 数据捕获:在传统环境中捕捉正在被修改的数据