ODS(Operational Data Store)是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“面向主题的、集成的、当前或接近当前的、不断变化的”数据。
一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用:
1) 在业务系统和数据仓库之间形成一个隔离层
一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。
2) 转移一部分业务系统细节查询的功能
在数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。ODS的数据从粒度、组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压力。
3) 完成数据仓库中不能完成的一些功能
一般来说,带有ODS的数据仓库体系结构中,DW层所存储的数据都是进行汇总过的数据,并不存储每笔交易产生的细节数据,但是在某些特殊的应用中,可能需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析等查询功能。
在一个没有ODS层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而确定的,但一般来说,最为细节的业务数据也是需要保留的,实际上也就相当于ODS,但与ODS所不同的是,这时的细节数据不是“当前、不断变化的”数据,而是“历史的,不再变化的”数据。
设计方法
在数据仓库设计方法和信息模型建模方法中,前人的著作对各种思路和方法都做过大量的研究和对比,重点集中在ER模型和维模型的比较和应用上。根据我们的实践经验,ER模型和维模型在数据仓库设计中并非绝对对立,尤其在ODS设计上,从宏观的角度来看数据之间的关系,以ER模型最为清晰,但从实现出来的数据结构上看,用维模型更加符合实际的需要。因此孤立地看ER模型或者维模型都缺乏科学客观的精神,需要从具体应用上去考虑如何应用不同的设计方法,但目标是一定的,就是要能够把企业的数据从宏观到微观能够清晰表达,并且能够实现出来。
ODS设计指南
在ODS的概念定义中,已经描述了ODS的功能和特点,实际上ODS设计的目标就是以这些特点作为依据的。ODS设计与DW设计在着眼点上有所不同,ODS重点考虑业务系统数据是什么样子的,关系如何,在业务流程处理的哪个环节,以及数据抽取接口等问题。
第零步:数据调研
有关数据调研的内容和要求,在《调研规范》文档中做了详细定义,此处不再重复。
第一步:确定数据范围
确定数据范围实际上是对ODS进行主题划分的过程,这种划分是基于对业务系统的调研的基础上而进行的,并不十分关心整个数据仓库系统上端应用需求,但是需要把上端应用需求与ODS数据范围进行验证,以确保应用所需的数据都已经从业务系统中抽取出来,并且得到了很好的组织。一般来讲,主题的划分是以业务系统的信息模型为依据的,设计者需要综合各种业务系统的信息模型,并进行宏观的归并,得到企业范围内的高层数据视图,并加以抽象,划定几个逻辑的数据主题范围。在这个阶段,以ER模型表示数据主题关系最为恰当。
第二步:根据数据范围进行进一步的数据分析和主题定义
在第一步中定义出来了企业范围内的高层数据视图,以及所收集到的各种业务系统的资料,在这一步中,需要对大的数据主题进行分解,并进行主题定义,直到每个主题能够直接对应一个主题数据模型为止。在这个阶段,将把第一步生成的每个ER图中的实体进行分解,分解的结果仍以ER表示为佳。
第三步:定义主题元素
定义维、度量、主题、粒度、存储期限
定义维的概念特性:
维名称,名称应该能够清晰表示出这个维的业务含义。
维成员,也就是这个维所代表的具体的数据,
维层次,维成员之间的隶属与包含的层次关系,每个层次需要定义名称
定义度量的概念特性:
度量名称,名称应该能够清晰标书这个度量的业务含义
定义主题的概念特性:
主题名称和含义,说明该主题主要包含哪些数据,用于什么分析;
主题所包含的维和度量;
主题的事实表,以及事实表的数据。
定义粒度:
主题中事实表的数据粒度说明,这种粒度可以通过对维的层次限制加以说明,也可以通过对事实表数据的业务细节程度进行说明。
定义存储期限:
主题中事实表中的数据存储周期。
第四步:迭代,归并维、度量的定义
在ODS中,因数据来自于多个系统,数据主题划分时虽然对数据概念进行了一定程度上的归并,但具体的业务代码所形成的各个维、以及维成员等还需要进一步进行归并,把概念统一的维定义成一个维,不允许同一个维存在不同的实体表示(象不同的业务系统中一样)。
第五步:物理实现
定义每个主题的数据抽取周期、抽取时间、抽取方式、数据接口,抽取流程和规则。
物理设计不仅仅是ODS部分的数据库物理实现,设计数据库参数、操作系统参数、数据存储设计之外,有关数据抽取接口等问题必须清晰定义。
DW设计指南
尽管我们看到过很多关于“不考虑应用,先建立数据平台”的说法,但建立一个“万能的”东西是不可能的,所以数据仓库的设计必须参照应用范围、应用类型,例如要考虑到系统用于报表、OLAP、数据挖掘的哪些模型等等,不同的应用对数据仓库的设计有不同的要求。
数据仓库是面向主题的、集成的、稳定的、随时间变化的数据,数据仓库的这几个特征的含义在这里不具体多介绍,但本人要说明如何实现这些特性。
在数据仓库的设计中时刻不能忘记的几个问题列举如下:
1、数据粒度和数据组织
在数据仓库的每个主题,都必须知道这个主题所限定的维的层次、事实数据的粒度;事实数据存储的期限,“过期”的数据的处理方法。
2、维和度量的唯一性和公用性
千万不要在不同的主题中定义多个表示同一内容的维,尤其对于业务代码类型的维,如果一个业务代码形成了多个维表,那么在元数据维护过程中将困难重重。在整个系统范围内,要不断检视维定义是否唯一,如果有可能,一个维表要尽量被多个主题引用。
3、数据粒度一旦变粗,就要考虑多个主题的融合汇总
在数据仓库中,我们出于数据组织的规则、业务的要求、性能的要求,都可能对一个主题的事实数据进行汇总,形成粒度较粗的事实数据,但这时候我们往往忘记了粒度变粗的事实数据为最终的用户提供了更宏观的数据视图,这种宏观的数据视图当然需要进行跨主题的数据融合才能更加具有应用的价值。
4、不论如何归并,需要保持数据之间的联系
在数据仓库中,不同主题的数据之间的物理约束或许不再存在,但无论这些数据如何变化,要知道必须有一些“键”在逻辑上保持着不同数据之间的联系,这样就可以保证有联系的主题数据之间可以进行汇总以支持未知的应用,否则数据仓库的数据是一潭死水,不可能灵活支持各种应用的。
数据仓库设计可以自底向上地进行,也就是说从汇总ODS数据入手,逐渐过渡到应用主题上面去(也就是说,ODS里面的数据主题域与DW中的分析主题完全不是一回事)。我们仍然按部就班地逐项设计,这样并不是完全限定设计思路和步骤,但可以有效地提醒设计者有哪些事情要做。
第一步:对ODS中的各个主题的事实数据进行时间上的汇总
ODS的事实数据是纯细节的交易数据,进入ODS的第一步就是要按照时间维进行汇总,以实现初步的信息沉淀。这种汇总不是只进行一次,而是要制定下来汇总的级别,比如日汇总信息保留3个月,月汇总信息保留2年,年汇总信息长期保存(当然在时间粒度变粗的同时一般都伴随着其他维粒度的变粗或者舍弃),我们最终一定要定义到何种程度的数据可以在数据仓库中永久保存为止的地步。
第二步:按照业务逻辑的规则,对数据进行归并
把ODS中不同主题中的表示相同业务的数据(来自不同的业务系统)进行归并,例如一般企业的客服系统(Call Center)都受理一部分业务,而这些业务受理与在营业厅或销售店的受理是一样的,因此这类数据要归并到一起。
第三步:把包含细节过多的交易记录进行拆分
事 实上,一个交易记录所包含的信息内容非常丰富,往往超越了某个人或部门的分析需求,但不同的人有不同的关注点,因此为提高性能起见,我们需要把一个长记录 包含的信息进行分析、分解、汇总。例如在电信企业中,经过二次批价后的通话详单包含多种信息,经过分析,它包括网络信息、业务类型信息、时间信息、地理信 息、费用信息这样几个类别的信息,而每一类信息都由几个字段来进行记录。这些不同类别的信息是很少有人都同时关心的,一般来说网管部门关心网络信息,市场 部门关心业务类型信息,而时间信息和地理信息恰是所有部门都需要的。按照这样的情况,我们把一条话单按照信息内容进行拆分,拆分后进行汇总归并,以支持不 同部门的分析要求。当然,对于数据挖掘应用,可能同时关心所有的信息以发掘不同信息之间的关系,但这种情况一则很少,二则真正的数据挖掘更多的时候依赖于 交易细节数据,也就是说,对于专题问题的研究可以从ODS中进行数据的再次处理。
第四步:汇总、再汇总
汇总的问题决不仅仅是为了提高性能而做的事情(当然汇总能够有效提高性能),但汇总同时意味着更高程度的综合,在这个过程中,我们会发现与ODS系统设计过程相反,我们从细节走向了宏观,在ODS中我们初步确定了企业信息模型,对企业信息模型进行初步分解,再分解、再分解,得到了一个个的主题;在数据仓库中,我们从一个个的主题开始,综合、再综合,我们沿着与ODS相反的方向,走向了企业的宏观数据视图。事实上在DW设计中,汇总、综合的终极目标,是要在最后把多个主题汇总成为一个大的主题,而这个主题所包含的维度和度量就是这个企业运行的命脉指标,是企业老板所最为关注的那几个指标。
参考至:《oracle数据仓库设计指南》
如意错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
Oracle数据仓库设计指南是这个领域的权威参考资料,它为数据仓库的建设和优化提供了深入的指导。Oracle作为全球领先的数据库管理系统供应商,其在数据仓库解决方案上拥有丰富的经验和强大的技术支撑。 在数据仓库...
大数据技术中的数据仓库设计与开发是非常重要的一方面,本文将从oracle数据仓库设计指南的角度,详细讲解数据仓库的设计方法和实现。 数据仓库的概念定义是非常重要的,数据仓库概念规定了数据仓库所具有的几个基本...
Oracle 数据仓库指南是一份深入解析 Oracle 数据仓库设计与优化的重要资料。这份指南涵盖了多个关键主题,包括数据仓库的基础概念、架构设计、性能优化以及特定的 Oracle 技术应用。以下是对这些阅读笔记的详细解读...
### Oracle数据仓库方法论 #### 一、概述 Oracle数据仓库方法论(DWM)是Oracle公司在多年实践经验基础上总结出来的一套系统化、规范化的数据仓库实施指导思想。该方法论旨在帮助企业通过科学的方法和流程,高效地...
- **官方文档**:Oracle提供了详尽的文档和技术指南,是学习Oracle数据仓库的最佳起点。 - **在线课程**:如Coursera、edX等平台上的专业课程,涵盖从基础到高级的各个阶段。 - **实践项目**:通过实际操作来巩固...
这部分内容重点介绍了Oracle 10g数据仓库与Oracle Warehouse Builder(OWB)相结合的应用案例,包括如何使用OWB进行数据集成、数据仓库设计等。 #### 八、Oracle 10g 数据仓库的Discoverer应用 这部分内容详细介绍...
- **数据仓库设计**:确定数据模型、建立索引等。 - **数据集市**:为特定用户群提供数据子集。 #### 7.2 数据仓库项目实施 - **OWB Repository Assistant**:用于管理数据仓库项目的工具。 - **项目创建**:创建...
同时,提供的"ORACLE数据仓库相关组件使用手册.pdf"可能是对这些组件的详细指南,而"立即访问erpdown.com!获取更多ERP资源及文档.url"则可能指向更多相关的学习资源和社区,进一步扩展你的知识领域。
这个课件下载的内容可能涵盖了Oracle数据仓库的基本概念、设计原理、组件介绍以及实施策略等多个方面。 首先,Oracle数据仓库架构的核心是数据库管理系统(DBMS),它为大规模数据存储提供了稳定和高性能的平台。...
Oracle数据仓库建设是一项复杂而关键的任务,涉及到数据库设计、数据集成、性能优化等多个方面。本PPT基于Oracle 11g这一强大关系型数据库管理系统,为新手提供了宝贵的入门指南。以下将详细介绍Oracle 11g在数据...
在数据仓库的建设过程中,维度建模是一种常用的方法,它是关系数据库设计的一种特殊形式,特别适用于数据仓库和OLAP(在线分析处理)环境。维度建模的核心思想是将数据以易于理解的业务术语(如时间、地点、产品等)...
首先,"数据仓库工具箱:维度建模的完全指南"是数据仓库设计的核心主题之一。维度建模是一种专门用于构建数据仓库和商务智能系统的数据模型设计方法。它强调了业务理解和报表需求,通过创建易于理解的“维度”(如...
- **表空间设计**(3.1.1):讲解如何为数据仓库设计合适的表空间。 - **索引设计**(3.1.2):讨论索引的选择和设计对于提高查询性能的重要性。 - **分区策略**(3.1.3):介绍数据仓库中常用的分区策略及其优势...
Oracle数据仓库资料(7份) SQL_SERVER构建数据仓库(1份) 了解数据仓库及其应用 数据仓库建模技术 数据仓库介绍课件 数据仓库设计 数据仓库与OLAP 数据集市建设、数据质量及数据管理方法 OLAP及数据仓库讲解 EDW_...
首先,"Oracle数据仓库管理电子书"可能是关于如何构建和维护Oracle数据仓库的详细指南。这可能涵盖数据仓库的设计原则,如星型或雪花型模式,以及如何使用Oracle的特定工具和技术,如SQL*Loader、Materialized Views...
##### 1.3 Oracle10g的数据仓库设计 设计一个高效的数据仓库,需要考虑多方面的因素,比如数据模型的选择、数据存储策略等。Oracle10g支持星型模型和雪花模型等多种数据模型,可以灵活地根据业务需求进行选择。 ##...
在这个“数据仓库 经典书籍”的压缩包中,我们可以期待找到关于数据仓库设计、实施和管理的权威指南。 数据仓库的设计通常遵循OLAP(在线分析处理)的原则,它与OLTP(在线事务处理)系统有显著区别。OLAP系统注重...