时间:2022-11-14 12:30:02 | 来源:信息时代
时间:2022-11-14 12:30:02 来源:信息时代
数据仓库建模 : 数据仓库模型的设计过程。通过规范化、形式化的框架来表现数据,用以支持高性能数据查询。目前,两类主流的数据仓库建模方法包括: Inmon提出的基于关系模型的建模方法和Kimball提出的基于多维模型的建模方法。
1.基于关系模型的建模方法
由于关系模型自身具有良好的可扩展性、灵活性、可维护性、非冗余性等特点,以及现有主流数据仓库管理系统产品仍然采用关系数据模型的现实,Inmon提出了基于关系模型及其规范化理论的数据仓库建模方法。
基于关系模型的建模方法,将数据仓库数据模型分为三个层次:高层模型(称为实体联系图,entity relationship diagram,ERD)、中层模型(称为数据项集,data item set,DIS)和底层模型(称为物理模型)。
高层模型刻画实体和联系的特征,用ERD表示,主要描述系统边界、确定主题域及其内容,以及主题域之间的联系。在ERD中实体(主题域)位于最高抽象层。确定主题域是否属于模型的范围是由集成范围来决定的。集成范围定义了数据模型的边界,需要在建模之前进行定义。这个范围由系统的建模者、管理人员和最终用户共同决定。整个企业的ERD由反映企业内不同人员观点的多个子ERD合成,企业内不同群体分别建立各自独立的高层模型,在此基础上,共同组成整个企业的ERD。
中层模型是在高层模型的基础上建立的,对高层模型中标识的每个主题域(实体),都要建立一个中层模型。按照数据的稳定性和功能的不同,中层模型可划分为四个分组: 基本数据组、二级数据组、类型数据组和连接数据组。每个分组均包含该主题域的主关键字。每个主题域有且仅有一个基本数据组,基本数据组包含主题域中基本保持不变的属性,如对“客户”主题域而言,基本数据组包含客户号、客户姓名、客户性别、出生年月等。二级数据组包含主题域内相对稳定的属性,例如客户住址、客户电话、文化程度等。二级数据组内的属性可能发生变化,但其变化的频率相对较低。类型数据组包含主题域内经常频繁发生变化的属性,例如,客户交易记录等。连接数据组用以表示该主题域与其他主题域之间的数据联系,如“客户”主题域中包含其与“账户”主题域联系的数据组,用以说明“客户”主题域与“账户”主题域存在着多对多的联系。
物理模型是通过扩展中间层模型的物理特性创建而来的。物理I/O是影响数据仓库性能的主要因素。为了减少I/O,首先根据数据量大小和数据粒度层次的设计,合理规划数据的物理存储体系,确定是否采用多级存储,其次确定数据分区策略。在此基础上,按照性能的要求,在物理模型中加入数据索引策略、合并数据、拆分数据、导出数据、建立冗余等。
2.基于多维模型的建模方法
多维数据模型以多维方式来组织数据,其数据结构包括维和事实,维是观察数据的特定角度,事实通常代表一个业务度量值。由于多维数据模型具有简洁性、表达能力强的特点,同时在实施上具有见效快的优势,Kimball提出了基于多维模型的建模方法。基于多维模型的建模方法主要包括四个步骤:
(1)选取业务处理过程:在对业务需求和可用数据理解的基础上确定建模所涉及的业务处理的内容。
(2)定义业务处理所涉及的事实的粒度:对事实表示的实际内容所需的详细程度给出明确的说明。
(3)确定每个事实相关的维: 定义维及维层次。
(4)确定事实相关的数值型度量及其聚集函数。多维数据结构的表示方法常见的有数据立方体(data cube)和星型模式(star schema)两种。数据立方体通常采用多维数组的存储方式来反映多维视图。星型模式是基于关系模式来展示复杂的多维结构,它将多维结构划分为两类表,一类是事实表,用以存放事实的度量和各个维的码键: 另一类是维表,利用一张或者多张表来存放每一维的维层次结构和维属性。用ERD表示时,相关维表以事实表为中心,分布在其周围。星型模式是在关系模式的基础上,通过维表和事实表之间的连接来表达多维数据。雪花模式(snowflake schema)是星型模式的扩充,用以表示包含复杂维表结构和复杂事实表结构的情形。