已阅读5页,还剩128页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 数据仓库设计方法概述数据仓库的三级模型数据仓库概念模型数据仓库逻辑模型数据仓库物理模型数据仓库设计的步骤数据仓库的建设过程 数据仓库模型和建立过程 第3章 2 数据仓库设计方法概述 1 3 数据仓库设计方法概述 1 数据库系统设计面向应用来进行设计 根据具体的操作事件和操作对象 实体 来进行设计 目的是建立一个操作型的数据环境 数据仓库设计面向分析的 从最基本的主题开始 不断完善已有主题 发展新主题 最终建立起一个面向主题的分析型数据环境 4 数据仓库设计方法概述 1 数据库系统设计面向明确的应用需求设计人员能够清晰地了解应用的需求和数据流程数据仓库设计很难获得对用户需求的确切了解应用人员往往是企业的中高层人员他们自己一开始不知道想看什么 需要人引导后期又想什么东西都看 需要给他解释 5 数据仓库设计方法概述 1 数据库系统设计为了进行OLAP处理通常是对一个或者一组记录的查询和修改主要为企业的特定应用服务的事务处理响应时间 数据的安全性和完整性是系统的目标数据仓库设计为了分析决策主要目标是保证数据的四个特征 面向主题 集成的 稳定的 时变的 建立起一个全局一致的数据环境 作为企业决策支持的基础 6 数据仓库设计方法概述 1 数据库系统设计数据来源主要是业务操作员的输入描述如何通过操作员输入获取数据描述如何将获取的数据按照OLAP的需求合理存放如何使得OLTP的性能更加优化如何保证事务处理的安全性数据仓库设计数据来源于业务系统主要解决如何从业务系统中得到完整一致的数据如何对数据进行转换 清洗 综合如何有效提高数据分析的效率与准确性 7 数据仓库设计方法概述 1 数据库系统设计 需求驱动 先收集需求 分析需求 再进行设计和开发 系统的需求在收集和分析需求阶段之后就定下来了 一旦进入构建数据库阶段 系统的需求就基本不变了 所以系统设计一般采用系统生命周期法 SystemsDevelopmentLifeCycle SDLC 数据仓库设计 数据驱动 从业务系统已经存在的数据出发 获取之后对数据进行集成并检查数据的准确性按照分析领域对数据及数据之间的联系重新考察 组织数据仓库中的主题 数据驱动 的系统设计方法的优点是可以通过了解原有数据库系统中的数据和需要建设的数据仓库中主题的数据的共同性 最大限度地利用现有系统 减少系统建设的工作量 对这种需求不确定的开发过程 设计方法有很大的不同 采用与SDLC相反的CLDS法 8 收集应用需求 分析应用需求 构建数据库 应用编程 系统测试 系统实施 DB 应用A 应用B 应用C 数据仓库建模 数据获取与集成 构建数据仓库 DSS应用编程 系统测试 理解需求 DW DB DB 外部数据 数据仓库设计方法概述 1 SDLC方法 CLDS方法 9 数据仓库的三级模型 2 概念模型 设计定义和主要工作 从客观世界到主观认识的映射首先将现实世界抽象为概念模型 然后再用适合计算机世界的模型和语言来描述逻辑模型 设计定义和主要工作 数据仓库一般是建立在关系数据库基础上 所以采用的逻辑模型是关系模型主题还有主题之间的关系都用关系来表示逻辑模型描述了数据仓库的主题的逻辑实现 每个主题对应关系表的关系模式的定义物理模型 设计定义和主要工作 逻辑模型在数据仓库中的实现 如数据存储结构 数据的索引策略 数据的存储策略以及存储分配优化等 10 数据仓库的三级模型 2 高级模型即概念模型 用E R图表示首先将现实世界抽象为概念模型 然后再用适合计算机世界的模型和语言来描述中级模型数据项 Dataitemset DIS 模型E R图的细分每个主题都与一个DIS对应DIS中的数据份为4个组别 基本数据组 二级数据组 连接数据组和类型数据组低级模型物理数据模型 11 数据仓库的三级模型 2 客户ID姓名性别身份证号码 住址文化程度电话Email 商品ID 交易ID商品金额购买时间 交易ID商品金额购买时间 交易ID商品金额购买时间 连接数据组 基本数据组 类型数据组 二级数据组 电器 服装 图书 12 数据仓库概念模型 3 概念模型的定义和主要工作 3 1 概念模型是数据仓库的数据模型的第一层或最高层 由于大多数业务数据是多维的 但传统的数据模型表示三维以上的数据有一定困难 数据仓库中可以采用信息包图来表示概念模型信息包图允许用户设计多维信息包并与开发者和其他用户建立联系 这种模型集中在用户对信息包的需要 信息包提供了分析人员思维模式的可视化表示 工作确定系统边界 决策类型 需要的信息 原始信息确定主题域及其内容 主题域的公共键码 主题域之间的联系 属性组确定维度 如时间维 销售位置维 产品维 组别维等确定级别 相应维的详细层次确定度量 也称指标和事实 用于进行分析的数值化信息 13 维度级别 度量 数据仓库的概念模型 信息包 14 例 画出销售分析的信息包图概念首先根据销售分析的实际需求 确定信息包的维度 类别和指标与事实 维度 包括日期维 销售地点维 销售产品维 年龄组别维 性别维等 维度 级别 确定各维的详细类别如 日期维包括年 10 季度 40 月 120 等类别 括号中的数字分别指出各类别的数量 销售地点维包括国家 15 区域 45 城市 280 区 880 商店 2000 等类别 括号中的数字同样分别指出各类别的数量 类似地 可以确定销售产品 年龄组别维 性别维等的详细类别 度量 确定用于进行分析的数值化信息 包括预测销售量 实际销售量和预测偏差等 数据仓库的概念模型 15 度量 预测销售量 实际销售量 预测偏差 商店 2000 区 880 产品 240 城市 280 月 120 产品组 48 区域 45 季度 40 性别组 2 年龄组 8 产品类 6 国家 15 年 10 性别 年龄组别 销售产品 销售地点 日期 信息包 销售分析维度 级别 数据仓库的概念模型 16 维度是一个物理特性 如时间 地点 产品等 它是表达数据仓库中信息的一个基本途径 可作为标识数据的索引 通常的报表只包含有行和列两维 但在数据仓库中所存储的数据大多是用多维 三维或三维以上 视图表示的 维度是多维数据集的结构性特性 它们是事实数据表中用来描述数据的分类的有组织的层次结构 级别 这些分类和级别描述了一些相似的成员集合 所有维度均直接或间接地基于表 定义此维度的列 选择列的顺序至关重要 数据仓库概念模型 3 维度的定义 3 3 17 选择下表中的 区域 列 再选择 州 列 即可定义维度 State id区域州1东部缅因2东部俄亥俄3西部爱达荷4西部德克萨斯 18 3 维度定义 3 3 数据仓库概念模型 4月份我在北京卖掉了价值十万美元的可乐 例子1 19 关系数据库的记录视图 产品时间地区销量VCD机2002 3 10北京5728传真机2002 3 10北京6739刻录机2002 3 10北京3976复印机2002 3 10北京6395打印机2002 3 10上海6365传真机2002 3 10上海6744 3 维度定义 3 3 数据仓库概念模型 例子2 20 多维数据库视图 时间 02 3 10 02 3 11 上海 北京 VCD 地区 产品 5782 6365 传统型 二维 关系型 记录 字段数据仓库 多维 立方体 维 单一事实 21 传统型的一个二维表 在数据仓库中可能需要多个立方体来表示 数据仓库的一个立方体可能由多个传统型的表组成 产品时间地区数量金额VCD机2002 3 10北京57282345556 销售数量立方体销售金额立方体 一个二维表的数据可装载到两个立方体 22 维的层次 关系数据库在字段上做文章 数据仓库在维上做文章 维不仅是查询数据的一个角度 而且提供查询的深度 年所有产品全国季产品大类地区月产品小类城市日产品超市同一属性数据可有多种归类层次 顾客 性别 所有顾客 顾客 文化程度 所有顾客 23 时间维每个数据仓库都用到无限的 粒度要求高时 细分数据剧增 24 维度的分解与合成是在一个维度内进一步细分数据或将数据按照另一标准组合的过程 例如 当以地理位置维观察数据时 用户可以首先以国家 如中国 为单位观察数据 然后可以选择观察某一个地区 如华东地区 的数据 接下来可以选择观察某一个省或城市 如上海 的数据 这就是数据分解的过程 而合成则是分解的逆过程 例如用户开始以省市为观察对象 接着再以地区 国家等为观察对象 就是一个数据合成的过程 数据仓库概念模型 3 维度的定义 3 3 25 我们有大量的会员年龄在20 60岁月薪在0 8000元55 的会员被我们认可为忠实会员 好会员 55 会员都是些什么会员 数据仓库概念模型 3 维度的定义 3 3 维度分解的例子 26 维度分解的例子 27 维度分解的例子 28 维度分解的例子 29 维度合成的例子 加拿大某大学数据库 30 ANYCanadaforeignB COntario ChinaIndia Vancouver Victoria Beijing Bombay 出生地 维度之级别 维度合成的例子 31 Bumaby Vancouver Victoria BritishColumbia Calgary Edmonton Lethbridge Alberta Hamilton Toronto Waterloo Ontario Bombay NewDelhi India Beijing Nanjing Shanghai China India China foreign BritishColumbia Alberta Ontario Canada foreign Canada ANY place 维度合成的例子 32 biology chemistry computing physics science literature music painting art science art ANY major freshman sophomore junior senior undergraduate M S M A Ph D graduate undergraduate graduate ANY status 0 0 1 99 poor 2 0 2 99 average 3 0 3 99 good 4 0 4 99 excellent poor average good excellent ANY grade 维度合成的例子 33 年级与学位之维度级别 freshmansophomorejuniorsenior M S M A Ph D undergraduategraduate ANY 维度合成的例子 34 维度合成的例子 将研究生数据合成出来 35 策略1 属性移除 AttributeRemoval Names这个属性中有许多不同的属性值 且沒有较高的概念层级可以表示它 所以Names属性可以被移除 36 策略 维级别的爬升 假如某一属性在概念阶层中存在着一个更高层级的概念 则该属性值就以其更高层级的值來取代 history physics math biology 会由 science 取代 literature music painting 会由 art 取代 37 策略 数据计数的传播 votepropagation 属性值向上爬升后 若产生相同的tuple 则将相同的tuple合并为一笔一般化tuple 并将vote值累加到归纳后的tuple中 38 策略 数据计数的传播 votepropagation 39 层次结构是维度中成员的集合以及这些成员之间的相对位置 对于由数据挖掘模型创建的维度 其层次结构代表该挖掘模型的节点结构 1 均衡层次结构和不均衡层次结构在均衡层次结构中 层次结构的所有分支都降至同一级别 而且每个成员的逻辑父代就是其上一级成员 所有的叶节点与根节点的距离相同洲 法国 巴黎洲 英国 伦敦在不均衡层次结构中 层次结构的分支降至不同级别 叶节点距根节点的距离不同的维度层次结构CEO 职员CEO 部门经理 职员 数据仓库概念模型 3 维度的层次结构 3 4 40 2 不齐整层次结构在不齐整层次结构中 一个成员的逻辑父代至少有一个并不直接位于该成员上一级 这将导致层次结构的分支降至不同的级别 例如 Geography维度由级别Country Province和City组成 Geneva的逻辑父代是Switzerland 因为Switzerland没有划分省份 3 具有多个层次结构的维度 数据仓库概念模型 3 维度的层次结构 3 4 41 度量是基于特定维度的一组事实或指标 度量值是一组值 基于事实数据表中的一列 而且通常为数字 例如一个多维数据集具有以下架构和单个度量值Sales 基于Sales事实数据表中的Sales Amount列 42 使用聚合函数计算度量值使用聚合函数 Sum Min Max Count等 可以获得并查询到需要的各种值 比如 1 对customerA retailstoreA和productA的Sales度量值的查询返回为8002 对customerA retailstoreA和productcategoryAB的Sales度量值的查询返回4 43 单元是多维数据集的原子元素 或者为来自与该多维数据集相关联的每个维度的某个成员的唯一逻辑交集 实质上 多维数据集由按度量值 级别以及维度组织的单元组成 44 例如 下列关系图描述的多维数据集有一个带阴影的单元 源 维度的 航空 成员 路线 维度的 非洲 成员 时间 维度的 第四季度 成员 度量值 维度的 包 成员 45 计算单元由下列三个元素构造1 计算子多维数据集维度 包括Measures维度 的所有成员 该选项通常不包括计算成员 维度 包括Measures维度 的单个指定的成员 维度中指定级别上的所有成员 该选项通常不包括计算成员 维度中指定成员的所有后代 维度中指定级别上指定成员的所有后代 解析为包含上述集合之一的集合中的MDX表达式 该列集合与该列集合中未指定的所有其它维度的每个其它成员的组合定义计算子多维数据集 46 2 计算条件进一步限制计算单元功能应用的MDX逻辑表达式 3 计算公式用来计算包含于计算子多维数据集中的单元的值的MDX值表达式 47 多维数据集是包含维度和度量值的多维结构 维度定义多维数据集的结构 而度量值提供最终用户感兴趣的数值 多维数据集内的单元位置由各维度成员的交集确定 通过对度量值进行聚合得到单元中的值 多维数据集提供一种便于使用的查询数据的机制 不但快捷 而且响应时间一致 一个多维数据集最多可包含128个维度 每个维度中可包含数百万成员 和1 024个度量值 48 多维数据集结构每个多维数据集架构均包括一个事实数据表以及一个或多个维度表 多维数据集的度量值出自事实数据表中的列 多维数据集的维度出自维度表中的列 多维数据集存储可以使用不同的技术和多种模式存储多维数据集的数据和聚合 多维数据集需要大量存储空间 用以包含多维结构中的数据和聚合 影响存储空间要求的一个因素是稀疏度 49 数据仓库逻辑模型 4 逻辑模型的定义和主要工作 4 1 逻辑模型是数据仓库数据模型的第二层 与传统的关系模型相比 简化了用户分析所需的关系 进而数据结构也得到简化从支持决策的角度去定义数据实体 更适合大量复杂查询 有多个维 度 表 但是只有一个事实表通常有两种逻辑模型表示法 星型模型和雪花模型工作分析主题 定义逻辑模型 星型模型或雪花模型 确定数据粒度的选择确定数据分割策略如需要 增加导出字段等 50 星形模型包含三种逻辑实体 维度表逻辑上通过key关联维度表往往包含相当多的属性典型的属性是文本的 离散的维度往往含有层次 级别 主键 primarykey 往往是系统产生的很可能是共享的事实表对应联系 51 星形模型包含三种逻辑实体 维度表事实表一个数据仓库 OLAP 模型只有一个事实表事实表经常有百万行或更多事实往往是数字 量度 有些事实可以被累加 另一些不能最小粒度原则不欢迎描述性属性 瘦高vs 矮胖 对应联系 52 星形模型包含三种逻辑实体 维度表事实表对应联系维度表与事实表不是绝对的同一个表 可以同时是维度表与事实表同一个表 可以有时是维度表 有时是事实表一个事实表对应多个不同维表一个维表可对应不同的事实表 53 示例1 54 示例2 55 示例3 56 星形模式 时间维 事实表 示例3 57 多维模型 58 雪花模型的特点维表进一步层次化 改善查询性能增加表数量 增加查询复杂性节省存储空间层次性好 59 示例1 60 DateMonth Date SalesFactTable Date Product Store Customer unit sales dollar sales Yen sales Measurements MonthYear Month Year Year 示例2 61 两种模型比较星型模型通过预连接和建立有选择的数据冗余 为用户访问和分析过程大大简化了数据 星型模型效率比较高 因为雪花模型维表层次多 查询的时候连接操作较多 雪花模型通过最大限度的减少数据存储量以及联合较小的维表来改善查询性能 雪花模型增加了用户必须处理的表数量 增加了某些查询的复杂性 但这种方式可以使系统进一步专业化和实用化 同时降低了系统的通用程度 雪花模型的维表可能是规范化形式 以便减少冗余 易于维护 节省存储空间 62 选择建议星型模型结构效率上优于雪花模型 首选星型如果存储空间上存在瓶颈 可以考虑使用雪花模型如果维护方面要求简便性 可以考虑使用雪花模型 63 产品销售事实表 销售记录销售额成本产品件数维度表时间产品销售人员客户商店促销 64 网站分析事实表 点击记录人次数人数维度表时间网站IP 地域 浏览器 65 电信行业事实表 打电话的记录通话时间本地费长途费维度表时间客户年龄客户信息手机型号电信服务类型 66 财务 预算分析事实表 财务历史实际费用预算费用维度表时间部门科目 67 每月电话呼叫信息 每天电话呼叫信息 电话呼叫情况信息 电话呼叫明细信息 68 粒度的第一种形式粒度 对数据仓库中的数据综合程度高低的一个度量 它既影响数据仓库中的数据量的多少 也影响数据仓库所能回答询问的种类 粒度越小 综合程度越低 回答查询的种类越多 粒度越高 综合程度越高 查询的效率也越高 在数据仓库中可将小粒度的数据存储在低速存储器上 大粒度的数据存储在高速存储器上 69 粒度的第二种形式 样本数据库样本数据库 在分析过程中 有许多探索的过程有时分析的目的并不要求精确的结果 只需要得到相对准确 能反映趋势的数据 所以可以提取出样本数据库 样本数据库的粒度 是根据采样率的高低来划分的 采样粒度不同的样本数据库可以具有相同的综合级别 它是按一定的采样率从细节数据库或轻度综合数据库中提取的一个子集 样本数据库的抽取按照数据的重要程度不同进行 利用样本数据库采集重要数据进行分析既可提高分析效率 又有助于抓住主要因素和主要矛盾 70 数据粒度级别原因 数据仓库中数据量不同 需要解决的问题多种多样 细节问题 综合问题 因此 不同的问题采用不同的数据粒度级别 在数据量较小的环境下 可以采用单一的数据粒度 对于大数据量 需要采用双重或多重粒度单一粒度直接存储细节数据并定期在细节数据基础上进行数据综合从数据装载之后 所有细节数据都将保留在数据仓库中存储期限 5 10年 到了之后 才会导到后备设备 如磁带 中 71 双重粒度对于细节数据只保留近期的数据在数据仓库中 当保留周期到达时 将距离当前较远的数据导出到磁盘上 从而为新的数据腾出空间 数据仓库中只保留在细节数据保留周期内的数据 对于这个周期之后的信息 数据仓库只保留其综合数据 两者的区别细节数据在数据仓库的高速存储设备中存储的时间长短不同 72 如何确定数据粒度粒度选择的标准主要是数据仓库表的总行数 因为数据的存取通常是通过存取索引来实现的 而索引是对应表的行来组织的 即在某一索引中每一行总有个索引项 索引的大小只与表的总行数有关 而与表的数据量无关 Inmon的数据粒度策略 必须用双重粒度且需认真设计 20 000 000 10 000 000 最好使用双重粒度 10 000 000 1 000 000 如使用单一粒度 需认真设计 1 000 000 100 000 单一粒度 设计简单 100 000 10 000 数据粒度策略 5年内数据量 行 1年内数据量 行 73 影响粒度层次划分的几个因素要接受的分析类型粒度层次越高 就越不能进行细节分析如最低粒度层次定义为月份时 就不能进行按日汇总信息分析可接受的最低粒度粒度划分策略一定要保证数据的粒度确实能够满足用户的决策分析需要 能存储数据的存储容量若存储容量有限 则只能采用较高粒度的数据粒度划分策略 74 分割及其标准 分割 将逻辑上统一的数据分散到各自的物理单元中去以便能分别处理 提高数据处理效率 数据分割后的数据单元称为分片 数据分割的标准 可按日期 地域 业务领域或按多个分割标准的组合 数据分割的目的 便于进行数据的重构 索引 重组 恢复 监控 扫描 75 数据分割考虑的因素数据量的大小数据量较小 可以不进行分割 或只用单一标准进行分割数据量很大 应当采用多重标准的组合来较细致地分割数据数据分析处理的实际情况数据分割是跟数据分析处理的对象紧密联系的 简单易行选择用于数据分割的标准应当是自然的 易于实施的与粒度的划分策略相统一同一粒度层次上的数据需要进行分割时 应当按照划分粒度层次时使用的标准进行分割数据的稳定性数据仓库中的数据追加频率不同 有的快 有的慢 将不同变化频度的数据放在不同的表中进行更新处理 76 定义导出字段是在原始数据的基础上进行总结或计算而生成的数据这些数据可以在以后的应用中直接利用 避免了重复计算 药物ID出现次数总剂量 方剂ID药物ID剂量 方剂ID药物ID剂量 方剂ID药物ID剂量 77 分布存储方式采用磁盘阵列在多个节点间分布的方式来存储数据物理上是分布的 但是逻辑上是统一的 内部高速网络 存储 存储 接外部网络 SCSI SmallComputerSystemInterface FC FibreChannel 78 集中式数据存储方式将现有SAN StorageAreaNetwork 存储局域网 或者NAS NetworkAttachedStorage 网络接入存储 作为服务器的存储部分直接通过FC交换机来直接访问所有的数据而不需要通过其他节点可以将节点从数据存储管理的负担中解脱出来 实现数据处理和数据存储的分离 79 内部高速网络 模块0 互联I O SCSI FC 网络I O 模块1 互联I O SCSI FC 网络I O 模块N 互联I O SCSI FC 网络I O 接外部网络 FC交换机 RAID存储子系统 80 RAID磁盘阵列廉价冗余磁盘阵列 RedundantArrayofInexpensiveDisk 是一种采用多磁盘驱动器来存储数据的数据存储系统分为6个级别 RAID0 1 2 3 4 5及RAID0 1 2 3 4使用频率较低 5 0 1 0 1使用较多 在RAID的各个级别中 RAID1和RAID0 1提供最佳的数据保护和最佳性能 但是就所需的磁盘而言会需要更多的成本 当硬盘成本不是限制因素时 就兼顾性能和容错而言 RAID1或RAID0 1是最佳选择 RAID5的成本比RAID1或RAID0 1低 但是它提供的容错和写入性能较差 RAID5的写入性能大约只是RAID1或RAID0 1的一半 这是因为RAID5读取和写入奇偶校验信息需要额外的I O 81 RAID0因为该级别使用名为条带集的磁盘文件系统 所以又将它称作磁盘条带 数据被划分成多个块并按固定顺序分布到阵列中的所有磁盘上 RAID0将多个操作分布到多个磁盘上 以便可以同时独立地执行这些操作 从而改善了读取 写入性能 RAID0类似于RAID5 但是RAID5还提供容错功能 82 RAID1因为该级别使用名为镜像集的磁盘文件系统 所以又将它称作磁盘镜像 磁盘镜像可提供一个与所选磁盘完全相同的冗余副本 写入主磁盘的所有数据都会写入镜像磁盘 RAID1提供了容错功能 而且通常可以改进读取性能 但是可能会降低写入性能 83 RAID2RAID2是为大型机和超级计算机开发的带校验磁盘阵列 磁盘驱动器组中的第1 第2 第4 第2n个磁盘驱动器是专门的校验盘 hammingcode 如下图 第1 2 4个磁盘驱动器 红色 是纠错盘 其余的 紫色 用于存放数据 RAID2对大数据量的读写具有极高的性能 但少量数据的读写时性能反而不好 所以RAID2实际使用较少 84 RAID3该级别使用与RAID2相同的条带化方法 但是纠错方法只需一个磁盘用于奇偶校验数据 磁盘空间的使用情况因数据磁盘的数量而异 RAID3在读取 写入性能方面提供一些改进 按横条 RAID3也极少使用 85 RAID4该级别使用的条带数据块或段比RAID2或RAID3大得多 按竖条 与RAID3一样 纠错方法只需一个磁盘用于奇偶校验数据 它将用户数据与纠错数据分开 RAID4不如其他RAID级别效率高 通常不使用 86 RAID5该级别又称作具有奇偶校验的条带化 它是新设计中最常用的策略 与RAID4相似 它将数据以大块形式条带化到阵列中的磁盘上 不同之处在于它在所有磁盘之间写入奇偶校验的方式 数据冗余通过奇偶校验信息提供 数据和奇偶校验信息会在磁盘阵列上排列 所以这两种信息总是位于不同的磁盘上 与磁盘镜像 RAID1 相比 具有奇偶校验的条带化可提供更好的性能 但是 当条带成员丢失时 例如 当磁盘发生故障时 读取性能会下降 RAID5是最常用的RAID配置之一 87 RAID0 1该级别又称作具有条带化的镜像 该级别使用条带化的磁盘阵列 而该阵列又镜像到另一组相同的条带化磁盘 例如 可使用四个磁盘创建一个条带化的阵列 然后 条带化的磁盘阵列使用另一组 四个 条带化的磁盘进行镜像 RAID10提供磁盘条带化带来的性能益处以及镜像带来的磁盘冗余 在所有的RAID级别中 RAID10提供的读取 写入性能最高 代价是使用的磁盘数量是其他级别的两倍 88 1972年R Bayer和E M McCreight提出了一种称之为B 树的多路平衡查找树 它适合在磁盘等直接存取设备上组织动态的查找表 B树索引的定义一棵m m 3 阶的B 树是满足如下性质的m叉树 每个结点至少包含下列数据域 j P0 Kl P1 K2 Ki Pi 其中 j为关键字总数Ki 1 i j 是关键字 关键字序列递增有序 K1 K2 Ki Pi 0 i j 是孩子指针 对于叶结点 每个Pi为空指针 所有叶子是在同一层上 叶子的层数为树的高度h 每个非根结点中所包含的关键字个数j满足 m 2 1 j m 1即每个非根结点至少应有 m 2 1个关键字 至多有m 1个关键字 因为每个内部结点的度数正好是关键字总数加1 故每个非根的内部结点至少有 m 2 子树 至多有m棵子树 若树非空 则根至少有1个关键字 故若根不是叶子 则它至少有2棵子树 根至多有m 1个关键字 故至多有m棵子树 89 B 树的结点规模在大多数系统中 B 树上的算法执行时间主要由读 写磁盘的次数来决定 每次读写尽可能多的信息可提高算法的执行速度 B 树中的结点的规模一般是一个磁盘页 而结点中所包含的关键字及其孩子的数目取决于磁盘页的大小 注意 对于磁盘上一棵较大的B 树 通常每个结点拥有的孩子数目 即结点的度数 m为50至2000不等 一棵度为m的B 树称为m阶B 树 选取较大的结点度数可降低树的高度 以及减少查找任意关键字所需的磁盘访问次数 90 例 下图给出了一棵高度为3的1001阶B 树 说明 每个结点包含1000个关键字 故在第三层上有100多万个叶结点 这些叶节点可容纳10亿多个关键字 图中各结点内的数字表示关键字的数目 通常根结点可始终置于主存中 因此在这棵B 树中查找任一关键字至多只需二次访问外存 91 B 树的查找方法在B 树中查找给定关键字的方法类似于二叉排序树上的查找 不同的是在每个结点上确定向下查找的路径不一定是二路而是keynum 1路的 对结点内的存放有序关键字序列的向量key l keynum 用顺序查找或折半查找方法查找 若在某结点内找到待查的关键字K 则返回该结点的地址及K在key 1 keynum 中的位置 否则 确定K在某个key i 和key i 1 之间结点后 从磁盘中读指针所指的结点继续查找 直到在某结点中查找成功 或直至找到叶结点且叶结点中的查找仍不成功时 查找过程失败 92 B树的使用条件和特点使用条件当要求被索引的字段的值是唯一或者是接近唯一的时候查询工作是从大表中选择少数几个数据记录时 特点B树快速索引性能是通过较大的代价换取的 通常为一个大表建立B树索引需要大量的时间和磁盘空间B树使用期间的维护工作量很大数据仓库中的数据定期追加 就需要做大量的索引工作如果系统的数据10 15 发生了变化 就需要对B树索引进行重构 93 位图索引定义OLAP分析中 需要对大量数据进行综合性查询 而不是几条记录 这种情况下B树索引就受到了很大限制 位图索引是一种资源耗费很小 对于多维查询性能很好的索引方法 位图索引是一组0和1字符 表中每一条记录都被分配一个在位图中的相对位置且给定一个值 0或者1 位图中每个比特对应一条记录 所以位图索引占用的空间很小 1 1 0 1 0 F M F 客户性别 94 位图索引使用在位图上运用逻辑AND和OR可以非常迅速地得到多维查询结果例如 通过贷款购买汽车的男性客户有哪些 就可以在商品类型 客户性别 支付方式等字段上建立位图索引 并在查询中综合使用 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 是否贷款 是否购车 客户性别 AND AND 95 广义索引广义索引是在数据装载的同时建立 它是一种元数据广义索引涉及的是用户最关心的问题 需要在数据加载前进行调查了解 比如使用频率最高的10种药物 使用频率最低的药物等 比较适合经常性的查询 开销比较小 96 连接索引就是将事实表和维表中的索引项进行连接运算 然后将结果作为索引保留 如果对事实表和维表中的所有外键进行连接运算 将得到一个很大的表 这种索引称为全连接索引 但是在一般情况下 不一定对所有外键都进行连接运算 可根据需要使用部分外键 生成不同的连接索引在实际应用中 通常先建立全连接索引 然后根据需要增加其他的连接索引 例子见下页图 97 98 数据存储策略考虑因素数据的重要程度粒度使用频率响应时间采取措施重要程度高 使用频率高或对响应时间要求高的数据存放在高速存储设备上存取频率低或对响应时间要求低的数据存放在低速存储设备上除此之外 还有以下策略 99 合并表例行分析处理时 涉及的表存储时放到一起 可大大减少磁头定位时间 提高I O效率这种将多个表中相互关联的记录相邻存储的方式称为合并表 100 数据序列把经常按照某一序列访问并处理的一组表存储在一起可减少I O次数 101 按列存储同一列数据相邻存储同一列数据具有相同的数据类型 按列存储有许多优点 如读取方便 索引方便 统计方便等Sybase数据仓库产品是按照列来存储的 5 性寒 3 8 性平 2 9 性温 1 剂量 味性 药物ID 性平 性温 性寒 9 8 5 102 分割表存放在逻辑设计中对大表进行分割 分割成多个小表 提高访问效率 在物理上采用分布式的存储 达到并行读取的目的 103 存储分配优化解决数据分块大小 缓冲区单元大小和个数等问题和系统配置相关 数据仓库厂商会给出推荐配置设计人员在系统维护过程中根据实际情况来调整设置正确的块大小一个文件包括很多块 每个块包括很多条记录块是数据库的数据和内存中间I O传输的基本单位 块头中存放记录控制信息DBMS都有默认块大小 如2kb或者4kb增加块的大小 则可以有更多的记录放入一个块中 一次可以读入更多的记录 减少读操作的次数但是大块当即使需要很少的记录时 也要读入很多记录 影响了内存管理 104 设置合适的块使用参数块空闲率DBMS为每个块预留一部分空间 使块中的记录能够扩展比如块空闲参数设置为20 表示每个块的20 为记录更新修改预留空间 当预留空间已满时 DBMS需要找到一个新的扩展区间 在工作中寻找新的区间成为动态扩展 动态扩展带来了巨大的开销 分配较大的初始扩展空间可以减少动态扩展数据仓库中 由于更新不多 主要是追加 这个参数设置的越小越好 105 设置合适的块使用参数块使用率它指定了一个界限 当块中已使用空间低于这个界限时才允许向该块中插入新的数据行如该参数设置为40 表示当从空间中删除行时 空间不能马上被使用 只有当已经使用的空间降低到40 以下 空闲空间才可以使用 数据仓库中 很少删除记录 除非是将数据仓库中的数据存入磁带中 一般情况下 是将这个参数设置的越大越好 106 高层设计中层设计低层设计数据仓库生成 107 高层设计主要考虑商业过程和商业需求的集成 将与目前商业过程有关的信息和数据仓库视图实现的目标合并在一起 创建信息包图 工作确定系统边界 决策类型 需要的信息 原始信息确定主题域及其内容 主题域的公共键码 主题域之间的联系 属性组确定维度 如时间维 销售位置维 产品维 组别维等确定级别 相应维的详细层次确定度量 也称指标和事实 用于进行分析的数值化信息 108 创建信息包图 确定涉及的主题域 例如 时间 顾客 地位置和产品 设计可以跟踪的确定一个事件怎样被完成和运行的关键指标 决定在给定的用户分析或查询中实际包含了多少数据 确定用户如何按层次聚合数据和移动数据 决定数据层次 估计数据仓库的大小 确定一个数据仓库里数据的更新频率 定义如何访问数据 决定数据如何被传递给数据仓库的用户 109 中层设计建立数据仓库的逻辑模型 对前期收集的信息的细化 将信息包图转换成星形模型 主要工作定义指标实体 将信息包图中的内容放到星形图中 每个信息包图代表一个完整的星和信息包 维度实体在指标实体中表示 定义维度实体 信息包图中的每一个维度实体位于星形图的星角上 它以维度表的形式存在 随着维度实体在星形图上的定位 进一步定义它与指标实体间的关系 定义详细类别实体 在一个简单的星形图模型中 指标实体被用于访问的维度实体包围 但是在有的决策分析中仅仅知道指标值是不够的 需要定义详细类别实体 将星型图模型转换为雪花图模型 设计成果适当的粒度划分合理的数据分割策略定义适当的数据源如必要 添加导出字段 110 低层设计阶段的任务 建立数据仓库的物理模型 确定数据仓库的存储结构 数据的存储位置和索引策略 设计人员需要了解和考虑的问题 所选用的数据库系统 特别是存储结构和存取方法 数据环境 数据的使用频率 使用方式以及响应时间 存储设备的特性等 主要工作 确定数据的存储结构 不同的存储结构有不同的实现方式 应综合考虑存取时间 存取空间利用率和维护代价等因素 根据各种存储结构的优缺点和适用范围选择合适的存储结构 确定数据的存储位置 对数据按照其重要程度 使用频率和对响应时间的要求等进行分类 并将不同类别的数据存储在不同的存储设备中 设置存储分配参数 对块的大小 缓冲区的大小和个数等进行物理优化处理 确定索引策略 通过对数据存取路径的分析 为各个数据存储建立专用的索引 以获得存取的高效率 111 设计接口从面向应用和操作的环境生成完整的数据基于时间的数据转换数据的聚合对记录系统进行扫描 以便追加数据数据装入确定数据装入的顺序过滤无效或错误数据数据老化数据粒度管理数据刷新 112 设计接口数据仓库中的数据是从数据库系统中提取出来的 所以在需要在数据库系统和数据仓库之间建立一个接口 建立这种接口 并不是简单的编制一个提取程序 由于数据库中的数据与数据仓库中的数据有很大区别 所以在设计接口时 除了提取外还要完成数据的净化 集成等 接口应包括转换器 监控器和集成器等 以完成对数据的提取 净化和集成 113 数据的提取数据提取是数据仓库成功的关键 在提取过程中 为了支持实际应用中的趋势分析 它还必须对数据基于时间进行转换 在大多数情况下 把数据库系统中的数据变化提取出来是通过访问数据库日志进行的 在数据提取时应考虑建立可靠的复制机制 使复制不受诸如系统失败之类问题的影响 保证传送符合数据完整性规则的一致数据 并优化传送过程 减少在捕获或修改数据和传送复制结果之间的等待时间 复制机制包括数据发布器和数据阅读器 数据发布器是原始的或控制的源 它控制了从企业内部来的数据的捕获和净化 数据阅读器是一种对数据访问的系统 114 需求分析数据分析技术路线应用分析数据仓库部署数据仓库系统运行和维护 115 数据仓库项目需求分析的特点需求比较模糊 需求分析过程贯穿整个数据仓库设计过程中数据仓库开发过程中每一个阶段的每一项任务都是由需求决定的设计阶段的每一个决策 无论是数据设计 体系结构设计 信息传递方法的安排 都受到需求的影响需求分析的内容常见主题常见分析问题数据源的数据库类型工作平台数据量及其质量数据仓库的建立环境网络状况各方面各层次人员对数据分析的需求等 116 数据仓库项目需求分析文档组成绪论 阐述项目的目的和范围 包括项目论证 文档概要总体需求描述 阐述数据仓库中需要什么样的数据具体需求 包括源数据的细节 数据转换和存储需求 描述用户需要的各类信息传递方法指标和维度 包括重要的指标和事实 以及分析这些指标所用的维度其他需求 数据抽取频率 数据载入方法等用户期望 说明用户期望如何使用数据仓库用户参与 列出用户在开发周期中希望参与的任务和活动实施计划 给出一个合理的数据仓库项目实施计划 117 数据仓库数据分析 即数据仓库设计步骤的内容 概念模型设计逻辑模型设计物理模型设计数据装载接口设计 118 技术路线主要内容技术路线主要确定数据仓库的基础构造 包括服务器硬件 操作系统 网络软件 数据库软件 局域网和广域网 供应商提供的工具 人员 工作步骤和培训等 操作型基础构造包括人员 流程 培训和管理软件 是维持数据仓库所需要的 它们支持数据仓库的管理工作并保持它的工作效率物理基础构造计算机平台工具 119 计算机平台硬件和操作系统硬件 选型时考虑可扩展性 供应商的支持和稳定性操作系统 与硬件相容 选型时考虑可扩展性 安全性 可靠性 内存管理和保护服务器硬件方案数据仓库用户数量和查询数量都会大幅度增加数据载入工作也急剧增多可扩展性和查询性能优化是服务器硬件选择的两个关键因素主要的服务器硬件结构 SMP 对称多处理机结构 群集 MPP 大规模并行处理 NUMA 一致高速缓存的不均匀内存体系结构 120 SMP容易扩展 但是内存有限数据规模200G 300G 可以考虑采用这种结构 处理器 处理器 处理器 共享磁盘 共享内存 共享磁盘 通用总线 121 群集适用于规模不断增长的情况 容易扩展 总线带宽会限制系统扩展性如果能够很好地定义数据仓库的增长 可以考虑采用这种结构 共享磁盘 共享磁盘 通用高速总线 共享磁盘 122 MPP可高度扩展 每个节点的成本较低 失败仅限于节点之内 但是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胆囊壁肌增生的护理
- 雨课堂学堂在线学堂云《播音主持艺术( 兰文理)》单元测试考核答案
- 高考化学“8+1”模拟练试卷含答案(七)
- 2026年劳务员之劳务员基础知识考试题库200道附参考答案【培优a卷】
- 2026年设备监理师之设备监理合同考试题库附参考答案【轻巧夺冠】
- 2025东风奕派汽车科技公司社会招聘历年真题汇编带答案解析
- 2025北京市百瑞(鄂尔多斯)律师事务所招聘备考题库带答案解析
- 2026广东中山市委党校招聘事业单位人员2人参考题库附答案解析
- 中国移动卓越公司2025秋季校园招聘备考题库附答案
- 2025新疆机场(集团)有限责任公司阿克苏管理分公司第四季度招聘100人历年真题汇编附答案解析
- MOOC 创业团队建设与管理-首都经济贸易大学 中国大学慕课答案
- 居民死亡医学证明模板
- 大学英语口语演讲课件
- 主要施工机械进退场报审表GD220228
- 三废环保管理培训
- 平衡计分卡操作实施流程
- 关于邻居关系的普法知识讲座
- 静脉治疗相关指南解读
- 创新创业期末考核方案
- 农田除草机的结构设计毕业设计论文
- 最小作战单元以盾棍叉战法为例
评论
0/150
提交评论