数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在这里,数据模型表现的抽象的是实体和实体之间的关系,通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系。     数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般的来说,我们数据仓库模型分为几下几个层次,如图 2 所示。 简单报表阶段: 这个阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,以及生成一些简单的能够帮助领导进行决策所需要的汇总数据。这个阶段的大部分表现形式为数据库和前端报表工具。 数据集市阶段: 这个阶段,主要是根据某个业务部门的需要,进行一定的数据的采集,整理,按照业务人员的需要,进行多维报表的展现,能够提供对特定业务指导的数据,并且能够提供特定的领导决策数据。 数据仓库阶段: 这个阶段,主要是按照一定的数据模型,对整个企业的数据进行采集,整理,并且能够按照各个业务部门的需要,提供跨部门的,完全一致的业务报表数据,能够通过数据仓库生成对对业务具有指导性的数据,同时,为领导决策提供全面的数据支持。 通过数据仓库建设的发展阶段,我们能够看出,数据仓库的建设和数据集市的建设的重要区别就在于数据模型的支持。因此,数据模型的建设,对于我们数据仓库的建设,有着决定性的意义。 一般来说,数据模型的建设主要能够帮助我们解决以下的一些问题: 进行全面的业务梳理,改进业务流程。 在业务模型建设的阶段,能够帮助我们的企业或者是管理机关对本单位的业务进行全面的梳理。通过业务模型的建设,我们应该能够全面了解该单位的业务架构图和整个业务的运行情况,能够将业务按照特定的规律进行分门别类和程序化,同时,帮助我们进一步的改进业务的流程,提高业务效率,指导我们的业务部门的生产。 建立全方位的数据视角,消灭信息孤岛和数据差异。 通过数据仓库的模型建设,能够为企业提供一个整体的数据视角,不再是各个部门只是关注自己的数据,而且通过模型的建设,勾勒出了部门之间内在的联系,帮助消灭各个部门之间的信息孤岛的问题,更为重要的是,通过数据模型的建设,能够保证整个企业的数据的一致性,各个部门之间数据的差异将会得到有效解决。 解决业务的变动和数据仓库的灵活性。 通过数据模型的建设,能够很好的分离出底层技术的实现和上层业务的展现。当上层业务发生变化时,通过数据模型,底层的技术实现可以非常轻松的完成业务的变动,从而达到整个数据仓库系统的灵活性。 帮助数据仓库系统本身的建设。 通过数据仓库的模型建设,开发人员和业务人员能够很容易的达成系统建设范围的界定,以及长期目标的规划,从而能够使整个项目组明确当前的任务,加快整个系统建设的速度。
  1. 数据仓库建模方法
大千世界,表面看五彩缤纷,实质上,万物都遵循其自有的法则。数据仓库的建模方法同样也有很多种,每一种建模方法其实代表了哲学上的一个观点,代表了一种归纳,概括世界的一种方法。目前业界较为流行的数据仓库的建模方法非常多,这里主要介绍范式建模法,维度建模法,实体建模法等几种方法,每种方法其实从本质上讲就是从不同的角度看我们业务中的问题,不管从技术层面还是业务层面,其实代表的是哲学上的一种世界观。我们下面给大家详细介绍一下这些建模方法。 3.3.1 范式建模法( Third Normal Form 范式建模法其实是我们在构建数据模型常用的一个方法,该方法的主要由 Inmon 所提倡,主要解决关系型数据库得数据存储,利用的一种技术层面上的方法。目前,我们在关系型数据库中的建模方法,大部分采用的是三范式建模法。     范式是数据库逻辑模型设计的基本理论,一个关系模型可以从第一范式到第五范式进行无损分解,这个过程也可称为规范化。在数据仓库的模型设计中目前一般采用第三范式,它有着严格的数学定义。从其表达的含义来看, 一个符合第三范式的关系必须具有以下三个条件 每个属性值唯一,不具有多义性 每个非主属性必须完全依赖于整个主键,而非主键的一部分 每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。 由于范式是基于整个关系型数据库的理论基础之上发展而来的,因此,本人在这里不多做介绍,有兴趣的读者可以通过阅读相应的材料来获得这方面的知识。     根据 Inmon 的观点,数据仓库模型得建设方法和业务系统的企业数据模型类似。 在业务系统中,企业数据模型决定了数据的来源,而企业数据模型也分为两个层次,即主题域模型和 。同样,主题域模型可以看成是业务模型的概念模型,而逻辑模型则是域模型在关系型数据库上的实例。 Inmon 的范式建模法的最大优点就是从关系型数据库的角度出发,结合了业务系统的数据模型,能够比较方便的实现数据仓库的建模。但其缺点也是明显的,由于建模方法限定在关系型数据库之上,在某些时候反而限制了整个数据仓库模型的灵活性,性能等,特别是考虑到数据仓库的底层数据向数据集市的数据进行汇总时,需要进行一定的变通才能满足相应的需求。因此,笔者建议读者们在实际的使用中,参考使用这一建模方式。 3.3.2 维度建模法 维度建模法,Kimball 最先提出这一概念。其最简单的描述就是,按照事实表,维表来构建数据仓库,数据集市。这种方法的最被人广泛知晓的名字就是星型模式(Star-schema)。 上图的这个架构中是典型的星型架构。星型模式之所以广泛被使用,在于针对各个维作了大量的预处理,如按照维进行预先的统计、分类、排序等。通过这些预处理,能够极大的提升数据仓库的处理能力。特别是 的建模方法,星型模式在性能上占据明显的优势。 同时,维度建模法的另外一个优点是,维度建模非常直观,紧紧围绕着业务模型,可以直观的反映出业务模型中的业务问题。不需要经过特别的抽象处理,即可以完成维度建模。这一点也是维度建模的优势。 但是,维度建模法的缺点也是非常明显的,由于在构建星型模式之前需要进行大量的数据预处理,因此会导致大量的数据处理工作。而且,当业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理。而在这些与处理过程中,往往会导致大量的数据冗余。 另外一个维度建模法的缺点就是,如果只是依靠单纯的维度建模,不能保证数据来源的一致性和准确性,而且在数据仓库的底层,不是特别适用于维度建模的方法。 因此以笔者的观点看,维度建模的领域主要适用与数据集市层,它的最大的作用其实是为了解决数据仓库建模中的性能问题。维度建模很难能够提供一个完整地描述真实业务实体之间的复杂关系的抽象方法。 3.3.3 实体建模法 实体建模法并不是数据仓库建模中常见的一个方法,它来源于哲学的一个流派。从哲学的意义上说,客观世界应该是可以细分的,客观世界应该可以分成由一个个实体,以及实体与实体之间的关系组成。那么我们在数据仓库的建模过程中完全可以引入这个抽象的方法,将整个业务也可以划分成一个个的实体,而每个实体之间的关系,以及针对这些关系的说明就是我们数据建模需要做的工作。     虽然实体法粗看起来好像有一些抽象,其实理解起来很容易。即我们可以将任何一个业务过程划分成 3 个部分,实体,事件和说明,如下图所示:     由于实体建模法,能够很轻松的实现业务模型的划分,因此,在业务建模阶段和领域概念建模阶段,实体建模法有着广泛的应用。从笔者的经验来看,再没有现成的行业模型的情况下,我们可以采用实体建模的方法,和客户一起理清整个业务的模型,进行领域概念模型的划分,抽象出具体的业务概念,结合客户的使用特点,完全可以创建出一个符合自己需要的数据仓库模型来。     但是,实体建模法也有着自己先天的缺陷,由于实体说明法只是一种抽象客观世界的方法,因此,注定了该建模方法只能局限在业务建模和领域概念建模阶段。因此,到了逻辑建模阶段和物理建模阶段,则是范式建模和维度建模发挥长处的阶段。 因此,笔者建议读者在创建自己的数据仓库模型的时候,可以参考使用上述的三种数据仓库得建模方法,在各个不同阶段采用不同的方法,从而能够保证整个数据仓库建模的质量。 1.数据仓库建模目标 数据仓库建模的目标是通过建模的方法更好的组织、存储数据,以便在性能、成本、 效率和数据质量之间找到最佳平衡点。 访问性能:能够快速查询所需的数据,减少数据 I/O; 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的数据 成本和计算成本; 使用效率:改善用户应用体验,提高使用数据的效率。 数据质量:整合所... 事实表与维度表 在 数据仓库 中,保存度量值的详细值或事实的表称为事实表。 事实数据表通常包含大量的行。事实数据表的主要特点是包含数字数据(事实),并且这些数字信息可以汇总,以提供有关单位作为历史的数据。事实表的粒度决定了 数据仓库 中数据的详细程度。 常见事实表:订单事实表 事实表的特点:表多(各种各样的事实表);数据量大 事实表根据数据的粒度可以分为:事务事实表、周期快照事实表、累计快照事实表 维度表(维表)可以看作是用来分析数据的角度,纬度表中包 ​ 数据模型 是对现实事物的反映和抽象,能帮助我们更好地了解客观世界。 数据模型 定义了数据之间的关系和结构,使得我们可以有规律地获取想要的数据。例如,在一个超市里,商品的布局都有特定的规范,商品摆放的位置是按照消费者的购买习惯以及人流走向进行摆放的 1、 数据模型 的作用 ​ 数据模型 是业务需求分析之后, 数据仓库 工作开始的第一步。良好的 数据模型 可以帮助我们更好地存储数据,更有效地获取数据,保证数据间的一致性。 2、模型设计的基本原则 高内聚和低耦合   一个逻辑和物理模型由哪些记录和字段组成,应该遵循 1.1 什么是 数据仓库 1988年,为解决全企业集成问题,IBM公司第一次提出了信息仓库(Information Warehouse)的概念。 数据仓库 的基本原理、技术架构以及分析系统的主要原则都已确定, 数据仓库 初具雏形。 1991年Bill Inmon(比尔·恩门)出版了他的第一本关于 数据仓库 的书《Building the Data Warehouse》,标志着 数据仓库 概念的确立。书中指出, 数据仓库 (Data Warehouse)是一. 1什么是 数据仓库 数据仓库 ,英文名称为Data Warehouse,可简写为DW或DWH。 数据仓库 ,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 2 数据仓库 能干什么? 1)年度销售目标的指定,需要根据以往的历史报表进行决策,不能拍脑袋。 2)如何优化业务流程 例如:一个电商网站订单的完成包括:浏览、下单、支付、物流,其中物流环节可能和中通、申...
一, 数据仓库 与数据集市 可以简单理解为 数据仓库 是面向整个企业,而数据集市是面向某个部门的。 数据集市的数据来自 数据仓库 ,当然,如果没有 数据仓库 ,数据集市的数据也可以直接取自业务数据库。 二, 数据仓库 分层 数据仓库 分层并没有严格规定,是一种经验的积累和行之有效的 数据仓库 方案。 数据仓库 分层的好处: 化繁为简,把复杂的任务分解为多个较容易的任务 减少重复工作,重用中间层 隔离原始数据,原始数据是不可再生数据,要原样保存,以便可以在必要时重复计算 三,关系模型三范式 三范式是关系型数据库设计时要考虑的三条