【大数据之路】数据模型篇 《一》 大数据领域建模综述 【搬运小结】

文章目录

  • 数据模型篇 《一》 大数据领域建模综述
    • 1.为什么需要数据建模
    • 2.关系数据库系统和数据仓库
    • 3.从OLTP和OLAP系统的区别看模型方法论的选择
    • 4.典型的数据仓库建模方法论
      • 4.1 ER模型
      • 4.2 维度模型
    • 5.阿里巴巴数据模型实践综述

数据模型篇 《一》 大数据领域建模综述

1.为什么需要数据建模

数据爆发式增长,我们需要将数据进行有序、有结构地分类组织和存储。
数据模型就是数据组织和存储方法,它强调从业务、数据存取和使
用角度合理存储数据。

有了适合业务和基础数据存储环境的模型,那么大数据就能获得以下好处。

好处 好处
性能 良好的数据模型能帮助我们快速查询所需要的数据,减少数据的1旭吞吐。
成本 良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果复用, 极大地降低大数据系统中的存储和计算成本。
效率 良好的数据模型能极大地改善用户使用数据的体验,提高使用数据的效率。
质量 良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性

2.关系数据库系统和数据仓库

随着一大批大型关系数据库商业软件(如Oracle、Informix、DB2等)的兴起,现代企业信息系统几乎都使用关系数据库来存储、加工和处理数据。数据仓库系统也不例外。

NOSQL技术也曾流行一时,但是不管是Hadoop、spark还是阿里巴巴集团的MaxCompute系统,仍然在大规模使用SQL进行数据的加工和处理,仍然在用Table存储数据,仍然在使用关系理论描述数据之间的关系,只是在大数据领域,基于其数据存取的特点在关系数据模型的范式上有了不同的选择而已。

3.从OLTP和OLAP系统的区别看模型方法论的选择

OLTP系统通常面向的主要数据操作是随机读写,主要采用满足 3NF的实体关系模型存储数据,从而在事务处理中解决数据的冗余和一致性问题;

OLAP系统面向的主要数据操作是批量读写,事务处理中的一致性不是OLAP所关注的,其主要关注数据一的整合,以及在一次性的复杂大数据查询和处理中的性能,因此它需要采用一些不同的数据建模方法。

4.典型的数据仓库建模方法论

4.1 ER模型

数据仓库之父Bi旧nmon提出的建模方法是从全企业的高度设计一个3NF模型,用实体关系(Entity Relationship, ®模型描述企业业务,在范式理论上符合3NF数据仓库中的3NF与OLTP系统中的3NF 的区别在于,它是站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系的抽象。
其具有以下几个特点:
1.需要全面了解企业业务和数据。
2.实施周期非常长。
3.对建模人员的能力要求非常高。
4.采用ER模型建设数据仓库模型的出发点是整合数据,将各个系统中的数据以整个企业角度按主题进行相似性组合和合并,并进行一致性处理,为数据分析决策服务,但是并不能直接用于分析决策。

其建模步骤分为三个阶段:

1.高层模型:一个高度抽象的模型,描述主要的主题以及主题间的关系,用于描述企业的业务总体概况。
2.中层模型:在高层模型的基础上,细化主题的数据项。
3.物理模型(也叫底层模型):在中层模型的基础上,考虑物理存储,同时基于性能和平台特点进行物理属性的设计,也可能做一些表的合并、分区的设计等。

ER模型在实践中最典型的代表是Teradata公司基于金融业务发布的FS-LDM (Financial Services Logical Data Model),它通过对金融业务的高度抽象和总结,将金融业务划分为10大主题,并以设计面向金融仓库模型的核心为基础,企业基于此模型做适当调整和扩展就能快速落地实施。

4.2 维度模型

维度模型是数据仓库领域的Ralph Kimball大师所倡导的,
他的
The DataWarehouse Toolkit-The Complete Guide to Dimensona Modeling
是数据仓库工程领域最流行的数据仓库建模的经典。

维度建模分析决策的需求出发构建模型,为分析需求服务,因此它重点关注用户如何更快速地完成需求分析,同时具有较好的大规模复杂查询的响应性能。其典型的代表是星形模型,以及在一些特殊场景下使用的雪花模型。 其设计分为以下几个步骤。
1.选择需要进行分析决策的 。业务过程可以是单个业务事件,比如交易的支付、退款等;也可以是某个事件的状态,比如当前的账户余额等;还可以是一系列相关业务事件组成的业务流程,具体需要看我们分析的是某些事件发生情况,还是当前状太 或是事件流转效率。
2.选择粒度。我们要预判所有分析需要细分的程度,从而决定选择的粒度。粒度是维度的一个组合
3.识别维表。择好粒度之后,就需要基于此粒度设计维表,包括维度属性,用于分析时进行分组和筛选。
4.选择事实。确定分析需要衡量的指标。

5.阿里巴巴数据模型实践综述

阿里巴巴的数据仓库模型建设经历了多个发展阶段。

第一个阶段:完全应用驱动的时代,阿里巴巴的第一代数据仓库系统构建在Oracle上,数据完全以满足报表需求为目的,将数据以与源结构相同的方式同步到Oracle(称作ODS层),数据工程师基于ODS数据进行统计,基本没有系统化的模型方法体系,完全基于对Oracle 数据库特性的利用进行数据存储和加工,部分采用一些维度建模缓慢变化维方式进行历史数据处理。这时候的数据架构只有两层,即 ODS+DSS。

第二个阶段:数据量也在飞速增长,性能成为一个较大的问题,因此引入了当时MPP架构体系的 Greenplu。
希望消除冗余,提升数据一致性
尝试流行的ER 模型+维度模型方式,构建出一个四层的模型架构,即ODL(操作数据层)+BDL(基础数据层)+IDL(接口数据层)+ADL (应用数据层)。
快速变化的业务,人员的变动,业务知识功底的不够全面,导致ER模型设计迟迟不能产出。构建ER模型的风险非常大,不太适合去构建ER模型。

第三个阶段:迎来了以Hadoop为代表的分布式存储计算平台的快速发展,自主研发的分布式计算平台MaxCompute,选择了以Kimball的维度建模为核心理念的模型方法论,构建了阿里巴巴集团的公共层模型数据架构体系。

你可能感兴趣的:(大数据,数据仓库,数据库)