新闻资讯

数据仓库模型设计与工具

数据模型对于数仓是最核心的东西,数据模型是数据组织和存储方法,模型的好坏,决定了数仓能支撑企业业务多久。为什么大多数企业,数仓都要重建,这不仅仅是业务拓展、发展迅速,很大一部分是因为模型建的很烂。


一、基本概念

维度建模,是数据仓库大师Ralph Kimball提出的,是数据仓库工程领域最流行的数仓建模经典。


维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。


它是面向分析的,为了提高查询性能可以增加数据冗余,反规范化的设计技术。


1.1事实表

事实表产生于业务过程,存储了业务活动或事件提炼出来的性能度量。从最低的粒度级别来看,事实表行对应一个度量事件。


事实表根据粒度的角色划分不同,可分为事务事实表、周期快照事实表、累积快照事实表。


(1)事务事实表,用于承载事务数据,通常粒度比较低,它是面向事务的,其粒度是每一行对应一个事务,它是最细粒度的事实表,例如产品交易事务事实、ATM交易事务事实。


(2)周期快照事实表,按照一定的时间周期间隔(每天,每月)来捕捉业务活动的执行情况,一旦装入事实表就不会再去更新,它是事务事实表的补充。用来记录有规律的、固定时间间隔的业务累计数据,通常粒度比较高,例如账户月平均余额事实表。


(3)累积快照事实表,用来记录具有时间跨度的业务处理过程的整个过程的信息,每个生命周期一行,通常这类事实表比较少见。


注意:这里需要值得注意的是,在事实表的设计时,一定要注意一个事实表只能有一个粒度,不能将不同粒度的事实建立在同一张事实表中。


1.2维度表

维度表,一致性维度,业务过程的发生或分析角度,我们主要关注下退化维度和缓慢变化维。


(1)退化维度(DegenerateDimension)


在维度类型中,有一种重要的维度称作为退化维度,亦维度退化一说。这种维度指的是直接把一些简单的维度放在事实表中。退化维度是维度建模领域中的一个非常重要的概念,它对理解维度建模有着非常重要的作用,退化维度一般在分析中可以用来做分组使用。


(2)缓慢变化维(Slowly Changing Dimensions)


维度的属性并不是始终不变的,它会随着时间的流逝发生缓慢的变化,这种随时间发生变化的维度我们一般称之为缓慢变化维(SCD)。


SCD常用的三种处理方式:


① TYPE1 直接覆盖原值

数据模型.jpg


② TYPE2 增加维度行


     在为维度成员增加新行时,需为其分配新的主代理键。并且,至少需要在维度行再增加三列:有效日期、截止日期、行标识。这个地方可联想拉链表设计。

数据模型.jpg

③ TYPE3 增加属性列 

数据模型.jpg

④ 混合方式


可根据实际业务场景,混合或选择使用以上三种方式,以快速方便而又准确的分析历史变化情况。


1.3粒度


用于确定某一事实表中的行表示什么,是业务最小活动单元或不同维度组合,即业务细节程度。


1.4维度建模流程


维度建模步骤:选择业务过程->声明粒度->确定维度->确定事实。旨在重点解决数据粒度、维度设计和事实表设计问题。

数据模型.jpg


声明粒度,为业务最小活动单元或不同维度组合。以共同粒度从多个组织业务过程合并度量的事实表称为合并事实表,需要注意的是,来自多个业务过程的事实合并到合并事实表时,它们必须具有同样等级的粒度。

 


二、建模方法--经典数据仓库模型

数据仓库建模方法论可分为:维度建模、范式建模、Data Vault模型、Anchor模型。

数据模型.jpg


2.1维度模型


企业中最流行、也是最经典的数仓建模经典,数据仓库大师Ralph Kimball的经典著作《数据仓库工具箱 维度建模权威指南 第三版》一本书进行了论述。从事数据仓库/ETL/BI的同学,强烈建议买一本至少读一遍。


按数据组织类型划分可分为星型模型、雪花模型、星座模型。


(1)星型模型


星型模型主要是维表和事实表,以事实表为中心,所有维度直接关联在事实表上,呈星型分布。

数据模型.jpg


图来源于Kimball《The Data Warehouse Toolkits -3rd Edition》


(2)雪花模型


雪花模型,在星型模型的基础上,维度表上又关联了其他维度表。这种模型维护成本高,性能方面也较差,所以一般不建议使用。尤其是基于hadoop体系构建数仓,减少join就是减少shuffle,性能差距会很大。


(3)星座模型


星座模型,是对星型模型的扩展延伸,多张事实表共享维度表。数仓模型建设后期,大部分维度建模都是星座模型。


2.2范式模型即实体关系(ER)模型,数据仓库之父Immon提出的,从全企业的高度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF。此建模方法,对建模人员的能力要求非常高。

 


2.3Data Vault模型


DataVault由Hub(关键核心业务实体)、Link(关系)、Satellite(实体属性) 三部分组成 ,是Dan Linstedt发起创建的一种模型方法论,它是在ER关系模型上的衍生,同时设计的出发点也是为了实现数据的整合,并非为数据决策分析直接使用。


2.4Anchor模型

高度可扩展的模型,所有的扩展只是添加而不是修改,因此它将模型规范到6NF,基本变成了K-V结构模型。企业很少使用,本文不多做介绍。



三、建模工具

Datablau DDM是新一代数据模型管理工具,由ERwin数据建模研发骨干开发团队荣誉出品。传统建模工具主要面向设计,而DDM创新的融合了数据治理理念,把数据治理推进到开发流程中,进行开发态的源头治理,解决了标准落地的难题。从根本上控制企业增量的数据质量问题。目前已经在多家银行、基金、保险、能源、政府、制造业等使用。


三范式模型在建模工具中的展示

数据模型.jpg


维度模型在建模工具中的展示

数据模型.jpg


DataVault模型在建模工具中的展示

数据模型.jpg

结语:


对于数仓而言,模型就是命脉,好与坏直接决定企业数据存储、处理和应用。


对于维度建模,真正理解了粒度和一致性维度,也就理解了维度建模的魂。


对于建模工具,没有最好只有更好,适合业务的就是最好的。


Datablau Data Modeler简介


DDM(Datablau Data Modeler)是国内首创的专业建模工具,是数据治理体系的重要组成部分。数据模型是“所有系统、文档和流程中包含的所有数据的语境。是生数据的知识。”换句话说,如果没有数据模型,组织IT系统中收集和存储的所有数据都会失去意义,也就没有业务价值。



Datablau简介


北京数语科技有限公司(以下简称“数语科技”)成立于2016年,是专注于数据治理领域的国内自主知识产权的专业软件产品提供商,主要业务是数据治理软件产品的研发与销售。数语科技的创始团队全部来自CA erwin,天然具有世界级水准的软件产品开发能力。


创始人兼CEO王琤:曾任职erwin全球研发总监,拥有超过十年以上数据建模和数据管理的从业经验。


CTO朱金宝:曾任职erwin首席架构师,先后服务多家全球知名企业,并曾全程参与中国建设银行数据治理项目,目前全面负责Datablau软件平台的研发工作和关键项目的实施工作。


数语科技根据DAMA理论和中国国情独立研发Datablau新一代数据治理平台,平台由Datablau DDM数据建模产品和Datablau DAM数据资产管理平台两大部分组成,全部拥有软件著作权和知识产权,一站式全面满足中国企业的数据治理需求。其中数据建模产品DDM是Datablau填补国内空白的重量级产品,帮助中国客户摆脱国外产品的垄断现状。2018年,Datablau数据治理平台通过了中国信息通信研究院严格苛刻的产品评测并获得的“最佳大数据产品”奖。


更多渠道了解我们

官网:www.datablau.cn

关注我们,及时了解数据治理干货

数语科技.jpg

推荐阅读 查看更多