数据仓库和数据集市简介

    xiaoxiao2024-04-19  9

    初次接触数据仓库的朋友,肯定也听过另一个类似的概念:数据集市。很多朋友都心有疑惑,到底这两个有什么关系呢,今天这篇文章来谈一谈。 首先来看一张网上的数据仓库架构图,这是一个从属型数据集市,位于数据仓库的上层。 一、数据仓库和数据集市的概念 数据仓库(Data Warehouse) 是一个面向主题的(Subject Oriented) 、集成的( Integrate ) 、相对稳定的(Non -Volatile ) 、反映历史变化( TimeVariant) 的数据集合用于支持管理决策。        首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;        其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。 数据集市是用来满足特殊用户的应用需求的数据仓库,它们的规模可能达到数百GB。使其成为数据集市的关键是它的使用目标、范围,而非规模大小。数据集市可以理解为是一个小型的部门或者工作组级别的数据仓库。有两种类型的数据集市:        独立型(直接从操作型环境中获取数据):这些数据集市是由特定的工作组、部门或业务线进行控制的,完全是为满足其需求而构建的。实际上,它们甚至与其他工作组、部门或业务线中的数据集市没有任何连通性        从属型(从企业级数据仓库中获取数据,如开始时的架构图):这样的数据集市往往以分布式的方式实现。虽然不同的数据集市是在特定的工作组、部门或生产线中实现的,但它们可以是集成、互连的,以提供更加全局的业务范围的数据视图。实际上,在最高的集成层次上,它们可以成为业务范围的数据仓库。这意味着一个部门中的终端用户可以访问和使用另一部门中数据集市中的数据。 二、数据集市是怎么产生的 一个企业往往有很多现有的系统,跟随有许多现有的OLTP数据库,虽然这些数据库拥有很多信息,但是分析人员很难从这些系统中提取有意义的信息并且速度也较慢。而且这些系统虽然一般可支持预先定义操作的报表,但却经常无法支持一个组织对于历史的、联合的或易于访问的信息的需求。因为数据分布在许多跨系统和平台的表中,而且通常是“脏的”,包含了不一致的和无效的值,使得难于分析。针对这种数据散落难以集中分析的状况,数据仓库应运而生。真对大型企业,数据经过ETL以后,汇总到一起。但是部门需求庞杂,导致如果从数据仓库中直接提炼分析数据,性能也不太可观,这时候,数据仓库应运而生。真对不同部门的不同分类需求,数据仓库延伸出各种数据集市供给某一部分特定部门或者人群。这样就大大提高了不同分析需求的执行效率。 一个设计良好的数据集市有如下特点(有些特点数据仓库也具有,有些特点是相对于数据仓库来讲的):         (1) 特定用户群体所需的信息,通常是一个部门或者一个特定组织的用户,且无需受制于源系统的大量需求和操作性危机(想对于数据仓库)。         (2) 支持访问非易变的业务信息。(非易变的信息是以预定的时间间隔进行更新的,并且不受 OLTP 系统进行中的更新的影响。)         (3) 调和来自于组织里多个运行系统的信息,比如账目、销售、库存和客户管理以及组织外部的行业数据。         (4) 通过默认有效值、使各系统的值保持一致以及添加描述以使隐含代码有意义,从而提供净化的数据。         (5) 为即席分析和预定义报表提供合理的查询响应时间(由于数据集市是部门级的,相对于庞大的数据仓库来讲,其查询和分析的响应时间会大大缩短)。 三、数据仓库设计方法论 在数据仓库建立之前,会考虑其实现方法,通常有自顶向下、自底向上和两者综合进行的这样三种实现方案,下面分别对其做简要阐述:        (1)自顶向下        自顶向下的方法就是在单个项目阶段中实现数据仓库。自顶向下的实现需要在项目开始时完成更多计划和设计工作。这就需要涉及参与数据仓库实现的每个工作组、部门或业务线中的人员。要使用的数据源、安全性、数据结构、数据质量、数据标准和整个数据模型的有关决策一般需要在真正的实现开始之前就完成。        (2)自底向上        自底向上的实现包含数据仓库的计划和设计,无需等待安置好更大业务范围的数据仓库设计。这并不意味着不会开发更大业务范围的数据仓库设计;随着初始数据仓库实现的扩展,将逐渐增加对它的构建。现在,该方法得到了比自顶向下方法更广泛的接受,因为数据仓库的直接结果可以实现,并可以用作扩展更大业务范围实现的证明。        (3)折中方案        每种实现方法都有利弊。在许多情况下,最好的方法可能是某两种的组合。该方法的关键之一就是确定业务范围的架构需要用于支持集成的计划和设计的程度,因为数据仓库是用自底向上的方法进行构建。在使用自底向上或阶段性数据仓库项目模型来构建业务范围架构中的一系列数据集市时,您可以一个接一个地集成不同业务主题领域中的数据集市,从而形成设计良好的业务数据仓库。这样的方法可以极好地适用于业务。在这种方法中,可以把数据集市理解为整个数据仓库系统的逻辑子集,换句话说数据仓库就是一致化了的数据集市的集合。 四、数据仓库和数据集市的区别 数据仓库是企业级的,能为整个企业各个部门的运行提供决策支持手段;而数据集市则是一种微型的数据仓库,它通常有更少的数据,更少的主题区域,以及更少的历史数据,因此是部门级的,一般只能为某个局部范围内的管理人员服务,因此也称之为部门级数据仓库。下图展示了数据仓库和数据集市的结构,加以区别: 数据仓库和数据集市的区别可从如下三个方面进行理解:         (1)数据仓库向各个数据集市提供数据         (2)几个部门的数据集市组成一个数据仓库         (3)下面从其数据内容特征进行分析,数据仓库中数据结构采用规范化模式,数据集市中的数据结构采用星型模式,通常仓库中数据粒度比集市的粒度要细   五、数据仓库和数据集市建模 数据只是所有业务活动、资源以及企业结果的记录。数据模型是对那些数据的组织良好的抽象,因此数据模型成为理解和管理企业业务的最佳方法是极其自然的。数据模型起到了指导或计划数据仓库的实现的作用。在真正的实现开始之前,联合每个业务领域的数据模型可以帮助确保其结果是有效的数据仓库,并且可以帮助减少实现的成本。         (1)数据仓库的建模        数据仓库数据的建模是将需求转换成图画以及支持表示那些需求的元数据的过程。出于易读性目的,本文将关于需求和建模的讨论相分离,但实际上这些步骤通常是重叠的。一旦在文档中记录一些初始需求,初始模型就开始成型。随着需求变得更加完整,模型也会如此。 最重要的是向终端用户提供良好集成并易于解释的数据仓库的逻辑模型。这些逻辑模型是数据仓库元数据的核心之一。为终端用户提供的简单性以及历史数据的集成和联合是建模方法应该帮助提供的关键原则。         (2)数据集市的建模        因为数据仓库终端用户直接与数据集市进行交互,所以数据集市的建模是捕获终端用户业务需求的最有效工具之一。数据集市的建模过程取决于许多因素。下面描述了三个最重要的: 数据集市的建模是终端用户驱动的。终端用户必须参与数据集市的建模过程,因为他们显然是要使用该数据集市的人。因为您应期望终端用户完全不熟悉复杂的数据模型,所以应该将建模技术和建模过程作为整体进行组织,以便使复杂性对终端用户透明。 数据集市的建模是由业务需求驱动的。数据集市模型对于捕获业务需求十分有用,因为它们通常由终端用户直接使用,且易于理解。 数据集市的建模极大地受到了数据分析技术的影响。数据分析技术可以影响所选择的数据模型的类型及其内容。目前,有几种常用的数据分析技术:查询和报表制作、多维分析以及数据挖掘。 相关资源:数据仓库、数据集市和数据挖掘
    最新回复(0)