离线数仓的核心构建

2022-08-31  本文已影响0人  CoderInsight

1,了解什么是数仓?以及数仓的特点是什么?

这两个问题放在一起去聊了,因为一般面我们在理解一个工具出现的时候,本身就是要知道他是什么,特点是什么,以及它有什么用?从而根据工具自身的特点用在一些特殊的场景中。

2,数仓架构的设计方案

当然这里只是业界的一种解决方案,主要是讲明白基础的架构设计点,即便是有其他的变动也不会太大。


数仓架构的参考设计方案(网图,如侵权请联系我立刻删除)

(1),数据建模

维度建模

1),架构设计

一般会有两种常见的架构设计方法,为了方便记忆,就直接用架构01和架构02来表示,一般中小公司或者业务模式没有那么固定的时候,通常都会采用第二种方式进行构建,即从各种指标到各种数据的采集。
架构01:Inmon 自上而下的架构

Inmon适合开发进度慢,对设计科学性和规范性高的企业,在业务模式较为固定的行业引用比较好,比如金融和电信行业。

架构02:Kimball 自下而上的架构

Kimball模式适合快速迭代,实施成本低,能够快速交付任务。这种模式更适合互联网的高速发展,也适合中下型企业。

2),维度建模的三种模型

维度模型的选择会根据业务常见的简单与否进行选择,同时建立数据仓库在构建的时候就会去冗余存储,故对星型模型会更加友好;而雪花模型会存在很多的join操作,所以对于常见的关系型数据库中存储又会比较合适。

三范式建模

实体建模

在数据系统中,将数据抽象为“实体”、“属性”、“关系”来表示数据关联和事务描述,这种数据的抽象建模通常被称之为实体关系模型。

(2),数据分层

ODS-贴源层

存放原始数据,直接加载原始全量数据,保持数据的原貌不做处理;一般是保留7天的分区

DW-中间层

主要是的事实表、维表、公共指标汇总表等集合。

APP-数据展示层

主要是数据的展示层,存放数据产品个性化的指标数据,比如供应于各种报表、多维查询、数据挖掘等等。

(3),指标建设

指标建设的特点

指标建设的目标

为了更好的发现用户的问题,并且去解决。

指标建设的方法

1),指标的分级
2),OSM模型

数仓指标建设.xmind

详细的思维导图待公布~

(4),指标分类的案例

1),游戏数仓为例

2),数字人才云数仓为例

3),用户画像示例

(5),元数据管理

1),定义

元数据,主要是记录数据仓库中模型的定义、各层级之间的映射关系、监控数据仓库的数据状态以及 ETL人的任务运行状态。

2),元数据类型:

3),元数据功能

4),元数据应用

5)如何实现元数据管理

(6),数仓的缓慢变化维

缓慢变化维就是数仓维度表中,那些随时间变化比较不明显,但是仍然会发生变化的维度。

1),案例

2),解决方案

核心的解决方案是,保留事实的历史环境,并插入新的维度行,可以使用“拉链表”。

什么是拉链表?
拉链表的使用场景?

主要是解决数仓中一些缓慢变化维的数据,需要保存历史各个版本。

拉链表的实现过程?
拉链表案例(网图,如侵权请联系我立刻删除)

图片说明

上一篇 下一篇

猜你喜欢

热点阅读