企业从事数据仓库项目时,往往会遇到多个数据仓库软件供应商。各供应商除了推销相
关的软件工具外,同时会向企业灌输许多概念,其中,数据仓库和数据集市是最常见的。由
于术语定义不统一,另外各个供应商销售策略不一样,往往会给企业带来很大的混淆。最典
型的问题是:到底是先上一个企业级的数据仓库呢?还是先上一个部门级的数据集市?本文
试图说明这两个概念之间的区别和联系,以期对具体的数据仓库项目有所裨益。
1.为什么会出现数据仓库和数据集市?
“数据仓库”的概念可以追溯到80 年代中期。从本质上讲,最初数据仓库是想为操作
型系统到决策支持环境的数据流提供一种体系结构模型,并尝试解决和这些数据流相关的各
种问题。
在缺乏“数据仓库”体系结构的情况下,早期的决策支持环境如图1 所示。企业内部存
在许多冗余的、重复建设的决策支持系统(通常是报表系统),这些系统被不同类型的用户
使用,数据的抽取层次复杂,最初在OLTP 上抽取,再在抽取后的数据集上抽取,如此等等,
呈“蜘蛛网”状,由于没有公共的数据源,并且数据没有时间点,导致了产生的报表可信度
下降,数据不一致问题特别显著,更不用说转化为有效的决策信息。
为了解决上述问题,数据仓库应运而生。数据仓库构建了一种以集中式的数据存储为核
心的体系结构,数据存储的模式为了适应决策分析的要求,从而形成一种与原来业务系统构
成的操作型环境(OLTP)相独立的决策支持环境。数据仓库最基本的体系结构如图2 所示。
图2 所示的以数据仓库为基础的决策支持环境,要求数据仓库能够满足所有最终用户的
需求。然而,最终用户的需求是不断变化的,而且各种类型的用户对信息的需求也不一样,
这就要求数据仓库存储的数据具有充分的灵活性,能够适应各类用户的查询和分析。另一方
面,最终用户对信息的需求必须易于访问,能够在较高的性能上获得结果。但是,灵活性和
性能对数据仓库而言,是一对矛盾体。为了适应灵活性的要求,数据仓库需要存储各种历史
数据,以规范化的模式存储(一般是第3范式)。于是,对于特定的用户,他/她所需要的信
息就需要在许多张很大的表上连接后得到结果,这样就无法满足用户对快速访问的性能需
求。为了解决灵活性和性能之间的矛盾,数据仓库体系结构中增加了数据集市,数据集市存
储为特定用户需求而预先计算好的数据,从而满足用户对性能的需求。带有数据集市的体系
结构如图3 所示。
上文提及数据仓库除了为数据流构建体系结构模型外,还尝试解决与数据流相关的各种
问题,这些问题如图4 所示,包括数据仓库构建过程中需要开展的各种任务及特点。
2.数据仓库和数据集市的概念
对于数据仓库和数据集市的概念有各种不同的版本,本文参照数据仓库之父Inmon 的
定义予以说明(www.billinmon.com词汇表)。
数据仓库:是一个集成的面向主题的数据集合,设计的目的是支持DSS(决策支持系
统)的功能,在数据仓库里,每个数据单元都和特定的时间相关。数据仓库包括原子级别的
数据和轻度汇总的数据。数据仓库是面向主题的、集成的、不可更新的(稳定性)、随时间不
断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程。
不能将数据仓库简单地理解成一套软件,数据仓库是重建企业数据流和信息流的过程,
在这个过程中,构造企业的决策支持环境,以区别原来的业务系统所构建的操作型环境。数
据仓库的价值并不是你在仓库中所存储的数据量的多少,而关键在于从仓库中能够获得的信
息和分析结果的质量。
数据集市:是一个小型的部门或工作组级别的数据仓库。有两种类型的数据集市——独
立型和从属型。独立型数据集市直接从操作型环境获取数据。从属型数据集市从企业级数据
仓库获取数据。从长远的角度看,从属型数据集市在体系结构上比独立型数据集市更稳定。
独立型数据集市的存在会给人造成一种错觉,似乎可以先独立地构建数据集市,当数据集
市达到一定的规模可以直接转换为数据仓库,有些销售人员会推销这种错误的观点,因为建立企
业级数据仓库的销售周期长。多个独立的数据集市的累积是不能形成一个企业级的数据仓库的,
这是由数据仓库和数据集市本身的特点决定的。如果脱离集中式的数据仓库,独立的建立多个数
据集市,企业只会又增加了一些信息孤岛,仍然不能以整个企业的视图分析数据,数据集市为各
个部门或工作组所用,各个集市之间又会存在不一致性。当然,独立型数据集市是一种既成事实,
为满足特定用户的需求而建立的一种分析型环境,但是,从长远的观点看,是一种权宜之计,必
然要为一个企业级的数据仓库所取代。
3.数据仓库和数据集市之间的区别
数据仓库和数据集市之间的区别可以直观地用下图表示(图5,www.billinmon.com)。
从图中可以看出,数据仓库中数据结构采用的规范化模式(关系数据库设计理论),数
据集市的数据结构采用的星型模式(多维数据库设计理论)。数据仓库中数据的粒度比数据
集市的细。上图只反映了数据结构和数据内容的两个特征,对于其他区别如下表所示,并且
简单的以银行为例进行说明。
假设为某银行构建一个分行级别的数据仓库,再为该分行国际业务部构建数据集市。数
据仓库的数据来源于银行的业务系统,包括:储蓄、卡、个贷、外汇宝、中间业务等等,分
析的主题包括客户、渠道、产品等。数据仓库的数据粒度根据分析的要求而定,一般包括具
体的历史记录(存款、取款、外汇交易、POS 消费、中间业务缴费记录),然后,将这些记
录汇总到天/周/月/季度/年等各个层次,具体数据的粒度由分析的需求而定。另外,数据仓
库还存储一些业务逻辑——为分析而计算的一些指标。比如,客户的价值或客户的忠诚度。
这些指标的计算不能通过单一的业务系统,需要在所有业务上综合考虑,这也是数据仓库系
统的优点之一。假设整个分行有20 万个客户,那么数据仓库将包含20 万个客户的所有业务
的历史数据、汇总数据、以及数据仓库指标数据,数据量会达到几十甚至数百G(这只是非
常小规模的数据仓库)。数据仓库为了满足全行所有部门用户的查询和分析,只能采用范式
化设计,这样不管用户有什么需求,只要有数据存在,就能满足。再假设国际业务部门的客
户有2 万人(使用外汇宝),如果不构建数据集市,他们会直接在数据仓库上查询相关的信
息,比如外汇宝客户去年一年外汇交易额在各种交易方式上(柜台、网上、电话银行等)的
分布。查询的效率和性能是非常低的,如果各个部门的所有用户都直接在数据仓库上查询相
关的信息,数据仓库的性能会下降,而且无法满足用户对性能的需求,谁都不愿意为一个简
单的查询等待数分钟甚至数小时。因此,构建部门级的数据集市是非常必要的,主要基于性
能上的考虑。国际业务部门的数据集市包括2 万个客户的外汇交易历史,以及汇总,采用星
型模式(或雪片,或两者混合),以方便OLAP 工具的查询和分析。从这个简单的例子,可
以看出,数据集市的数据来源于数据仓库,主要是经过重新组织的汇总数据。因此,多个数
据集市不能构成一个企业级的数据仓库,借用Inmon 的比喻:我们不可能将大海里的小鱼
堆在一起就构成一头大鲸鱼。这也说明了数据仓库和数据集市有本质的不同。
跟随数据仓库和数据集市的概念,数据仓库的设计方法也分为三种:自顶而下,自下而
上,以及两者的混合。所谓自顶而下是先建立一个企业级的数据仓库,再建立各个数据集市,
自下而上与此相反,混合的方法是要求在建立数据集市时,同时考虑企业级数据仓库的结构、
内容。
相关推荐
数据仓库与数据集市的区别 数据仓库和数据集市是两个不同的概念,尽管它们都是数据存储和分析的解决方案,但它们的设计理念、架构和应用场景都有所不同。 数据集市是一种按照特定部门的决策支持需求而组织起来的、...
数据仓库和数据集市是两种重要的数据管理工具,它们在企业数据处理和分析中扮演着关键角色。本文将详细探讨这两个概念以及它们之间的区别。 首先,数据仓库是一个为企业级决策制定提供全面数据支持的集合,源自多个...
数据仓库、数据集市和商业智能(BI)是现代企业数据管理与分析的核心组成部分。这篇文章将深入探讨这些概念,以及它们如何协同工作以支持数据分析。 首先,我们来理解数据仓库。数据仓库是一个集中的、结构化的存储...
数据挖掘源代码: 数据仓库与数据挖掘技术浅谈.caj; 数据仓库与数据挖掘12.caj 数据仓库与数据挖掘.caj 数据仓库和数据挖掘技术在ERP中的应用.kdh 数据仓库与数据挖掘1.caj ...数据仓库、数据集市和数据挖掘.caj
数据仓库、数据集市和数据挖掘.caj 数据仓库的建设与数据挖掘技术浅析.caj 数据仓库和数据挖掘技术在ERP中的应用.kdh 数据仓库与数据挖掘1.caj 数据仓库与数据挖掘12.caj 数据仓库与数据挖掘.caj 数据仓库与数据挖掘...
数据仓库和数据集市是两种不同的数据管理架构,它们在用途、构建方式和目标上有所区别。数据仓库是一种集中式的企业级系统,旨在提供全面、一致的历史数据视图,支持高级分析和决策制定。而数据集市则是针对特定业务...
而从属型数据集市则是从数据仓库中抽取数据,提供更强的一致性和灵活性,适用于长期规划和全局数据一致性要求较高的环境。 建设数据集市的步骤包括定义商业目标、理解数据源、确定汇总粒度以及定义数据模型。实施...
本篇资源摘要信息为读者提供了数据集市建设方案的相关知识点,涵盖了数据集市的定义、特点、架构设计和价值体现等方面的内容,旨在帮助读者更好地理解数据集市的概念和应用价值。 在数据集市的实施过程中,需要考虑...
"数据仓库与数据集市概念区别" 数据仓库和数据集市是两个常见的概念,在决策支持系统(DSS)中扮演着重要的角色。但是,许多人对这两个概念的理解存在误区,认为它们是相同的系统,或者认为数据仓库是多个数据集市...
数据仓库、数据集市和数据挖掘 三者关系形象说明
数据仓库、数据集市、数据湖和数据中台都是大数据领域中的关键组件,它们各自服务于不同的数据管理和分析需求。 数据仓库是一种集中式的数据存储系统,设计目的是为了支持企业的决策制定过程,提供历史数据的分析和...
PPT文件“1-老师课件”可能包含了课程大纲、重要概念解释、关键理论的可视化展示、实际案例分析等内容,对于学生理解和掌握数据仓库与数据挖掘的核心概念和技能至关重要。通过学习这门课程,学生不仅能够理解数据...
### 数据仓库与数据集市体系结构改进 #### 一、数据仓库(DW)的定义与特点 数据仓库(Data Warehouse, DW)是由数据仓库之父W.H. Inmon在其著作《Building the Data Warehouse》中首次明确提出的概念。他指出,数据...
与传统的企业级数据仓库不同,公共数据集市更注重速度和灵活性,能够快速响应业务部门对于实时或近实时数据的需求,同时也降低了对中央数据仓库的压力。 Teradata提出的公共桑山服务层是公共数据集市的核心组成部分...
2. **数据仓库的体系结构**:常见的数据仓库架构有两层架构、独立型和依赖型数据集市、操作型数据存储(ODS)等。这些架构旨在满足不同规模和复杂度的决策支持需求。 3. **OLAP(在线分析处理)**:是数据仓库中...