2019-06-12

大数据领域建模综述

性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据I/O吞吐。

成本:良好的数据模型能极大的减少不必要的数据冗余,也能实现计算结果复用,极大地降低大数据系统中的存储和计算成本。

效率:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。

《数据库系统概念》

OLTP系统通常面向的主要数据操作是随机读写,主要采用满足3NF的实体关系模型存储数据,从而在事务处理中解决数据的冗余和一致性问题;而OLAP系统面向的主要数据操作是批量读写,事务处理中的一致性不是OLAP所关注的,其主要关注数据的整合,以及在一次性的复杂大数据查询和处理中的性能,因此它需要采用一些不同的数据建模方法。

1.ER模型

高层模型:描述主要的主题以及主题间的关系,用于描述企业的业务总体情况。

中层模型:在高层模型的基础上,细化主题的数据项。

物理模型(底层模型):在中层模型的基础上,考虑物理存储,同时基于性能和平台的特点进行物理属性的设计,也可能做一些表的合并、区分的设计等。

2.维度模型

3.DATA VAULT模型

hub:是企业的核心业务主体,由实体key,数据仓库序列代理键,装载时间,数据来源组成。

Link:代表hub之间的关系,这里与ER模型最大的区别是将关系作为一个独立的单元抽象,可以提升模型的扩展性。

satellite:是hub的详细描述内容,一个内容hub可以有多个satellite。

4.Anchor模型

Anchors:类似于Data Vault的HUB,代表业务实体,且只有主键。

Attributes:功能类似于Data Vault的satellite,但是它更加规范化,将其全部K-V结构化,一个表只有一个Anchors的属性描述。

Ties:就是Anchors之间的关系,单独用表来描述,类似于Data Vault的Link,可以提升整体模型关系的扩展能力。

Knots:代表那些可能会在多个Anchors中公用的属性的提炼。

四层模型架构:ODL(操作数据层)+BDL(基础数据层)+IDL(接口数据层)+ADL(应用数据层)

ODL和源系统保持一致;BDL希望引入ER模型,加强数据的整合,构建一致的基础数据模型;IDL基于维度模型方法构建集市层;ADL完成应用的个性化和基于展现需求的数据组装。

你可能感兴趣的:(2019-06-12)