加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

数据仓库平台和服务建设实践

发布时间:2020-11-15 13:49:58 所属栏目:动态 来源:互联网
导读:业务层数据建模的目标是输出主题的数据星型模型,根据不同的主题和分析场景,选取相关的业务过程,使用合理的建模手段进行数据建模,主要流程包括:确认主题、选取业务过程、确认粒度、确认维度、确认统计指标,最终输出星型模型。 ▇根据具体的分析需求确认

业务层数据建模的目标是输出主题的数据星型模型,根据不同的主题和分析场景,选取相关的业务过程,使用合理的建模手段进行数据建模,主要流程包括:确认主题、选取业务过程、确认粒度、确认维度、确认统计指标,最终输出星型模型。

▇  根据具体的分析需求确认主题。

▇  确认需要分析的业务以及业务过程。

▇  确认统一数仓模型,系统自动推荐相关的模型,选择满足条件的模型,并在此基础上进行后续建模工作。

▇  确认粒度,相同粒度模型可以进行指标的合并。

▇  确认维度,选取后续需要下钻分析的维度,选取过程是在业务过程的范围内进行,不能超出维度能够关联的范围。

▇  确认统计指标,选取业务过程相关的度量(原子指标元数据)派生的统计指标。

▇  构建星型模型。

物理建模流程与之前所述相同,不再重复介绍。

下图是数据建模阶段产出的星型模型实例,在模型图中,将关联的业务信息和数据逻辑进行清晰的表达,辅助后续数据开发工作
 

统一数仓建模是业务层建模的基础,需要涵盖尽可能多的业务过程和维度,包括业务建模、数据建模和物理建模三个阶段。

业务建模是基于业务已有信息,结合建模同学对业务的理解,对业务进行梳理,此时不会面向具体的分析细节,确认范围主要是业务域、业务过程和实体之间的关系,输出业务总线矩阵。业务建模的目的是为了对业务需求进行分解,转化为数据理解,包括的具体流程有:划分业务域、确认业务过程、设计事件事实,确认相关实体、关联事件、构建业务总线矩阵。

▇  业务域划分,业务域是业务过程的集合,是对业务各个环节的粗粒度划分,将相关的业务过程聚集到一个业务域下,例如播放域。

▇  确认业务过程,业务过程是业务中的原子行为,不能再进行拆解,我们需要在业务建模过程中,确认有哪些业务过程,并明确业务过程所属的业务域,一个业务过程只能属于一个业务域。

▇  设计事件事实。

▇  确认相关实体,从较粗的粒度确认一个业务过程涉及到的实体范围,防止遗漏分析角度,同时为关联事件实体提供联接节点。

▇  关联事件事实,统一数仓建模需要将已有的事件事实字段都涵盖到,并通过实体进行更多维度的关联。

▇  构建业务总线矩阵,横纵坐标分别为描述事实本身的业务域、业务过程,以及描述事实环境的维度和实体。

数据建模阶段主要是为了将业务总线矩阵进行细化,完成业务关系到数据关系逻辑转换,并补充相关的维度,输出星型(雪花)模型。
 

在介绍数据建模流程之前,先讲下一致性维度和指标体系的建设。目前数仓建设主要基于维度建模理论,所以一致性维度是底层的基石。在数据仓平台中,我们把维度分为三种类型,分别是普通维度、枚举维度和虚拟维度。

普通维度,最常见的维度类型,通常有一张对应的维表存在,每个维度都由一个主键和多个维度属性组成,如用户维度,内容维度等;枚举维度,是普通维度的一种特例,也称为字典维度,列举以及标准化枚举值以表示维度对象,以Key-Value的形式存在,例如:是否XX,0代表否,1代表是;虚拟维度没有具体业务实体承载、没有可固化数据范围逻辑定义的维度对象,例如随机数、会话ID等。

创建维度时,需要补充一些标签属性,例如维度的英文名、中文名、描述、通用性,它所属的实体(例如:时间、空间、应用等),其中通过“通用性“把维度分为业务维度和通用维度:如果某个维度只能被一个业务使用,定为业务维度,也就是说它的适用范围只能在某一个业务下,其他业务不可用;会被两个及以上的业务使用,定义为通用维度。实际上,两种类型会随着时间而产生变化,一个维度在开始阶段只被一个业务使用,但随着业务的发展,后期会被多个业务使用,当业务维度升级成通用维度时,构建业务维度的通用维度镜像。

一个维度会包含若干维度属性,每个维度属性包含英文名、中文名、数据类型、说明等,同时需要定义维度属性最终在物理表中的字段名称,以此来实现数仓范围内的同名同义和全局唯一性。

关于维度建设理论,这里不再详细展开,有兴趣的同学可以网上搜索相关文章和书籍进行了解和学习。

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!