数据仓库的开发设计过程.docx





《数据仓库的开发设计过程.docx》由会员分享,可在线阅读,更多相关《数据仓库的开发设计过程.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据金库之路FAQFAQ目录与数据仓库有关的几个概念1.1目录3二、数据仓库产生的原因8三、数据仓库体系结构图11!1!4.1 数据仓库的建模124.2 数据仓库建模的十条戒律:13五、数据仓库开发过程145.1 数据模型的内容145.2 数据模型转变到数据仓库14在事务处理系统中积累了大量的细节数据,一般而言,DSS并不对这些细节 数据进行分析。在分析前,往往需要对细节数据进行不同程度的综合。而事务处 理系统不具备这种综合能力,根据规范化理论,这种综合还往往因为是一种数据 冗余而加以限制。要提高分析和决策的效率和有效性,分析型处理及其数据必须与操作型处理及 其数据相别离。必须把分析型数据从事
2、务处理环境中提取出来,按照DSS处理的 需要进行重新组织,建立单独的分析处理环境,数据仓库正是为了构建这种新的 分析处理环境而出现的一种数据存储和组织技术。三、数据仓库体系结构图蹄篝cru蹄篝cruKtt决具敬漕工收据收.幡和修收忤用户 DWEKMttXPOftIK量珍用户DW ER终用户 OWE A*和分析数据仓库结构的元件UsingSuikingData Warehouse Design Data Mart Design5三3一一勺呈OperationalDataTransformationsData MartsdOJOOJIQotEnd-User ToolsDB SchemaTransf
3、ormationSchedulingOLAPMicrosoft RepositoryData Warehouse ManagementData Flow数据仓库设计数据仓库的建模数据模型1)所有的实体都是平等关系。2)仅仅从数据模型的角度来着手设计数据仓库会产生一种“平面”效应。星型连接1)事实表:位于星型连接的中央,它是被大量载入数据的实体。2)维表:周围的其它实体。3)在很多情况下:文本数据与数值数据是别离开的。通过数据预连接和建立有选择的数据冗余,设计者为访问和分析过程大大简化了 数据。星型连接应用于设计数据仓库中很大的实体,而数据模型那么应用于数据仓库中较 小的实体。4.1 数据仓库建
4、模的十条戒律:1)必须回答紧迫的问题;2)必须有正确的事实表;3)将有正确的维表,描述必须按最终用户的业务术语表达;4)必须理解数据仓库所影响的公司过程或影响数据仓库的公司过程;5)对于事实表,应该有正确的“粒度”;6)根据需要存储正确长度的公司历史数据;7)以一种对于公司有意义的方式来集成所有必要的数据;8)创立必要的总结表;9)创立必要的索引;10)能够加载数据仓库数据库并使它以一种适宜的方式可用。五、数据仓库开发过程建立或获得企业的数据模型; 定义记录系统;设计数据仓库并按主题领域进行组织; 设计和建立操作型环境中的记录系统和数据仓库之间的接口,这些接口 能保证数据仓库的载入工作能有序的
5、进行;开始载入第一个主题领域,进入载入和反应过程,数据仓库中的数据在 此过程中也在不断地改变。5.1 数据模型的内容 标识主要主题领域。 各个主要主题之间的各种关系。 清晰地定义模型的边界。 把原始数据和导出数据别离。 每个主题领域需要标识/键码/属性/属性分组之间的关系/多重出现的数据/数据的类型5.2 数据模型转变到数据仓库如果原先没有时间元素的话,时间元素必须加入到键码结构中 必须清除所有的纯操作型数据需要将参照完整性关系转换成“人工关系” 将经常需要用到的到处数据假如到设计中对数据的结构进行调整/增加数据阵列,增加数据冗余/在合适的情况下进一步别离数据/在合适的时候合并数据表 需要做数
6、据的稳定性分析数据仓库开发成功的关键关键:是数据体系结构设计者和DSS分析者之间的反应循环。有几点观 察结果对数据仓库环境的成功建立是至关重要的问题: DSS分析人员一定要严格遵循“给我我所要的东西,然后我能告诉你我 真正需要的东西”的工作模式;反应循环的周期越短,越有可能成功; 需要调整的数据量越大,反应循环所需要的周期就越长六、数据仓库的数据采集许多部件构成了数据仓库系统。这个系统从现有的操作系统开始,一局部为支 持数据仓库而设的后台处理,以访问和运用数据仓库内数据的用户工具而结束。 在中间是个分散过程,它使数据以一种局部而不是集中的方式来支持用户。至于 其他系统,那么是覆盖这些处理过程技
7、术的基础,如平安系统,它不仅控制着在终 端数据仓库的输入过程,还控制着用户在数据仓库的前台访问能力。数据仓库处 理的部件如图:6.1后台处理数据仓库系统的后台处理利用了操作系统的数据存储器,以进入数据仓库内占 有活动区域:这个处理包括以下几个局部:数据处理为数据仓库收集数据的过程是从当前操作系统开始的。该数据 仓库的后台处理需要被分成可管理的几个处理模块。操作系统生成必须处 理和输入到数据仓库的事务。在数据仓库系统的结构内必须有一种方法来 截取和收集那些在操作系统内已改变的数据,主要用于数据仓库的输入处 理。数据采集在收集到操作数据存储器内的变化后,数据仓库的后台处理必 须采集所有同以前提供的
8、事务相关的数据。数据采集过程通常仅仅获取驱 云力物坦桑鱼:寸禾里的辛键伯自数据制备成事务库并用I条%新和供给数据仓库系统。这个过程在整个数 据仓库系统中是最复杂的,因为用户正处理多种遗留数据源。这些数据源中的一 些较为容易使用,而大局部那么不是这样。6.2 中间处理数据仓库系统的中间处理利用了一个登台区域来完成在数据仓库中对用户游 泳的数据。登台区域有时被叫正式地指定为操作数据存储器。 数据清理 在收集到所有从操作系统存储器得来的相关信息后,数据必须 在放入数据仓库之前进行清理,以获得一个适当的统一的格式和定义。 数据的放置和分发 当完成数据清理后,数据就必须放置到数据仓库中。 标准报表的编译
9、和索引在数据已放入数据仓库数据存储器之后,对包含于 数据仓库系统内的标准报表必须进行编译和索引。在这个过程结束后,报 表很像数据仓库内的原始数据,将让用户在线有用,不必用纸张的形式发 送。中间处理更新了数据仓库中登台区域的数据,并使之成为可供最终客户,也就 是数据仓库系统的用户使用的信息库。6.3 前台处理前台处理过程涉及到允许用户对数据仓库所包含的信息进行正确的访问,及提 供用户工具集所需的目录和中间数据信息。大多数数据仓库工程的目标应当是驱 使这一过程进入强大的用户领域,并脱离信息系统空间。然而,需要构造几个关 键的应用程序以用于经验缺乏的数据仓库用户。该过程的任务包括用新的信息内 容来更
10、新访问数据仓库的应用程序,通过适当的用户工具组内的视图或分类定义 来提高访问能力。6.4 数据仓库的技术体系结构虽然普遍认为数据仓库系统能够改善最终用户查询、报表生成和DSS能力, 而且能帮助组织投入公司数据以获取市场竞争优势,但在数据仓库系统构成方面 看法却不尽相同。数据仓库的技术体系结构如下列图:夕同数据徵蝌设计模块:用于设计数据仓库数据库数据获取模块:用于从源文件和源数据库中获取数据,并进行清洁、传输, 将它加到数据仓库数据库中5.3 数据仓库开发成功的关键15六、数据仓库的数据采集16后台处理176.1 中间处理17前台处理186.2 数据仓库的技术体系结构18数据的有效性检查206.
11、3 清除和转换数据20简单变换226.4 清洁和刷洗24集成256.5 聚集和概括27移动数据27七、如何建立数据仓库30数据仓库设计317.1 数据抽取模块32数据维护模块33 管理模块:用于管理数据仓库的运行信息目录模块:用于为管理者和企业用户提供有关存储在数据仓库数据库 中的数据的内容和含义信息 数据访问模块:用于为企业的最终用户提供访问和分析数据仓库数据的工 具 中间件模块:用于最终用户工具提供访问数据仓库数据库的方法 数据传递模块:用于向其他仓库和外部系统中分配数据仓库数据数据仓库的三个重要组成局部,专家们一般把整个数据仓库的建设按照其不 同性质,把它分为三个截然不同的局部,分别是:
12、源数据、数据准备、以及数据 呈现。现在讲的最多的OLAP分析和决策支持等,都是属于数据呈现的局部,下 面我们来讲一讲数据准备阶段的问题。6.5 数据的有效性检查为防止数据冗余,要认识到数据装入数据仓库之前,应该对数据进行有效性检 查,这是很重要的。如果没有进行刃具的有效性检查,就有可能破坏依赖于数据 仓库的商务分析的完整性,帮助检查数据的有效性的最好方法是源系统专家。源 系统专家包括具有技术专业知识和非技术知识的人士。检查数据仓库中数据的有效性是一个非常耗时但必不可少的过程。建议该过程 应高度自动化。SQL Serve,中有许多内置功能,可自动进行数据有效性检查。6.6 清除和转换数据有效性检
13、查是决定是否符合给定标准的过程。标准是依赖于安装的,为某个站 点开发和执行的标准可能在其他地方毫无意义。如果数据不在给定的界限之内, 它就成为我们称作scrubbing (清除)过程的对象。清除数据包括对那些在给定范 围之外的数据采取纠正措施。数据仓库中的数据来自于多种业务数据源,这些数据源可能是在不同的硬件平 台上,使用不同的操作系统,因而数据以不同的格式存在不同的数据库中。如何 向数据仓库中加载这些数量大、种类多的数据,已成为建立数据仓库所面临的一 个关键问题。在数据迁移的过程中,通常需要将操作数据转换成另一种格式以更加适用于数 据仓库设计。在太多数情况下,转换是将数据汇总,以使它更有意义
14、。在转换结构中,确保能找出一种最好的方法保证数据从传统的数据存储器到 数据仓库的同步。同步结构应当把重点放在转换语言的标准化、数据移动平台、 通信策略和支持策略方面。数据仓库与操作数据存储器之间的同步过程能够采取 不同的结构。除寻找自动化转换操作的工具之外,还应估计数据转换的复杂性。大多数传 统的数据存储方法缺乏标准,常常有些不规那么的东西让开发员摸不着头脑。工具 正在不断改进以有助于转换过程的自动化,包括复杂问题,如掩匿的数据、传统 标准的缺乏及不统一的关键数据。提取处理是数据仓库成功的关键。在提取过程中,数据会被格式化,并分发给 需要从操作环境中共享数据的资源。元数据存储的工作是定义和解释
15、数据资源和 数据标准。因此,在操作数据上执行的转换过程应该用元数据存储中定义的标准 数据格式放置数据。我们可以定义数据变换的几个基本类型,每一类都有自己的特点和表现形式: 简单变换单变换是所有数据变换的基本构成单元。这一类中包括的数据处理一次只 针对一个字段,而不是考虑相关字段的值。 清洁和刷洗目的是为了保证前后一致地格式化和使用某一字段或相关的字段群。 集成集成是将业务数据从一个或几个来源中取出,并逐字段地将数据影射到数据 仓库的新数据结构上。 聚集和概括聚集和概括是把业务环境中找到的零星数据压缩成数据仓库环境中的较少数 据块,有时进行聚集中的细节数据是为了防止仓库存入业务环境中的那样具体的
16、 数据,有时那么是为了建立包括仓库的聚集副本或概括副本的数据商场。6.7 简单变换顾名思义,它是数据变换中最简单的形式,这些变换一次改变一个数据属性而 不考虑该属性的背景或与它相关的其他信息。 数据类型转换最常见的简单变换是转换一个数据元的类型。当现有应用程序存储某个类型的 数据只在该应用程序的背景下有意义,在企业水平上却没有意义时,就常常要求 进行这类变换。这类转换可以通过编码程序中的简单程序逻辑完成,或者运用数据仓库数据变 换工具完成。 日期/时间格式的转换因为大多数业务环境都有许多不同的日期和时间类型,所以几乎每个数据 仓库的实现都必须将日期和时间变换成标准的仓库格式。这可以通过手工 程
17、序编码来完成。它能把一个日期或时间字段拆成几个子局部,然后再将 它们拼成想要的字段。然而市场上的大多数数据变换工具只提供了日期和 时间格式之间迅速进行简单转换的设施,而手工编码上下的功夫要少得多。 字段解码简单地说,数据一般不应该以编码的格式放在数据仓库中。我们在业务数据库 中建立代码是为了节省数据库存储空间。虽然人不理解这些代码,但这并不是大 问题,因为我们与那些代码的交互作用是由应用程序管理的。这些程序在必要的 时候会成为我们破解那些值的代码。在数据仓库环境中,情况就大不一样了。因为拥护可能来自公司的任何部门, 所以仓库的所有用户不可能都有足够的背景知识和培训,使他们能够理解在业务 数据库
18、中使用的编码值。因此,业务系统和外部数据中的编码值在存入数据仓库之前,应该转换为经过 解码的、易于理解的相应值。一方面,我们想把编码值充分扩展,使它们为最大 多数的用户理解;另一方面,把一个值扩展得太多要占用额外的存储空间,而且 把该值当作查询中的检索标准也很困难。由于顾客情况代码不被普遍理解,所以 应该扩展为一个有意义的、易于理解的值,以便仓库用户能够认出它。用到的准 那么是:必须长到足以被大多数仓库用户理解。从技术角度看,字段解码是个非常易于实现的过程,它可以很容易地结合到变 换程序中去,也可以在数据转换工具中轻松地完成,然而,确定应该进行多少解 码工作是很难的。但一个好的解决方法往往提供
19、了足够的解码,这样即使普遍用 户也可以理解字段值的含义,并且可以用全面理解数据元值及其用法的元数据加深他的理解。6.8 清洁和刷洗清洁和刷洗是两个可互换的术语,指的是比简单变换更复杂的一种数据变换。 在这种变换中,要检查的是字段或字段组的实际内容而不仅是存储格式。一种清 洁是检查数据字段中的有效值。这可以通过范围检验、枚举清单和相关检验来完O有效值范围检验是数据刷洗的最简单形式,它是指检验一个字段中的数据以保证它落 在预期范围之内,通常是数字范围或日期范围。枚举清单也相对容易实现。这种方法是对照数据字段可接受值的清单检验该字 段的值。相关检验稍微复杂一些,因为它要求将一个字段中的值与另一个字段
20、中的值进 行比照。当然,数据清洁规那么往往是这些不同方法的结合。复杂的重新格式化数据刷洗的另一主要类型是重新格式化某些类型的数据,这种方法适用于可以 用许多不同方式存储在不同数据来源中的信息,必须在数据仓库中把这类信息转 换成一种统一的表示方式。最需要格式化的信息之一是地址信息,由于没有一种 获取地址的标准方式,所以同一个地址可以用许多不同方式表达出来。这就要求 将地址解析成几个组成局部,然后将这些组成局部进行转换并重新排列成一个同 意的格式。6.9 集成要把从全然不同的数据源中得到的业务数据结合在一起,真正的困难在于将它 们集成为一个紧密结合的数据模型。这是因为数据必须从多个数据源中提取出
21、来,并结合成为一个新的实体。这些数据来源往往遵守的不是同一套业务规那么, 在生成新数据时,必须考虑到这一差异。 字段水平的简单影射字段水平的简单映射在必须执行的数据变换总量中站去了大局部。这种映射的 定义是指数据中的一个字段被转移到目标数据字段中的过程。在这过程中,这个 字段可以利用前面讨论过的任何一种简单变换进行变换,它可以被刷洗或重新格 式化。 复杂集成在一般的数据仓库中,数据转移和集成中的10%20%要比从源字段到目标字 段的简单移动复杂一些。为了将源数据变换为目标数据,这些复杂集成必须做更 多的分析。 通用标识符问题通用标识符问题是许多公司在建立数据仓库时所遇到的最困难的集成问题之 一
22、。当同一业务实体存在于多个系统源,并且没有明确的方法确认这些实体其实 是同一实体的时候,往往会发生这个问题。这个问题往往很难用自动化方法解决,通常要求复杂的算法配对可能的匹配。 有时在仓库中存入可能的匹配是可以接受的,但有时这些匹配在存入数据仓库之 前必须先由人来检验。很多公司实行一种两阶段战略来处理该问题。第一阶段是 隔离,在这一阶段中,我们试图保证实体的每次出现都指派一个唯一标识符;第二阶段是调和,我们开始确认哪些实体其实是相同的,并且将该实体的各次出现 合并在一起。 目标元素的多个来源当同一个目标数据元有多个来源时,会出现另一个复杂的数据集成问题,即很 难保证该元素的各个来源总能保持一致
23、。实际上,这样的数据元存在矛盾值比不 同来源中的值相同更为普遍。解决冲突的简单方法是指定某一系统在冲突中占据 主导地位。 数据丧失问题数值没有值的问题与一个数据元有多个冲突值的问题一样困难。有时为一个丢 失的元素把空白或空值赋进仓库中也是可以接受的,而有时数据元必须有值,对 该表格所做的查询才会有效。必须为该数据赋一些估计值。如果是业务系统,数 据库中有这种明知不准确的值是没有意义的,但对数据仓库来说,有估计值比根 本没有值可能要好得多。因此,对于仓库中的每种数据类型,设计人员必须在存 入估计数据的内在风险和数据丧失所造成的误解的风险之间进行权衡。用于这一目的最普遍技术是生成使曲线平滑的数据。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 开发 设计 过程

限制150内