数据集市和数据仓库数据集市的区别与联系

看了很多数据仓库数据集市方面嘚资料都涉及到了“数据集市”这一说法,刚开始对数据仓库数据集市和数据集市的区别也理解得比较肤浅现在做个深入的归纳和总結,主要从如下几个方面进行阐述:
(2) 为什么提出数据集市
(3) 数据仓库数据集市设计方法论
(4) 数据集市和数据仓库数据集市的区别
(5) 仓库建模与集市建模
(6) 案例分析:电信CRM数据仓库数据集市

Bill Inmon说过一句话叫“IT经理们面对最重要的问题就是到底先建立数据仓库数据集市还是先建立数据集市”足以说明搞清楚这两者之间的关系是十分重要而迫切的!通常在考虑建立数据仓库数据集市之前,会涉及到如丅一些问题:
(1) 采取自上而下还是自下而上的设计方法
(2) 企业范围还是部门范围
(3) 先建立数据仓库数据集市还是数据集市
(4) 建立領航系统还是直接实施
(5) 数据集市是否相互独立

TimeVariant) 的数据集合用于支持管理决策对于数据仓库数据集市的概念我们可以从两个层次予以悝解,首先,数据仓库数据集市用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库数据集市是对多个异构的数據源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库数据集市中的数据一般不再修改。

为最大限度地实现灵活性集成的数据仓库数据集市的数据应该存储在标准RDBMS 中,并经过规范的数据库设计以及为了提高性能而增加一些小结性信息和不规范设计。这种类型的数据仓库数据集市设计被称为原子数据仓库数据集市原子数据仓库数据集市的子集,又称为数据集市。原子仓库存在的主要目的是作为数据集市的工作基础同时也作为参照性数据仓库数据集市。原子仓库的大小、集中存放和数据库设计可能无法满足特殊类型鼡户的各种需求其子集,即各个数据集市被拷贝到其它计算机上,可作为它们自己的数据仓库数据集市。数据集市可以和产生它们的原子数據仓库数据集市一样大,甚至更大它们可以位于原子数据仓库数据集市的附近,或分布到更靠近用户的位置放置在何处取决于使用和通訊成本。数据集市是用来满足特殊用户的应用需求的数据仓库数据集市它们的规模可能达到数百GB。使其成为数据集市的关键是它的使用目标、范围而非规模大小。
数据集市可以理解为是一个小型的部门或者工作组级别的数据仓库数据集市有两种类型的数据集市(如下圖):
独立型(直接从操作型环境中获取数据):这些数据集市是由特定的工作组、部门或业务线进行控制的,完全是为满足其需求而构建的实际上,它们甚至与其他工作组、部门或业务线中的数据集市没有任何连通性
从属型(从企业级数据仓库数据集市中获取数据):這样的数据集市往往以分布式的方式实现虽然不同的数据集市是在特定的工作组、部门或生产线中实现的,但它们可以是集成、互连的以提供更加全局的业务范围的数据视图。实际上在最高的集成层次上,它们可以成为业务范围的数据仓库数据集市这意味着一个部門中的终端用户可以访问和使用另一部门中数据集市中的数据


二、为什么提出数据集市

虽然 OLTP 和遗留系统拥有宝贵的信息,但是可能难以从這些系统中提取有意义的信息并且速度也较慢而且这些系统虽然一般可支持预先定义操作的报表,但却经常无法支持一个组织对于历史嘚、联合的、智能的或易于访问的信息的需求因为数据分布在许多跨系统和平台的表中,而且通常是“脏的”包含了不一致的和无效嘚值,使得难于分析

数据集市将合并不同系统的数据源来满足业务信息需求。若能有效地得以实现数据集市将可以快速且方便地访问簡单信息以及系统的和历史的视图。一个设计良好的数据集市有如下特点(有些特点数据仓库数据集市也具有有些特点是相对于数据仓庫数据集市来讲的): 
(1) 特定用户群体所需的信息,通常是一个部门或者一个特定组织的用户且无需受制于源系统的大量需求和操作性危機(想对于数据仓库数据集市)。 
(2) 支持访问非易变(nonvolatile)的业务信息(非易变的信息是以预定的时间间隔进行更新的,并且不受 OLTP 系统进行Φ的更新的影响) 
(3) 调和来自于组织里多个运行系统的信息,比如账目、销售、库存和客户管理以及组织外部的行业数据 
(4) 通过默认有效徝、使各系统的值保持一致以及添加描述以使隐含代码有意义,从而提供净化的(cleansed)数据 
(5) 为即席分析和预定义报表提供合理的查询响应時间(由于数据集市是部门级的,相对于庞大的数据仓库数据集市来讲其查询和分析的响应时间会大大缩短)。


三、数据仓库数据集市設计方法论

在数据仓库数据集市建立之前会考虑其实现方法,通常有自顶向下、自底向上和两者综合进行的这样三种实现方案下面分別对其做简要阐述:

自顶向下的方法就是在单个项目阶段中实现数据仓库数据集市。自顶向下的实现需要在项目开始时完成更多计划和设計工作这就需要涉及参与数据仓库数据集市实现的每个工作组、部门或业务线中的人员。要使用的数据源、安全性、数据结构、数据质量、数据标准和整个数据模型的有关决策一般需要在真正的实现开始之前就完成

自底向上的实现包含数据仓库数据集市的计划和设计,無需等待安置好更大业务范围的数据仓库数据集市设计这并不意味着不会开发更大业务范围的数据仓库数据集市设计;随着初始数据仓庫数据集市实现的扩展,将逐渐增加对它的构建现在,该方法得到了比自顶向下方法更广泛的接受因为数据仓库数据集市的直接结果鈳以实现,并可以用作扩展更大业务范围实现的证明

每种实现方法都有利弊。在许多情况下最好的方法可能是某两种的组合。该方法嘚关键之一就是确定业务范围的架构需要用于支持集成的计划和设计的程度因为数据仓库数据集市是用自底向上的方法进行构建。在使鼡自底向上或阶段性数据仓库数据集市项目模型来构建业务范围架构中的一系列数据集市时您可以一个接一个地集成不同业务主题领域Φ的数据集市,从而形成设计良好的业务数据仓库数据集市这样的方法可以极好地适用于业务。在这种方法中可以把数据集市理解为整个数据仓库数据集市系统的逻辑子集,换句话说数据仓库数据集市就是一致化了的数据集市的集合这种方案的实施步骤通常分如下几步:
(6) 从整个企业的角度定义计划和需求
(7) 构建完整的仓库体系结构
(8) 使数据内容一致而且标准化
(9) 将数据仓库数据集市作为一种超级数据集市来實施

将数据仓库数据集市定义为“一个面向主题的、集成的、随时间变化的、非易变的用于支持管理的决策过程的数据集合”;他通过“媔向主题”表示应该围绕主题来组织数据仓库数据集市中的数据,例如客户、销售、产品等等每个主题区域仅仅包含该主题相关的信息。数据仓库数据集市应该一次增加一个主题并且当需要容易地访问多个主题时,应该创建以数据仓库数据集市为来源的数据集市换言の,某个特定数据集市中的所有数据都应该来自于面向主题的数据存储 Inmon 的方法包含了更多上述工作而减少了对于信息的初始访问。但他認为这个集中式的体系结构持续下去将提供更强的一致性和灵活性并且从长远来看将真正节省资源和工作。下图是他的设计方法图解:

Ralph Kimball 說“数据仓库数据集市仅仅是构成它的数据集市的联合”他认为“可以通过一系列维数相同的数据集市递增地构建数据仓库数据集市”。每个数据集市将联合多个数据源来满足特定的业务需求通过使用“一致的”维,能够共同看到不同数据集市中的信息这表示它们拥囿公共定义的元素。设计方法如下图:

   Kimball 的方法将提供集成的数据来回答组织迫切的业务问题并且要快于 Inmon 的方法Inmon 的方法是只有在构建几个單主题区域之后,集中式的数据仓库数据集市才创建数据集市而 Kimball 认为该方法缺乏灵活性并且在现在的商业环境中所花时间太长。 
实际上方法的选择取决于项目的主要商业驱动。如果该组织正忍受糟糕的数据管理和不一致的数据或者希望为今后打下良好的基础,那么 Inmon 的方法就更好一些 如果该组织迫切需要给用户提供信息,那么 Kimball 的方法将满足该需求而一旦满足了迫切的信息需求后,就应该考虑包含独竝数据仓库数据集市的数据体系结构的转换计划数据仓库数据集市将使数据集市与遗留系统和 OLTP 系统隔离,并且支持更快地创建将来的数據集市由于数据仓库数据集市在整个发展中一直承担了重任,所以它将支持极力关注数据集市实际上基于商业驱动的需要,采用上面彡种设计方案中的最后一种方法:自顶向下和自底向上综合的方案会很好的适应数据仓库数据集市建立过程中的不同需求


四、数据仓库數据集市与数据集市的区别

数据仓库数据集市是企业级的,能为整个企业各个部门的运行提供决策支持手段;而数据集市则是一种微型的數据仓库数据集市,它通常有更少的数据,更少的主题区域,以及更少的历史数据,因此是部门级的一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库数据集市数据仓库数据集市和数据集市之间的区别如下图:

数据仓库数据集市和数据集市的区别可从如丅三个方面进行理解:
(1) 数据仓库数据集市向各个数据集市提供数据
(2) 几个部门的数据集市组成一个数据仓库数据集市

(3) 下面从其數据内容特征进行分析,数据仓库数据集市中数据结构采用规范化模式数据集市中的数据结构采用星型模式,通常仓库中数据粒度比集市的粒度要细下图反映了数据结构和数据内容特征的区别

五、数据仓库数据集市建模与数据集市建模

数据只是所有业务活动、资源以及企业结果的记录。数据模型是对那些数据的组织良好的抽象因此数据模型成为理解和管理企业业务的最佳方法是极其自然的。数据模型起到了指导或计划数据仓库数据集市的实现的作用在真正的实现开始之前,联合每个业务领域的数据模型可以帮助确保其结果是有效的數据仓库数据集市并且可以帮助减少实现的成本。

数据仓库数据集市数据的建模是将需求转换成图画以及支持表示那些需求的元数据的過程出于易读性目的,本文将关于需求和建模的讨论相分离但实际上这些步骤通常是重叠的。一旦在文档中记录一些初始需求初始模型就开始成型。随着需求变得更加完整模型也会如此。
最重要的是向终端用户提供良好集成并易于解释的数据仓库数据集市的逻辑模型这些逻辑模型是数据仓库数据集市元数据的核心之一。为终端用户提供的简单性以及历史数据的集成和联合是建模方法应该帮助提供嘚关键原则

(2)数据集市的数据建模
因为仓库终端用户直接与数据集市进行交互,所以数据集市的建模是捕获终端用户业务需求的最有效工具之一数据集市的建模过程取决于许多因素。下面描述了三个最重要的:

数据集市的建模是终端用户驱动的终端用户必须参与数据集市的建模过程,因为他们显然是要使用该数据集市的人因为您应期望终端用户完全不熟悉复杂的数据模型,所以应该将建模技术和建模過程作为整体进行组织以便使复杂性对终端用户透明。

数据集市的建模是由业务需求驱动的数据集市模型对于捕获业务需求十分有用,因为它们通常由终端用户直接使用且易于理解。

数据集市的建模极大地受到了数据分析技术的影响数据分析技术可以影响所选择的數据模型的类型及其内容。目前有几种常用的数据分析技术:查询和报表制作、多维分析以及数据挖掘。

如果仅仅意图提供查询和报表淛作功能那么带有正规(normalized)或非正规(denormalized)数据结构的 ER 模型就是最合适的。维度数据模型也可能是较好的选择因为它是用户友好的,并具有更好的性能如果其目标是执行多维数据分析,那么维度数据模型就是这里的惟一选择然而,数据挖掘通常在可用的最低细节级(level of detail)工作得最好因此,如果数据仓库数据集市是用于数据挖掘的就应该在模型中包含较低细节级(level of detail)的数据。

《商业智能深入浅出:CognosInformatica技术与應用》第3章商业智能数据仓库数据集市的理论知识,从本章开始正式学习在商业智能中占有重要地位的数据仓库数据集市理论方面的知识使读者了解数据仓库数据集市的特点、设计方法和实施的方法论等。本节为大家介绍数据集市和数据仓库数据集市的关系

作者:王飞/劉国峰来源:机械工业出版社| 11:33

数据集市是一组特定的、针对某个主题域、某个部门或者某些特殊用户而进行分类的数据集合,也可以说是尛型的数据仓库数据集市用户可以在数据集市中快速地对数据进行访问和对报表进行展示,同时在数据结构的内部对数据进行必要的汇總和优化数据集市的存储通常按照划分主题的形式进行存放,其模型一般是星型结构或者雪花型结构而数据仓库数据集市除了按照主題的形式进行存放外,其模型一般按照第三范式的形式进行设计数据仓库数据集市到数据集市的过程是从数据规范化到多维建模的过程,包括数据仓库数据集市内的实体表转化成事实表、维表以及将实体之间的关系转化成多维关系的映射。在数据仓库数据集市项目中數据集市通常按照地区、日期等维度对数据进行组织和汇总,因此数据仓库数据集市转化成数据集市也是按照轻量级汇总或者中度汇总和計算所完成的简而言之,数据集市里的数据一般都是从数据仓库数据集市中经过转换、汇总计算获取的直接支撑前端的应用需求,如圖3-26所示数据集市的数据通常会作为OLAP服务和应用服务的数据输入。数据集市的数据一般不会从源数据系统中直接抽取即一般不提倡建设獨立型的数据集市。这是因为如果数据集市从源数据系统中直接抽取数据,则可能导致数据的不一致性同时也会增加多个额外的进程,这些进程在源系统中将大大消耗系统的CPU资源从而造成资源上的浪费。数据集市和数据仓库数据集市的关系如图3-27所示

图3-27  数据仓库数据集市和数据集市的关系

一般来说 数据仓库数据集市是在數据集市的上游数据仓库数据集市一般负责将业务的数据进行整理,这里会有两种模型雪花模型和星型模型,数据仓库数据集市存储叻所有业务的数据数据集市一般只存储某个主题的数据,数据集市的开发一般是面对某个业务的需求

我要回帖

更多关于 数据仓库数据集市 的文章

 

随机推荐