数据仓库模型
数据仓库模型
层次
数据仓库模型是数据模型中针对特定的数据仓库应用系统的一种特定的数据模型,一般来说,数据仓库模型分为以下几个层次,需经历一般四个过程:
业务建模:生成业务模型,主要解决业务层面的分解和程序化
领域建模:生成领域模型,主要对业务模型进行抽象处理,生成领域概念模型
逻辑建模:生成逻辑模型,主要将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化
物理建模:生成物理模型,主要解决逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。
发展
2.1 简单的报表阶段:在该阶段,系统的主要目标是解决一些日常的工作中业务人员需要的报表,生成一些简单的能够帮助领导进行决策所需要的汇总数据。表现形式为数据库和前端报表工具
2.2 数据集市阶段:根据业务部门的需要,进行一定的数据采集和整理,按照业务人员的需要,进行多维报表的展现,提供对特定业务指导的数据帮助领导进行决策
2.3 数据仓库阶段:按照数据模型,对整个企业的数据进行采集、整理,按照各个业务部门的需要,提供跨部门的,完全一致的业务包边数据,能够通过数据仓库生成对业务数据具有指导性的数据,同时为领导决策提供全面的数据支撑。
建模方法
1.范式建模法
范式模型法是构建数据模型常用的一个方法,该方法主要由Inmon提倡,主要解决关系型数据库的数据存储,利用技术层面上的方法。目前在关系型数据库中的建模方法,大部分采用的是三范式建模法。
范式是数据库逻辑模型设计的基本理论,一个关系模型可以从第一范式到第五但是进行无损分解,这个过程也可称为规范化。在数据仓库的模型设计中目前一般采用第三范式,它有严格的数学定义。从其表达的含义来看,一个符合第三范式的关系必须具有以下三个条件:
1、每个属性值唯一,不具有多义性;
2、每个非主属性必须完全依赖于整个主键,而非主键的一部分;
3、每个非主属性不能依赖于其它关系中的属性,因为这样的话,这种属性应该归到其它关系中去。
范式建模法多应用于业务系统的企业数据模型。企业数据模型分为两个层次,及主题域模型和逻辑模型。和数据仓库的模型稍有不同:
1、数据仓库的域模型的概念应该比业务系统的主题语模型范围更加广
2、数据仓库中的逻辑模型需要从业务系统中的数据模型的逻辑模型中抽象实体,实体的属性,实体的子类以及实体的关系等。
优点
从关系型数据库的角度出发,结合了业务系统的数据模型,能够比较方便的实现数据仓库的建模
缺点
建模方法限制在关系型数据库之上,在某些时候反而限制了整个数据仓库模型的灵活性,性能等。
2.维度建模法
维度建模法,Kimball最先提出。最简单的描述是,按照事实表、维度表来构建数据仓库,数据集市。这种方法最被人广泛知晓的名字就是星型模式(一张事实表产生多张维度表)。
优点
针对各个维度做了大量的预处理,如果按照维度进行预先的统计、分类、排序等。通过这些预处理,能够极大的提升数据仓库的处理能力。
维度建模非常直观,紧紧围绕业务模型,可以直观的反映出业务模型中的业务问题。不需要经过特别的抽象处理,即可以完成维度建模。
缺点
大量的数据预处理工作。当业务发生变化时需要重新进行维度数据的预处理。这些处理过程中往往会导致大量的数据冗余。
只依靠单纯的维度建模,不能保证数据来源的一致性和准确性,在数据仓库底层,不是特别适用于维度建模。
3.实体建模法
来源与哲学流派。我们可以将整个业务划分为一个个的实体,而每个实体之间的关系和针对这些关系的说明就是我们数据建模需要做的工作。
我们可以将任何一个业务过程划分为3个部分,实体,事件和说明
实体,主要指领域模型中特定的概念主体,指发生业务关系的对象
事件,主要指概念主体之间完成一次业务流程的过程,特指特定的业务过程
说明,主要是针对实体和时间的特殊说明
实体说明法只是一种抽象客观世界的方法,因此,注定了该建模方法只能局限在业务建模和领域概念建模阶段。因此,到了逻辑建模阶段和物理建模阶段,则是范式建模和维度建模发挥长处的阶段。