大数据开发:数仓建模常见数据模型
在数据仓库搭建的过程当中,根据需求合理地选择数据模型,是非常关键的一个环节。对于数仓建模,很多人说不就是建表吗,哪有那么复杂,事实上,这是非常错误的思想。今天的大数据开发分享,我们来聊聊数仓建模常见的几种数据模型。
目前来说,市场上主流的数据建模,主要是四种类型:维度模型、范式模型、Data Vault模型,以及Anchor模型。
1、维度模型
维度模型在互联网行业领域当中,是有着广阔的应用的。维度建模,按数据组织类型,又可以划分为星型模型、雪花模型、星座模型。
①星型模型
星型模型主要是维表和事实表,以事实表为中心,所有维度直接关联在事实表上,呈星型分布。
②雪花模型
雪花模型,在星型模型的基础上,维度表上又关联了其他维度表。这种模型维护成本高,性能方面也较差,所以一般不建议使用。尤其是基于hadoop体系构建数仓,减少join就是减少shuffle,性能差距会很大。
星型模型可以理解为,一个事实表关联多个维度表,雪花模型可以理解为一个事实表关联多个维度表,维度表再关联维度表。
③星座模型
星座模型,是对星型模型的扩展延伸,多张事实表共享维度表。
星座模型是很多数据仓库的常态,因为很多数据仓库都是多个事实表的。所以星座模型只反映是否有多个事实表,他们之间是否共享一些维度表。
2、范式模型
即实体关系(ER)模型,由数据仓库之父Immon提出的,从全企业的高度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF。此建模方法,对建模人员的能力要求非常高。
范式建模的典型特点,是自上而下,适合上游基础数据存储,同一份数据只存储一份,没有数据冗余,方便解耦,易维护,缺点是开发周期一般比较长,维护成本高。
3、Data Vault模型
DataVault由Hub(关键核心业务实体)、Link(关系)、Satellite(实体属性)三部分组成,是Dan Linstedt发起创建的一种模型方法论,它是在ER关系模型上的衍生,同时设计的出发点也是为了实现数据的整合,并非为数据决策分析直接使用。
4、Anchor模型
高度可扩展的模型,所有的扩展只是添加而不是修改,因此它将模型规范到6NF,基本变成了K-V结构模型。目前来说,企业很少使用。
以上几种数据模型,互联网行业常用维度模型,能够快速满足业务需求,而在偏传统的行业,如电信、金融等,则更青睐传统数仓的范式建模。
关于大数据开发,数仓建模常见数据模型,以上就为大家做了简单的介绍了。在大数据平台架构当中,数据仓库为后续的数据处理提供重要的支持,数仓建模的重要性不言而喻。