何为大数据建模,我们从3个W(什么、为什么、如何)出发来详解下大数据建模。

一、什么是数据建模(what)

数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。(个人认为,数据建模就是将现实数据关系、类别按照一套完整的方法论有映射到数据仓库里,将数据有序的、结构化存储在数据仓库里面)

二、为什么要进行数据建模(why)

性能:我们可以更快地查询到想要的数据,减少数据的I/O吞吐

成本:减少数据冗余,减低数据存储成本

效率:用户可以快速查询到想要的数据,提高效率

质量:口径变得统一。

三、如何进行数据建模(how)

1.ER建模

将事务抽象为"实体"(Entity)、"属性"(Property)、"关系"(Relationship)来表示数据关联和事物描述。

ER实例:

一个学生可选修多门课,一门课有若干学生选修;
一个教师可讲授多门课,一门课只有一个教师讲授;
一个学生选修一门课,仅有一个成绩。

2.维度建模

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

这么说可能比较抽象,我们可以从三方面来了解维度建模

一、维度建模的基本元素

a.事实表

事实表中的每一行数据都代表一个真实的业务事件,比如下单、支付等

b.维表

对事实的一些描述,比如时间、城市等

场景:现在有负责某华东片区手机销售的业务领导,希望可以看下销售情况。

1.按照城市维度,华东片区下面每个城市的总销售额

2.按照城市+业务员,看华东片区下面的每个城市每个业务员的总销售额

3.按照城市+业务员+时间,对比当月和上月华东片区下面的每个城市每个业务员的总销售额和进行环比。

也就是说 可以通过不同的维度组合来分析事实。

二、维度建模常见模型

a.星座模型

b.雪花模型 

c.星型模型

三、维度建模基本步骤

a.选择业务过程

b.声明粒度

c.确认维度

d.确认事实

更多推荐