《数据仓库设计课件.ppt》由会员分享,可在线阅读,更多相关《数据仓库设计课件.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据仓库设计数据仓库设计胡正耀 09105015一、数据仓库系统结构一、数据仓库系统结构RDBMS数据文件数据文件其他其他 综合数据综合数据 当前数据当前数据 历史数据历史数据 元数据元数据 抽取、转换、装载抽取、转换、装载数据仓库数据仓库OLAP工具工具DM工具工具 查询工具查询工具分析工具分析工具报表工具报表工具 抽取抽取.转换转换.装载装载源数据库源数据库 DW管理工具管理工具数据建模工具数据建模工具 数据源数据源二、建立二、建立DWDW的两种方式的两种方式1.1.自顶向下型自顶向下型“自顶向下自顶向下”的开发策略是指对原来分散存储在企业的开发策略是指对原来分散存储在企业各处的各处的OL
2、TPOLTP数据库中的有用数据通过提取、清洁、转数据库中的有用数据通过提取、清洁、转换、聚集等处理步骤建立一个全局性数据仓库。这个换、聚集等处理步骤建立一个全局性数据仓库。这个全局的数据仓库将提供给用户一个一致的数据格式,全局的数据仓库将提供给用户一个一致的数据格式,一致的软件环境。从理论上说,决策支持所需的数据一致的软件环境。从理论上说,决策支持所需的数据都应该包含在这个全局数据仓库中。数据集市中存储都应该包含在这个全局数据仓库中。数据集市中存储的数据是为某个部门的的数据是为某个部门的DSSDSS应用而专门从全局数据仓库应用而专门从全局数据仓库中提取的,它是全局数据仓库中数据的一个子集。在中
3、提取的,它是全局数据仓库中数据的一个子集。在“自顶向下自顶向下”的模式中,数据集市和数据仓库的关系的模式中,数据集市和数据仓库的关系是单方向的,即数据从数据仓库流向数据集市。是单方向的,即数据从数据仓库流向数据集市。原有数据和应用源原有数据和应用源抽取、转换、迁移抽取、转换、迁移数据仓库数据仓库数据仓库/数据集市元数据数据集市自顶向下的数据仓库结构自顶向下的数据仓库结构二、建立二、建立DWDW的两种方式的两种方式2.2.自下向上型自下向上型“自底向上自底向上”模式是从建立各个部门或特定的商业问模式是从建立各个部门或特定的商业问题的数据集市开始,全局性数据仓库建立在这些数据题的数据集市开始,全局
4、性数据仓库建立在这些数据集市的基础上。集市的基础上。“自底向上自底向上”模式的特点是初期投资模式的特点是初期投资少,见效快,因为它在建立部门数据集市时只需要较少,见效快,因为它在建立部门数据集市时只需要较少的人做决策,解决的是较小的商业问题。少的人做决策,解决的是较小的商业问题。“自底向自底向上上”的开发模式可以使一个单位在数据仓库发展初期的开发模式可以使一个单位在数据仓库发展初期尽可能少地花费资金,也可以在做出有效的投入之前尽可能少地花费资金,也可以在做出有效的投入之前评估技术的收益情况。评估技术的收益情况。原有数据和应用源原有数据和应用源抽取、转换、迁移抽取、转换、迁移数据仓库数据仓库数据
5、仓库/数据集市元数据数据集市自下向上的数据仓库结构自下向上的数据仓库结构 “平行开发平行开发”模式是指在一个全局性数据仓库模式是指在一个全局性数据仓库的数据模型的指导下,数据集市的建立和全局性数据的数据模型的指导下,数据集市的建立和全局性数据仓库的建立同时进行。在仓库的建立同时进行。在“平行开发平行开发”模式中由于数模式中由于数据集市的建立是在一个统一的全局数据模型的指导下据集市的建立是在一个统一的全局数据模型的指导下进行的,可避免各部门在开发各自的数据集市时的盲进行的,可避免各部门在开发各自的数据集市时的盲目性,减少各数据集市之间的数据冗余和不一致。在目性,减少各数据集市之间的数据冗余和不一
6、致。在“平行开发平行开发”模式中数据集市的这种相对独立性有利模式中数据集市的这种相对独立性有利于全局性数据库的建设。一旦全局性数据仓库建立好于全局性数据库的建设。一旦全局性数据仓库建立好后,各部门的数据集市将成为全局数据仓库的一个子后,各部门的数据集市将成为全局数据仓库的一个子集集#全局数据仓库将负责为各部门已建成和即将要建的全局数据仓库将负责为各部门已建成和即将要建的数据集市提供数据。数据集市提供数据。二、建立二、建立DWDW的两种方式的两种方式两种方式的比较:两种方式的比较:自顶向下自顶向下 的方法是在单个项目阶段中实现数据仓的方法是在单个项目阶段中实现数据仓库,需要在项目开始时完成更多计
7、划和设计工作。这库,需要在项目开始时完成更多计划和设计工作。这就需要涉及参与数据仓库实现的每个工作组、就需要涉及参与数据仓库实现的每个工作组、部门或部门或业务线中的人员。要使用的数据源、安全性、数据结业务线中的人员。要使用的数据源、安全性、数据结构、数据质量、数据标准和整个数据模型的有关决策构、数据质量、数据标准和整个数据模型的有关决策一般需要在真正的实现开始之前就完成,一般需要在真正的实现开始之前就完成,建设规模往建设规模往往较大,建设周期长,投资大。往较大,建设周期长,投资大。二、建立二、建立DWDW的两种方式的两种方式两种方式的比较:两种方式的比较:自下向上自下向上的实现包含数据仓库的计
8、划和设计,无的实现包含数据仓库的计划和设计,无需等待安置好更大业务范围的数据仓库设计。这并不需等待安置好更大业务范围的数据仓库设计。这并不意味着不会开发更大业务范围的数据仓库设计;随着意味着不会开发更大业务范围的数据仓库设计;随着初始数据仓初始数据仓 库实现的扩展,将逐渐增加对它的构建。库实现的扩展,将逐渐增加对它的构建。现在,该方法得到了比自顶向下方法更广泛的接受,现在,该方法得到了比自顶向下方法更广泛的接受,因为数据仓库的直接结果可以实现,并可以用作扩展因为数据仓库的直接结果可以实现,并可以用作扩展更大业务范围实现的证明。更大业务范围实现的证明。二、建立二、建立DWDW的两种方式的两种方式
9、两种方式的比较:两种方式的比较:一种折中方案:一种折中方案:每种实现方法都有利弊。在许多情况下,最好的方法可能是某两每种实现方法都有利弊。在许多情况下,最好的方法可能是某两种的组合。该方法的关键之一就是确定业务范围的架构需要用于种的组合。该方法的关键之一就是确定业务范围的架构需要用于支持集成的计划和设计的程度,因为数据仓库是用自底向上的方支持集成的计划和设计的程度,因为数据仓库是用自底向上的方法进行构建。在使用自底向上或阶段性数据仓库项目模型来构建法进行构建。在使用自底向上或阶段性数据仓库项目模型来构建业务范围架构中的一系列数据集市时,您可以一个接一个地集成业务范围架构中的一系列数据集市时,您
10、可以一个接一个地集成不同业务不同业务 主题领域中的数据集市,从而形成设计良好的业务数据主题领域中的数据集市,从而形成设计良好的业务数据仓库。这样的方法可以极好地适用于业务。在这种方法中,可以仓库。这样的方法可以极好地适用于业务。在这种方法中,可以把数据集市理解为整个数据仓库系统的逻辑子把数据集市理解为整个数据仓库系统的逻辑子 集,换句话说数据集,换句话说数据仓库就是一致化了的数据集市的集合。这种方案的实施步骤通常仓库就是一致化了的数据集市的集合。这种方案的实施步骤通常分如下几步:分如下几步:(1)(1)从整个企业的角度定义计划和需求从整个企业的角度定义计划和需求 (2)(2)构建完整的仓库体系
11、结构构建完整的仓库体系结构 (3)(3)使数据内容一致而且标准化使数据内容一致而且标准化 (4)(4)将数据仓库作为一种超级数据集市来实施将数据仓库作为一种超级数据集市来实施 随着数据仓库技术的发展随着数据仓库技术的发展 ,数据仓库的实现策略数据仓库的实现策略已从原先的已从原先的“自顶向下自顶向下”一种模式发展到了六种模式。一种模式发展到了六种模式。1 1、“自顶向下自顶向下”模式模式 2 2、“自底向上自底向上”模式模式 3 3、“平行开发平行开发”模式模式 为了解决用户需求变化的问题为了解决用户需求变化的问题 ,在业界引入了三在业界引入了三种模式。种模式。4 4、“有反馈的自顶向下有反馈的
12、自顶向下”模式模式5 5、“有反馈的自底向上有反馈的自底向上”模式模式 6 6、“有反馈的平行开发有反馈的平行开发”模式模式 三、数据仓库构建步骤三、数据仓库构建步骤 数据建模数据建模 概念模型设计概念模型设计 逻辑模型设计逻辑模型设计物理模型设计物理模型设计 OLAP应用应用完善维护系统完善维护系统 应用与维护应用与维护确定系统边界确定系统边界确定主题域确定主题域 总体分析设计总体分析设计技术环境设备技术环境设备 三、数据仓库构建步骤三、数据仓库构建步骤1)收集和分析业务需求;收集和分析业务需求;2)建立数据模型和数据仓库的物理设计;建立数据模型和数据仓库的物理设计;3)定义数据源;定义数据
13、源;4)选择数据仓库技术和平台;选择数据仓库技术和平台;5)从操作型数据库中提取、转换和净化数据到数从操作型数据库中提取、转换和净化数据到数据仓库;据仓库;6)选择访问和报表工具;选择访问和报表工具;7)选择数据库连接软件;选择数据库连接软件;8)选择数据分析和数据展示软件;选择数据分析和数据展示软件;9)更新数据仓库;更新数据仓库;三、数据仓库建立的基本框架三、数据仓库建立的基本框架需求分析需求分析运行维护运行维护模型设计物理设计技术选择数据处理应用设计应用开发产品选择项项目目管管理理四、数据的获取四、数据的获取数据仓库所需要的数据不像业务处理系统那样数据仓库所需要的数据不像业务处理系统那样
14、直接从业务发生地获取,而是从与业务处理发直接从业务发生地获取,而是从与业务处理发生直接联系的业务处理系统那里获取,如传统生直接联系的业务处理系统那里获取,如传统的基于的基于C/S结构的在线事物处理系统结构的在线事物处理系统OLTP。这些业务处理系统中的数据往往与业务处理联这些业务处理系统中的数据往往与业务处理联系在一起,只为业务的日常处理服务,而不为系在一起,只为业务的日常处理服务,而不为决策分析服务。所以决策分析服务。所以DW从业务处理系统那里从业务处理系统那里获取数据时,并不能将原数据库中的数据直接获取数据时,并不能将原数据库中的数据直接加载到加载到DW中,而是要进行一系列的处理。中,而是
15、要进行一系列的处理。四、数据的获取四、数据的获取数据进入数据仓库的基本过程数据进入数据仓库的基本过程 操作数据向数操作数据向数据仓库的移动包括以下五个过程据仓库的移动包括以下五个过程:五、设计模型的选择五、设计模型的选择数据仓库是多维数据库,它扩展了关系数据库模型,数据仓库是多维数据库,它扩展了关系数据库模型,以星形架构为主要结构方式的,并在它的基础上,扩以星形架构为主要结构方式的,并在它的基础上,扩展出理论雪花形架构和数据星座等方式,但不管是哪展出理论雪花形架构和数据星座等方式,但不管是哪一种架构,维度表、事实表和事实表中的量度都是必一种架构,维度表、事实表和事实表中的量度都是必不可少的组成
16、要素。不可少的组成要素。逻辑模型指数据仓库数据的逻辑表现形式。从最终应逻辑模型指数据仓库数据的逻辑表现形式。从最终应用的功能和性能的角度来看,数据仓库的数据逻辑模用的功能和性能的角度来看,数据仓库的数据逻辑模型也许是整个项目最重要的方面,需要领域专家的参型也许是整个项目最重要的方面,需要领域专家的参与。从内容上看,涉及的方面有确立主题域,粒度层与。从内容上看,涉及的方面有确立主题域,粒度层次的划分,确定数据分割策略,关系模式的确定。次的划分,确定数据分割策略,关系模式的确定。数据仓库的逻辑设计模型有:第三范式,数据仓库的逻辑设计模型有:第三范式,星型模式星型模式,雪花模式雪花模式,混合模式,混
17、合模式五、设计模型的选择五、设计模型的选择大多数人在设计中央数据仓库的逻辑模型时,大多数人在设计中央数据仓库的逻辑模型时,都按照第三范式来设计都按照第三范式来设计;而在进行物理实施时,而在进行物理实施时,则由于数据库引擎的限制,不得不对逻辑模型则由于数据库引擎的限制,不得不对逻辑模型进行不规范处理进行不规范处理(De-Normalize),以提高系以提高系统的响应速度,这当然是以增加系统的复杂度、统的响应速度,这当然是以增加系统的复杂度、维护工作量、磁盘使用比率维护工作量、磁盘使用比率(指原始数据与磁指原始数据与磁盘大小的比率盘大小的比率)并降低系统执行动态查询能力并降低系统执行动态查询能力为
18、代价的。为代价的。在数据仓库的应用环境中在数据仓库的应用环境中,主要有两种负载主要有两种负载:一一种是回答重复性的问题种是回答重复性的问题;另一种是回答交互性另一种是回答交互性的问题。的问题。动态查询具有较明显的交互性特征动态查询具有较明显的交互性特征,即在一个即在一个问题答案的基础上进行进一步的探索问题答案的基础上进行进一步的探索,这种交这种交互过程常称为数据挖掘或者知识探索,对于以互过程常称为数据挖掘或者知识探索,对于以第一种负载为主的部门数据集市第一种负载为主的部门数据集市,当数据量不当数据量不大、报表较固定时可以采用星型模式大、报表较固定时可以采用星型模式;对于中央数据仓库对于中央数据
19、仓库,考虑到系统的可扩展能力、考虑到系统的可扩展能力、投资成本和易于管理等多种因素投资成本和易于管理等多种因素,最好采用第最好采用第三范式。三范式。标准的关系数据表不能满足数据的分析能力,所以对标准的关系数据表不能满足数据的分析能力,所以对表进行非标准化处理以形成数据仓库中特有的星形架表进行非标准化处理以形成数据仓库中特有的星形架构方式,但这样一来,如果所有的分析维度都作为事构方式,但这样一来,如果所有的分析维度都作为事实表的一个直接维度,数据的冗余是相当大的。在星实表的一个直接维度,数据的冗余是相当大的。在星形架构的基础上扩展出雪花形架构,实质上是在分析形架构的基础上扩展出雪花形架构,实质上
20、是在分析查询的性能和数据仓库的存储容量两个方面进行权衡查询的性能和数据仓库的存储容量两个方面进行权衡的结果。的结果。下表比较了两种类型的架构差异。只有明确了这些差下表比较了两种类型的架构差异。只有明确了这些差异,才能在设计数据仓库时选择最合适的架构方式。异,才能在设计数据仓库时选择最合适的架构方式。星星 形形雪雪 花花 形形行数行数多多少少可读性可读性易易难难表格数量表格数量少少多多搜索维的时间搜索维的时间快快慢慢五、设计模型的选择五、设计模型的选择总结:总结:对于部门数据集市,当数据量不大、报表较固对于部门数据集市,当数据量不大、报表较固定时可以采用星型模式定时可以采用星型模式;对于企业级数
21、据仓库,考虑到系统的可扩展能对于企业级数据仓库,考虑到系统的可扩展能力、投资成本和易于管理等多种因素,最好采力、投资成本和易于管理等多种因素,最好采用第三范式。用第三范式。五、设计模型的选择五、设计模型的选择数据仓库系统的建设作为一个渐进、迭代的过数据仓库系统的建设作为一个渐进、迭代的过程,其发展趋势是从现有的初步应用如报表分程,其发展趋势是从现有的初步应用如报表分析、数据集市,向深度和广度复杂分析和数据析、数据集市,向深度和广度复杂分析和数据挖掘技术应用发展,其依赖的数据存储模型,挖掘技术应用发展,其依赖的数据存储模型,包括逻辑模型和物理模型,也是一个不断发展,包括逻辑模型和物理模型,也是一
22、个不断发展,不断丰富完善的过程。不断丰富完善的过程。六、粒度的设计六、粒度的设计 在数据仓库中的数据分为在数据仓库中的数据分为4个级别:早期细节级、当前个级别:早期细节级、当前细节级、轻度综合级和高度综合级。源数据经过综合细节级、轻度综合级和高度综合级。源数据经过综合后,首先进入当前细节级,并根据具体需要进行进一后,首先进入当前细节级,并根据具体需要进行进一步综合,从而进入轻度综合级乃至高度综合级,老化步综合,从而进入轻度综合级乃至高度综合级,老化的数据将进入早期细节级。从中可以看出,数据仓库的数据将进入早期细节级。从中可以看出,数据仓库中存在着不同的综合级别,这就是中存在着不同的综合级别,这
23、就是“粒度粒度”的直观表的直观表现。现。粒度模型是数据仓库设计中需要解决的十分重要的问粒度模型是数据仓库设计中需要解决的十分重要的问题之一。所谓粒度是指数据仓库中数据单元的详细程题之一。所谓粒度是指数据仓库中数据单元的详细程度和级别。数据越详细,粒度就越小,级别也就越低;度和级别。数据越详细,粒度就越小,级别也就越低;数据综合度越高,粒度就越大,级别也就越高。数据综合度越高,粒度就越大,级别也就越高。数据仓库中的数据细节级别数据仓库中的数据细节级别 六、粒度的设计六、粒度的设计设计步骤设计步骤粗略估算,确定合适的粒度级的起点,可以粗粗略估算,确定合适的粒度级的起点,可以粗略估算数据仓库中将来的
24、数据行数和所需的直略估算数据仓库中将来的数据行数和所需的直接存取存储空间。接存取存储空间。确定双重或单一的粒度确定双重或单一的粒度。确定粒度的级别确定粒度的级别 六、粒度的设计六、粒度的设计设计原则设计原则 粒度在数据仓库生命周期中是重要的考虑因素。它由业务问粒度在数据仓库生命周期中是重要的考虑因素。它由业务问题所驱动,受技术的制约。如果粒度太大,就会丢失个别细节,题所驱动,受技术的制约。如果粒度太大,就会丢失个别细节,就要花更多的处理时间来解开聚合;而若粒度太小,就会由于一就要花更多的处理时间来解开聚合;而若粒度太小,就会由于一叶障目而不见森林,许多宝贵的处理时间都浪费在建立聚合上。叶障目而
25、不见森林,许多宝贵的处理时间都浪费在建立聚合上。因此粒度设计主要是权衡粒度级别,对于业务量大,分析要求比因此粒度设计主要是权衡粒度级别,对于业务量大,分析要求比较高的情况下,最佳解决办法则是采用多重粒度的形式。较高的情况下,最佳解决办法则是采用多重粒度的形式。而针对具体的某个事实的粒度而言,应当采用而针对具体的某个事实的粒度而言,应当采用“最小粒度原最小粒度原则则”,即将量度的粒度设置到最小。,即将量度的粒度设置到最小。假设目前的数据最小记录到秒,即数据库中记录了每秒的交假设目前的数据最小记录到秒,即数据库中记录了每秒的交易额。那么,如果可以确认,在将来的分析需求中,时间只需要易额。那么,如果
26、可以确认,在将来的分析需求中,时间只需要精确到天就可以的话,就可以在精确到天就可以的话,就可以在ETLETL处理过程中,按天来汇总数据,处理过程中,按天来汇总数据,此时,数据仓库中量度的粒度就是此时,数据仓库中量度的粒度就是“天天”;反过来,如果不能确;反过来,如果不能确认将来的分析需求在时间上是否需要精确到秒,那么,就需要遵认将来的分析需求在时间上是否需要精确到秒,那么,就需要遵循循“最小粒度原则最小粒度原则”,精确到,精确到“秒秒”以满足查询的可能需求。以满足查询的可能需求。七、七、数据仓库物理模型设计数据仓库物理模型设计数据仓库的物理模型就是数据仓库逻辑模型在物理系数据仓库的物理模型就是
27、数据仓库逻辑模型在物理系统中的实现模式。其中包括了逻辑模型中各种实体表统中的实现模式。其中包括了逻辑模型中各种实体表的具体化,例如表的数据结构类型、索引策略、数据的具体化,例如表的数据结构类型、索引策略、数据存放位置和数据存储分配等。在进行物理模型的设计存放位置和数据存储分配等。在进行物理模型的设计实现时,所考虑的因素有:实现时,所考虑的因素有:I/OI/O存取时间、空间利用率存取时间、空间利用率及维护的代价。及维护的代价。设计存储结构设计存储结构 设计索引策略设计索引策略 设计索引策略设计索引策略 七、七、数据仓库物理模型设计数据仓库物理模型设计DWDW物理模型的优化物理模型的优化在计算机中
28、存储器和计算机间的传输速度比计在计算机中存储器和计算机间的传输速度比计算机的运算速度慢很多,计算机内部的运算速算机的运算速度慢很多,计算机内部的运算速度以毫微秒为计算级,而数据的传输速度是以度以毫微秒为计算级,而数据的传输速度是以毫秒为计算级。因此,物理模型是影响毫秒为计算级。因此,物理模型是影响DWDW性能性能的主要因素。的主要因素。常见的几种常见的几种DWDW物理模型的优化方法物理模型的优化方法 依据依据DWDW数据量大但操作单一的特点,可以通过数据量大但操作单一的特点,可以通过以下几个方面改善物理数据模型的设计:以下几个方面改善物理数据模型的设计:1.1.合并表合并表2.2.引入冗余引入
29、冗余(反范式反范式)3.3.建立数据序列建立数据序列4.4.表的物理分割表的物理分割5.5.生成导出数据生成导出数据6.6.建立广义索引建立广义索引八、建立八、建立DWDW需要考虑的因素需要考虑的因素DW+OLDP+DM DSSDW+OLDP+DM DSS的可行性方案。的可行性方案。DWDW:一种把相关的各种数据转换成有商业价值:一种把相关的各种数据转换成有商业价值的信息的技术的信息的技术数据挖掘和数据挖掘和DWDW作为决策支持新技术,作为决策支持新技术,DWDW作为数作为数据挖掘的对象,要为数据挖掘提供更多更好的据挖掘的对象,要为数据挖掘提供更多更好的数据,其数据的设计、组织、都要考虑到数据
30、数据,其数据的设计、组织、都要考虑到数据挖掘的一些要求。挖掘的一些要求。DW+OLDP+DM DSSDW+OLDP+DM DSS的可行性方案。的可行性方案。扩展性扩展性 灵活性灵活性集成性集成性可靠性可靠性数据仓库专家的建议数据仓库专家的建议需要业务人员的积极参与需要业务人员的积极参与通过原型设计验证需求通过原型设计验证需求确定数据仓库的范围,不要试图确定数据仓库的范围,不要试图WarehouseWarehouse所所有数据有数据为不同需求选择合适工具为不同需求选择合适工具控制风险控制风险利用外部利用外部ConsultantConsultant的经验的经验重点放在不同系统的集成重点放在不同系统的集成未完待续!谢谢!