




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据仓库之路 FAQ FAQ 目录目录 一、一、 与数据仓库有关的几个概念与数据仓库有关的几个概念.2 1.1 目录.2 二、二、 数据仓库产生的原因数据仓库产生的原因.6 三、三、 数据仓库体系结构图数据仓库体系结构图.7 四、四、 数据仓库设计数据仓库设计.8 4.1 数据仓库的建模.8 4.2 数据仓库建模的十条戒律:.9 五、五、 数据仓库开发过程数据仓库开发过程.9 5.1 数据模型的内容.9 5.2 数据模型转变到数据仓库.10 5.3 数据仓库开发成功的关键.11 六、六、 数据仓库的数据采集数据仓库的数据采集.11 6.1 后台处理.12 6.2 中间处理.12 6.3 前台处理.13 6.4 数据仓库的技术体系结构.13 6.5 数据的有效性检查.15 6.6 清除和转换数据.15 6.7 简单变换.16 6.8 清洁和刷洗.17 6.9 集成.18 6.10聚集和概括20 6.11 移动数据.20 七、七、 如何建立数据仓库如何建立数据仓库.22 7.1 数据仓库设计.22 7.2 数据抽取模块.23 7.3 数据维护模块.24 一、一、 与数据仓库有关的几个概念与数据仓库有关的几个概念 1.1 目录目录 Datawarehouse Datamart OLAP ROLAP MOLAP ClientOLAP DSS ETL Adhocquery EIS BPR BI Datamining CRM MetaData Data warehouse 本世纪 80 年代中期,“数据仓库之父”William H.Inmon 先生在其建立数 据仓库一书中定义了数据仓库的概念,随后又给出了更为精确的定义:数 据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修 改的数据集合。与其他数据库应用不同的是,数据仓库更像一种过程,对分 布在企业内部各处的业务数据的整合、加工和分析的过程。而不是一种可以 购买的产品。 Data mart 即数据集市,或者叫做“小数据仓库”。如果说数据仓库是建立在企业级的 数据模型之上的话。那么数据集市就是企业级数据仓库的一个子集,他主要 面向部门级业务,并且只面向某个特定的主题。数据集市可以在一定程度上 缓解访问数据仓库的瓶颈。 OLAP 联机分析处理(OLAP)的概念最早是由关系数据库之父 E.F.Codd 于 1993 年提 出的。当时,Codd 认为联机事务处理(OLTP)已不能满足终端用户对数据库查 询分析的需要,SQL 对大数据库进行的简单查询也不能满足用户分析的需求。 用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果 并不能满足决策者提出的需求。因此 Codd 提出了多维数据库和多维分析的概 念,即 OLAP。Codd 提出 OLAP 的 12 条准则来描述 OLAP 系统: 准则 1 OLAP 模型必须提供多维概念视图 准则 2 透明性准则 准则 3 存取能力推测 准则 4 稳定的报表能力 准则 5 客户/服务器体系结构 准则 6 维的等同性准则 准则 7 动态的稀疏矩阵处理准则 准则 8 多用户支持能力准则 准则 9 非受限的跨维操作 准则 10 直观的数据操纵 准则 11 灵活的报表生成 准则 12 不受限的维与聚集层次 ROLAP 基于 Codd 的 12 条准则,各个软件开发厂家见仁见智,其中一个流派,认为 可以沿用关系型数据库来存储多维数据,于是,基于稀疏矩阵表示方法的星 型结构(starschema)就出现了。后来又演化出雪花结构。为了与多维数据库 相区别,则把基于关系型数据库的 OLAP 称为 Relational OLAP,简称 ROLAP。代表产品有 Informix Metacube、Microsoft SQL Server OLAP Services. MOLAP 严格遵照 Codd 的定义,自行建立了多维数据库,来存放联机分析系统数据的 Arbor Software,开创了多维数据存储的先河,后来的很多家公司纷纷采用多维 数据存储。被人们称为 MuiltDimension OLAP,简称 MOLAP,代表产品有 Hyperion(原 Arbor software) Essbase、Showcase STRATEGY 等。 Client OLAP 相对于 Server OLAP 而言。部分分析工具厂家建议把部分数据下载到本地, 为用户提供本地的多维分析。代表产品有 Brio Designer, Business Object. DSS 决策支持系统(Decision Support system),相当于基于数据仓库的应用。决 策支持就是在收集所有有关数据和信息,经过加工整理,来为企业决策管理 层提供信息,为决策者的决策提供依据。 ETL 数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载 (Load)的过程。构建数据仓库的重要一环,用户从数据源抽取出所需的数 据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据 仓库中去。 Ad hoc query 即席查询,数据库应用最普遍的一种查询,利用数据仓库技术,可以让用户 随时可以面对数据库,获取所希望的数据。 EIS 领导信息系统(Executive Information System),指为了满足无法专注于计算机 技术的领导人员的信息查询需求,而特意制定的以简单的图形界面访问数据 仓库的一种应用。 BPR 业务流程重整(Business Process Reengineering),指利用数据仓库技术,发现 并纠正企业业务流程中的弊端的一项工作。数据仓库的重要作用之一。 BI 商业智能(Business Intelligence),指数据仓库相关技术与应用的通称。指利用 各种智能技术,来提升企业的商业竞争力。 Data mining 数据挖掘,Data Mining 是一种决策支持过程,它主要基于 AI、机器学习、统 计学等技术,高度自动化地分析企业原有的数据,作出归纳性的推理,从中 挖掘出潜在的模式,预测客户的行为,帮助企业的决策者调整市场策略,减 少风险,作出正确的决策 CRM 客户关系管理(Customer Relationship management),数据仓库是以数据库技术 为基础但又与传统的数据库应用有着本质区别的新技术,CRM 就是基于数据 仓库技术的一种新应用。但是,从商业运作的角度来讲,CRM 其实应该算是 一个古老的“应用“了。比如,酒店对客人信息的管理,如果某个客人是某酒店 的老主顾,那么该酒店很自然地会知道这位客人的某些习惯和喜好,如是否 喜欢靠路边,是否吸烟,是否喜欢大床,喜欢什么样的早餐,等等。当客人 再次光临时,不用客人自己提出来,酒店就会提供客人所喜欢的房间和服务。 这就是一种 CRM. Meta Data 元数据,关于数据仓库的数据,指在数据仓库建设过程中所产生的有关 数据源定义,目标定义,转换规则等相关的关键数据。同时元数据还包含关 于数据含义的商业信息,所有这些信息都应当妥善保存,并很好地管理。为 数据仓库的发展和使用提供方便。 二、二、 数据仓库产生的原因数据仓库产生的原因 事务处理环境不适宜 DSS 应用的原因主要有以下五条: (1)事务处理和分析处理的性能特性不同。 在事务处理环境中,用户的行为特点是数据的存取操作频率高而每次操作 处理的时间短;在分析处理环境中,用户的行为模式与此完全不同,某个 DSS 应用程序可能需要连续几个小时,从而消耗大量的系统资源。将具有如此不同 处理性能的两种应用放在同一个环境中运行显然是不适当的。 (2)数据集成问题。 DSS 需要集成的数据。全面而正确的数据是有效的分析和决策的首要前提, 相关数据收集得越完整,得到的结果就越可靠。当前绝大多数企业内数据的真 正状况是分散而非集成的。造成这种分散的原因有多种,主要有事务处理应用 分散、“蜘蛛网”问题、数据不一致问题、外部数据和非结构化数据。 (3)数据动态集成问题。 静态集成的最大缺点在于,如果在数据集成后数据源中数据发生了变化, 这些 变化将不能反映给决策者,导致决策者使用的是过时的数据。集成数据必 须以一定的周期(例如 24 小时)进行刷新,我们称其为动态集成。显然,事务 处理系统不具备动态集成的能力。 (4)历史数据问题。 事务处理一般只需要当前数据,在数据库中一般也是存储短期数据,切不 同数据的保存期限也不一样,即使有一些历史数据保存下来了,也被束之高阁, 未得到充分利用。但对于决策分析而言,历史数据是相当重要的,许多分析方 法必须一大量的历史数据为依托。没有历史数据的详细分析,是难以把握企业 的发展趋势的。DSS 对数据在空间和时间的广度上都有了更高的要求,而事务 处理环境难以满足这些要求。 (5)数据的综合问题。 在事务处理系统中积累了大量的细节数据,一般而言,DSS 并不对这些细 节数据进行分析。在分析前,往往需要对细节数据进行不同程度的综合。而事 务处理系统不具备这种综合能力,根据规范化理论,这种综合还往往因为是一 种数据冗余而加以限制。 要提高分析和决策的效率和有效性,分析型处理及其数据必须与操作型处理 及其数据相分离。必须把分析型数据从事务处理环境中提取出来,按照 DSS 处 理的需要进行重新组织,建立单独的分析处理环境,数据仓库正是为了构建这 种新的分析处理环境而出现的一种数据存储和组织技术。 三、三、 数据仓库体系结构图数据仓库体系结构图 四、四、 数据仓库设计数据仓库设计 4.1 数据仓库的建模数据仓库的建模 数据模型 1) 所有的实体都是平等关系。 2) 仅仅从数据模型的角度来着手设计数据仓库会产生一种“平面”效应。 星型连接 1) 事实表:位于星型连接的中央,它是被大量载入数据的实体。 2) 维表:周围的其它实体。 3) 在很多情况下:文本数据与数值数据是分离开的。 通过数据预连接和建立有选择的数据冗余,设计者为访问和分析过程大大简化 了数据。 星型连接应用于设计数据仓库中很大的实体,而数据模型则应用于数据仓库中 较小的实体。 4.24.2 数据仓库建模的十条数据仓库建模的十条戒律:戒律: 1) 必须回答紧迫的问题; 2) 必须有正确的事实表; 3) 将有正确的维表,描述必须按最终用户的业务术语表达; 4) 必须理解数据仓库所影响的公司过程或影响数据仓库的公司过程; 5) 对于事实表,应该有正确的“粒度”; 6) 根据需要存储正确长度的公司历史数据; 7) 以一种对于公司有意义的方式来集成所有必要的数据; 8) 创建必要的总结表; 9) 创建必要的索引; 10)能够加载数据仓库数据库并使它以一种适宜的方式可用。 五、五、 数据仓库开发过程数据仓库开发过程 建立或获得企业的数据模型; 定义记录系统; 设计数据仓库并按主题领域进行组织; 设计和建立操作型环境中的记录系统和数据仓库之间的接口,这些接口 能保证数据仓库的载入工作能有序的进行; 开始载入第一个主题领域,进入载入和反馈过程,数据仓库中的数据在 此过程中也在不断地改变。 5.1 数据模型的内容数据模型的内容 标识主要主题领域。 各个主要主题之间的各种关系。 清晰地定义模型的边界。 把原始数据和导出数据分离。 每个主题领域需要标识 键码 属性 属性分组之间的关系 多重出现的数据 数据的类型 5.2 数据模型转变到数据仓库数据模型转变到数据仓库 如果原先没有时间元素的话,时间元素必须加入到键码结构中 必须清除所有的纯操作型数据 需要将参照完整性关系转换成“人工关系” 将经常需要用到的到处数据假如到设计中 对数据的结构进行调整 增加数据阵列 增加数据冗余 在合适的情况下进一步分离数据 在合适的时候合并数据表 需要做数据的稳定性分析 5.3 数据仓库开发成功的关键数据仓库开发成功的关键 关键:是数据体系结构设计者和 DSS 分析者之间的反馈循环。有几点 观察结果对数据仓库环境的成功建立是至关重要的问题: DSS 分析人员一定要严格遵循“给我我所要的东西,然后我能告诉你 我真正需要的东西”的工作模式; 反馈循环的周期越短,越有可能成功; 需要调整的数据量越大,反馈循环所需要的周期就越长 六、六、 数据仓库的数据采集数据仓库的数据采集 许多部件构成了数据仓库系统。这个系统从现有的操作系统开始,一部分为 支持数据仓库而设的后台处理,以访问和运用数据仓库内数据的用户工具而结 束。在中间是个分散过程,它使数据以一种局部而不是集中的方式来支持用户。 至于其他系统,则是覆盖这些处理过程技术的基础,如安全系统,它不仅控制 着在终端数据仓库的输入过程,还控制着用户在数据仓库的前台访问能力。数 据仓库处理的部件如图: 后置处理后置处理中间处理中间处理前置处理前置处理 安安全全处处理理 用户查询 操作系统数 据存储器 数据的转 换和清理 数据仓库 部门数据中心 多维数据中心 6.1 后台处理后台处理 数据仓库系统的后台处理利用了操作系统的数据存储器,以进入数据仓库内 占有活动区域:这个处理包括以下几个部分: 数据处理数据处理为数据仓库收集数据的过程是从当前操作系统开始的。该数据 仓库的后台处理需要被分成可管理的几个处理模块。操作系统生成必须处 理和输入到数据仓库的事务。在数据仓库系统的结构内必须有一种方法来 截取和收集那些在操作系统内已改变的数据,主要用于数据仓库的输入处 理。 数据采集数据采集在收集到操作数据存储器内的变化后,数据仓库的后台处理必 须采集所有同以前收集的事务相关的数据。数据采集过程通常仅仅获取驱 动数据采集过程的关键信息。 数据制备成事务库并用它来更新和供给数据仓库系统。这个过程在整个数 据仓库系统中是最复杂的,因为用户正处理多种遗留数据源。这些数据源中的 一些较为容易使用,而大部分则不是这样。 6.2 中间处理中间处理 数据仓库系统的中间处理利用了一个登台区域来完成在数据仓库中对用户游 泳的数据。登台区域有时被叫正式地指定为操作数据存储器。 数据清理数据清理在收集到所有从操作系统存储器得来的相关信息后,数据必须 在放入数据仓库之前进行清理,以获得一个适当的统一的格式和定义。 数据的放置和分发数据的放置和分发当完成数据清理后,数据就必须放置到数据仓库中。 标准报表的编译和索引标准报表的编译和索引 在数据已放入数据仓库数据存储器之后,对包含 于数据仓库系统内的标准报表必须进行编译和索引。在这个过程结束后, 报表很像数据仓库内的原始数据,将让用户在线有用,不必用纸张的形式 发送。 中间处理更新了数据仓库中登台区域的数据,并使之成为可供最终客户,也 就是数据仓库系统的用户使用的信息库。 6.3 前台处理前台处理 前台处理过程涉及到允许用户对数据仓库所包含的信息进行正确的访问,及 提供用户工具集所需的目录和中间数据信息。大多数数据仓库项目的目标应当 是驱使这一过程进入强大的用户领域,并脱离信息系统空间。然而,需要构造 几个关键的应用程序以用于经验不足的数据仓库用户。该过程的任务包括用新 的信息内容来更新访问数据仓库的应用程序,通过适当的用户工具组内的视图 或分类定义来提高访问能力。 6.4 数据仓库的技术体系结构数据仓库的技术体系结构 虽然普遍认为数据仓库系统能够改善最终用户查询、报表生成和 DSS 能力, 而且能帮助组织投入公司数据以获取市场竞争优势,但在数据仓库系统构成方 面看法却不尽相同。数据仓库的技术体系结构如下图: 源数据外部数据 设计模块:用于设计数据仓库数据库 数据获取模块:用于从源文件和源数据库中获取数据,并进行清洁、传输, 将它加到数据仓库数据库中 信息目录模块 数据仓库之元 数据 数据管理员模 块 数据仓库之数 据 数据获取 模块 数据传递 模块 中间件 模块 数据访 问模块 设计模块 管理模块 外部元数据 管理模块:用于管理数据仓库的运行 信息目录模块:用于为管理者和企业用户提供有关存储在数据仓库数据库 中的数据的内容和含义信息 数据访问模块:用于为企业的最终用户提供访问和分析数据仓库数据的工 具 中间件模块:用于最终用户工具提供访问数据仓库数据库的方法 数据传递模块:用于向其他仓库和外部系统中分配数据仓库数据 数据仓库的三个重要组成部分,专家们一般把整个数据仓库的建设按照其 不同性质,把它分为三个截然不同的部分,分别是:源数据、数据准备、以及 数据呈现。现在讲的最多的 OLAP 分析和决策支持等,都是属于数据呈现的部分, 下面我们来讲一讲数据准备阶段的问题。 6.5 数据的有效性检查数据的有效性检查 为避免数据冗余,要认识到数据装入数据仓库之前,应该对数据进行有效性 检查,这是很重要的。如果没有进行刃具的有效性检查,就有可能破坏依赖于 数据仓库的商务分析的完整性,帮助检查数据的有效性的最好方法是源系统专 家。源系统专家包括具有技术专业知识和非技术知识的人士。 检查数据仓库中数据的有效性是一个非常耗时但必不可少的过程。建议该过 程应高度自动化。SQL Server7 中有许多内置功能,可自动进行数据有效性检查。 6.6 清除和转换数据清除和转换数据 有效性检查是决定是否符合给定标准的过程。标准是依赖于安装的,为某个 站点开发和执行的标准可能在其他地方毫无意义。如果数据不在给定的界限之 内,它就成为我们称作 scrubbing(清除)过程的对象。清除数据包括对那些在 给定范围之外的数据采取纠正措施。 数据仓库中的数据来自于多种业务数据源,这些数据源可能是在不同的硬件 平台上,使用不同的操作系统,因而数据以不同的格式存在不同的数据库中。 如何向数据仓库中加载这些数量大、种类多的数据,已成为建立数据仓库所面 临的一个关键问题。 在数据迁移的过程中,通常需要将操作数据转换成另一种格式以更加适用于 数据仓库设计。在太多数情况下,转换是将数据汇总,以使它更有意义。 在转换结构中,确保能找出一种最好的方法保证数据从传统的数据存储器 到数据仓库的同步。同步结构应当把重点放在转换语言的标准化、数据移动平 台、通信策略和支持策略方面。数据仓库与操作数据存储器之间的同步过程能 够采取不同的结构。 除寻找自动化转换操作的工具之外,还应估计数据转换的复杂性。大多数 传统的数据存储方法缺乏标准,常常有些不规则的东西让开发员摸不着头脑。 工具正在不断改进以有助于转换过程的自动化,包括复杂问题,如掩匿的数据、 传统标准的缺乏及不统一的关键数据。 提取处理是数据仓库成功的关键。在提取过程中,数据会被格式化,并分发 给需要从操作环境中共享数据的资源。元数据存储的工作是定义和解释数据资 源和数据标准。因此,在操作数据上执行的转换过程应该用元数据存储中定义 的标准数据格式放置数据。 我们可以定义数据变换的几个基本类型,每一类都有自己的特点和表现形式: 简单变换 单变换是所有数据变换的基本构成单元。这一类中包括的数据处理一次只 针对一个字段,而不是考虑相关字段的值。 清洁和刷洗 目的是为了保证前后一致地格式化和使用某一字段或相关的字段群。 集成 集成是将业务数据从一个或几个来源中取出,并逐字段地将数据影射到数 据仓库的新数据结构上。 聚集和概括 聚集和概括是把业务环境中找到的零星数据压缩成数据仓库环境中的较少数 据块,有时进行聚集中的细节数据是为了避免仓库存入业务环境中的那样具体 的数据,有时则是为了建立包括仓库的聚集副本或概括副本的数据商场。 6.7 简单变换简单变换 顾名思义,它是数据变换中最简单的形式,这些变换一次改变一个数据属性 而不考虑该属性的背景或与它相关的其他信息。 数据类型转换 最常见的简单变换是转换一个数据元的类型。当现有应用程序存储某个类型 的数据只在该应用程序的背景下有意义,在企业水平上却没有意义时,就常常 要求进行这类变换。 这类转换可以通过编码程序中的简单程序逻辑完成,或者运用数据仓库数据 变换工具完成。 日期/时间格式的转换 因为大多数业务环境都有许多不同的日期和时间类型,所以几乎每个数据 仓库的实现都必须将日期和时间变换成标准的仓库格式。这可以通过手工 程序编码来完成。它能把一个日期或时间字段拆成几个子部分,然后再将 它们拼成想要的字段。然而市场上的大多数数据变换工具只提供了日期和 时间格式之间迅速进行简单转换的设施,而手工编码上下的功夫要少得多。 字段解码 简单地说,数据一般不应该以编码的格式放在数据仓库中。我们在业务数据 库中建立代码是为了节省数据库存储空间。虽然人不理解这些代码,但这并不 是大问题,因为我们与那些代码的交互作用是由应用程序管理的。这些程序在 必要的时候会成为我们破解那些值的代码。 在数据仓库环境中,情况就大不一样了。因为拥护可能来自公司的任何部门, 所以仓库的所有用户不可能都有足够的背景知识和培训,使他们能够理解在业 务数据库中使用的编码值。 因此,业务系统和外部数据中的编码值在存入数据仓库之前,应该转换为经 过解码的、易于理解的相应值。一方面,我们想把编码值充分扩展,使它们为 最大多数的用户理解;另一方面,把一个值扩展得太多要占用额外的存储空间, 而且把该值当作查询中的检索标准也很困难。由于顾客情况代码不被普遍理解, 所以应该扩展为一个有意义的、易于理解的值,以便仓库用户能够认出它。用 到的准则是:必须长到足以被大多数仓库用户理解。 从技术角度看,字段解码是个非常易于实现的过程,它可以很容易地结合到 变换程序中去,也可以在数据转换工具中轻松地完成,然而,确定应该进行多 少解码工作是很难的。但一个好的解决方法往往提供了足够的解码,这样即使 普遍用户也可以理解字段值的含义,并且可以用全面理解数据元值及其用法的 元数据加深他的理解。 6.8 清洁和刷洗清洁和刷洗 清洁和刷洗是两个可互换的术语,指的是比简单变换更复杂的一种数据变换。 在这种变换中,要检查的是字段或字段组的实际内容而不仅是存储格式。一种 清洁是检查数据字段中的有效值。这可以通过范围检验、枚举清单和相关检验 来完成。 有效值 范围检验是数据刷洗的最简单形式,它是指检验一个字段中的数据以保证它 落在预期范围之内,通常是数字范围或日期范围。 枚举清单也相对容易实现。这种方法是对照数据字段可接受值的清单检验该 字段的值。 相关检验稍微复杂一些,因为它要求将一个字段中的值与另一个字段中的值 进行对比。 当然,数据清洁规则往往是这些不同方法的结合。 复杂的重新格式化 数据刷洗的另一主要类型是重新格式化某些类型的数据,这种方法适用于可 以用许多不同方式存储在不同数据来源中的信息,必须在数据仓库中把这类信 息转换成一种统一的表示方式。最需要格式化的信息之一是地址信息,由于没 有一种获取地址的标准方式,所以同一个地址可以用许多不同方式表达出来。 这就要求将地址解析成几个组成部分,然后将这些组成部分进行转换并重新排 列成一个同意的格式。 6.9 集成集成 要把从全然不同的数据源中得到的业务数据结合在一起,真正的困难在于将 它们集成为一个紧密结合的数据模型。这是因为数据必须从多个数据源中提取 出来,并结合成为一个新的实体。这些数据来源往往遵守的不是同一套业务规 则,在生成新数据时,必须考虑到这一差异。 字段水平的简单影射 字段水平的简单映射在必须执行的数据变换总量中站去了大部分。这种映射 的定义是指数据中的一个字段被转移到目标数据字段中的过程。在这过程中, 这个字段可以利用前面讨论过的任何一种简单变换进行变换,它可以被刷洗或 重新格式化。 复杂集成 在一般的数据仓库中,数据转移和集成中的 10%20%要比从源字段到目标字 段的简单移动复杂一些。为了将源数据变换为目标数据,这些复杂集成必须做 更多的分析。 通用标识符问题 通用标识符问题是许多公司在建立数据仓库时所遇到的最困难的集成问题之 一。当同一业务实体存在于多个系统源,并且没有明确的办法确认这些实体其 实是同一实体的时候,往往会发生这个问题。 这个问题往往很难用自动化方法解决,通常要求复杂的算法配对可能的匹配。 有时在仓库中存入可能的匹配是可以接受的,但有时这些匹配在存入数据仓库 之前必须先由人来检验。很多公司实行一种两阶段战略来处理该问题。第一阶 段是隔离,在这一阶段中,我们试图保证实体的每次出现都指派一个唯一标识 符;第二阶段是调和,我们开始确认哪些实体其实是相同的,并且将该实体的 各次出现合并在一起。 目标元素的多个来源 当同一个目标数据元有多个来源时,会出现另一个复杂的数据集成问题,即 很难保证该元素的各个来源总能保持一致。实际上,这样的数据元存在矛盾值 比不同来源中的值相同更为普遍。解决冲突的简单办法是指定某一系统在冲突 中占据主导地位。 数据丢失问题 数值没有值的问题与一个数据元有多个冲突值的问题一样困难。有时为一个 丢失的元素把空白或空值赋进仓库中也是可以接受的,而有时数据元必须有值, 对该表格所做的查询才会有效。必须为该数据赋一些估计值。如果是业务系统, 数据库中有这种明知不准确的值是没有意义的,但对数据仓库来说,有估计值 比根本没有值可能要好得多。因此,对于仓库中的每种数据类型,设计人员必 须在存入估计数据的内在风险和数据丢失所造成的误解的风险之间进行权衡。 用于这一目的最普遍技术是生成使曲线平滑的数据。然而,很多企业都有非 常复杂的数据估计方法。这些方法能够调节许多变量,为丢失的数据生成一个 非常接近实际的值。 衍生数据/计算数据 数据变换的最常见形式之一就是计算和生成衍生数据元或计算数据元。它包 括平均值、总和或统计计算,还包括复杂的业务计算。衍生数据字段通常是冗 余的,因为计算中涉及的数据也存储在仓库中,然而,它能大大简化查询,保 证存入仓库中的这些衍生值的正确性和一致性,这样,在查询中可以选用它们, 而不必在用户需要时都计算一次。在这方面,数据变换工具是很有用的,因为 这些工具能迅速而轻松地进行各种计算,无需担心编程员是否正确地编写了计 算逻辑。 6.10聚集和概括聚集和概括 大多数数据仓库都要用到数据的某种聚集和概括。这通常有助于将某一实体 的实例数目减少到易于驾驭的水平,也有助于预先计算出广泛应用的概括数字, 以使每个查询不必计算它们。概括是指按照一个或几个业务维将相近的数值加 在一起。聚集指将不同业务元素加在一起或为一个公共总数。在数据仓库中它 们是以相同的方式进行的。 数据仓库中存放的最具体的数据不与业务系统中存放的细节数据一样聚集。 这时,就有必要在变换业务数据的过程中加入一些数据聚集功能。这可以减少 存储在数据仓库中的行数。 聚集还可以去除数据仓库中的过时细节。在许多情况下,数据在一定时期内 要以很具体的水平存放着,一旦数据到了某一时限,对所有这些细节的需求就 大大减弱了。此时,这些非常具体的数据应该传送到离线存储器或近线存储器 中,而数据的概括形式则可以存放在数据仓库中。 目前可以得到的数据刷洗工具中,许多都已内置了概括功能,尤其是在时间 维上进行聚集的功能。当然,不管如何做到这一点,重要的是用户能够轻松地 访问元数据,了解生成总和数据所用的标准。 6.11移动数据移动数据 将数据移出操作系统一般包括:在数据最终复制到数据仓库之前,将它们 拷贝到一个中间位置。理想状况下,拷贝数据的过程应该在操作系统不忙时进 行。确保了解自己的商务及其支持系统。如果还未完成大量的更新,就不应该 移动数据。如果数据仓库中的数据来自多个相互关联的操作系统,就应该保证 在这些系统同步工作时移动数据。 广义的数据准备,覆盖面很广泛,包含了从数据源抽取数据,一直到最终 数据呈现在用户面前之间的所有工作,这其中的最主要的工作就是数据的抽取、 转换、清洗、装载等一系列工作。在最初的数据仓库实现之前所有的这些工作 都是用程序手工实现的。这样就造成了一个非常严重的问题,就是数据仓库的 持续发展问题,因为利用程序实现每一个数据抽取过程,导致所有的数据逻辑 都隐藏在程序内部,当数据仓库进一步发展时,这些程序的管理和修改,将成 为阻碍数据仓库发展的最大的障碍。 经过一段时间的发展,人们最终认识到 ETL 工具的重要性,于是相关的 ETL 工具也纷纷出台,其中比较著名的是 IBM 的 Visual warehouse,Ardent 公司的 data stage 等等。如何判断一个 ETL 工具的优略呢,一般而言,主要有一下几 个因素: 1OPEN datasource The tools must extract data from most kind of data source use Native database Driver 就是说这种工具必须从 很多不同的数据源抽取 数据,并尽可能地使用 数据源本身提供的驱动 程序来提高使用效率 2OPEN target Database The Tools must can Use most database like (DB2,ORACLE.ETC.) as Target database. 要支持不同的数据库作 为数据仓库的载体 3Schedule job可以定时进行数据的更 新的整理 4High Performance较高的工作效率 5Metadata management完善的元数据管理,可 以对整个 ETL 过程中产 生的元数据进行管理 6Parallel support支持并行数据抽取 7Visualize UI可视化的工作界面 8Custom define program可以支持用户自定义的 程序做一些普通 SQL 语 句无法完成的工作 9Security Support multi user and user group 支持多用户和多用户组 的工作方式 10Increment data extract support可以实现数据的增量抽 取 11Use subject to manage ETL Job用户可以对所有进程按 照主题进行管理 12 Enable Complex cleansing and transform Automatic generate SQL, Custom SQL support 支持复杂的数据清洗工 作,自动生成 SQL 语句, 用户自定义 SQL 13Support MDD data load可以支持多维数据库的 数据加载 14Support TB data extract and load可以支持 TB 级别的数 据加载 15Data model export and import 现有设置可以进行 Export 和 import 七、七、 如何建立数据仓库如何建立数据仓库 数据仓库的实现主要以关系数据库(RDB)技术为基础,因为关系数据库 的数据存储和管理技术发展得较为成熟,其成本和复杂性较低,已开发成功 的大型事务数据库多为关系数据库,但关系数据库系统并不能满足数据仓库 的数据存储要求,需要通过使用一些技术,如动态分区、位图索引、优化查 询等,使关系数据库管理系统在数据仓库应用环境中的性能得到大幅度的提 高。 数据仓库在构建之初应明确其主题,主题是一个在较高层次将数据归类的 标准,每一个主题对应一个宏观的分析领域,针对具体决策需求可细化为多 个主题表,具体来说就是确定决策涉及的范围和所要解决的问题。但是主题 的确定必须建立在现有联机事务处理(OLTP)系统基础上,否则按此主题设 计的数据仓库存储结构将成为一个空壳,缺少可存储的数据。但一味注重 OLTP 数据信息,也将导致迷失数据提取方向,偏离主题。需要在 OLTP 数 据和主题之间找到一个“平衡点”,根据主题的需要完整地收集数据,这样 构建的数据仓库才能满足决策和分析的需要。 建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版六年级下册唱歌 举杯祝福教学设计
- 六年级数学下册 第4单元 比例 3比例的应用第6课时 用比例解决问题(2)教学设计 新人教版
- 2024四川融信泰网络安全技术有限公司招聘6人笔试参考题库附带答案详解
- 人音版七年级音乐下册第四单元《红河谷》教学设计
- 管理人员转正申请审批表
- 七年级生物下册 4.11.2 尿的形成和排出教学设计 (新版)北师大版
- 七年级语文下册 第三单元 写作 口语交际 综合实践 开掘记忆 搜寻动人故事教学设计 北师大版
- 2024四川中国储备粮管理集团有限公司成都分公司公开招聘63人专科及以上笔试参考题库附带答案详解
- 九年级化学下册 第11单元 实验活动8 粗盐中难溶性杂质的去除教学设计 (新版)新人教版
- 七年级地理上册 第四章 第二节 气温和降水教学设计 (新版)湘教版
- 离职体检免责协议书
- 光电工程师需掌握的常用计算试题及答案
- 3D打印在康复辅具中的应用-全面剖析
- 县级安全生产大讲堂课件
- 北京市门头沟区2025届高三一模考试生物试题(原卷版+解析版)
- 安徽省合肥市2024-2025学年高三下学期第二次教学质量检测生物学试卷(含答案)
- 2025年中国诗词大会知识竞赛模拟题库及答案(215题)
- 大部分分校:地域文化形考任务一-国开(CQ)-国开期末复习资料
- 前程无忧国企招聘笔试题库
- MOOC 财务报表分析-华中科技大学 中国大学慕课答案
- 幼儿园主题活动评价表建议正式版
评论
0/150
提交评论