四种常见的数据模型

为什么要进行数仓建模?

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

        成本:减少数据冗余、计算结果复用、从而减低存储和计算成本

        效率:改善用户使用数据的体验,提高使用数据的效率

        改善统计口径的不一致性,减少数据计算错误的可能性

 维度模型

        维度建模按数据组织类型划分为星型模型、雪花模型星座模型

        (维度建模四部曲:选择业务处理过程->定义粒度->选择维度->确定事实)

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

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

                      星型模型可以理解为,一个事实表关联多个维度表,雪花模型可以理解为,一个事实表关联多个维度表,维度表再关联维度表。

     星座模型:是对星型模型的扩展延伸,多张事实表共享维度表。星座模型是很多数据库的常态,因为很多数据仓库都是多个事实表的,所以星座模                          型只反映是否有多个事实表,他们之间是否共享一些维度表。

范式模型

        即实体关系(ER模型),从全企业的角度设计一个3NF模型,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF。

        特点:设计思路自上而下,适合上游基础数据存储,同一份数据只存储一份,没有数据冗余,方便解耦,易维护,缺点是开发周期一般比较长,                     维护成本高。

DATA VAULT模型

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

Anchor模型

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

数据模型的评价标准

        业务过程清晰:ODS就是原始信息,不修改;DWD面向基础业务过程;DIM描述维度信息;DWS针对小场景做指标计算;ADS也要分层,面向跨域的建设,和面向应用的建设;

        指标可理解:按照一定业务事务过程进行业务划分,明细层粒度明确、历史数据可获取,汇总层维度和指标同名同义,能客观反映业务不同角度下的量化程度;

        核心模型相对稳定:如果业务过程运行的比较久,过程相对固定,就要尽快下沉到公共层,形成可复用的核心模型;

        高内聚低耦合:各主题内数据模型要业务高内聚,避免在一个模型耦合其他业务的指标,造成该模型主题不清晰和性价比低。

猜你喜欢

转载自blog.csdn.net/GX_0824/article/details/132540075