美文网首页
数据分层

数据分层

作者: ClothoSnow | 来源:发表于2021-01-09 15:25 被阅读0次

传统的数据仓库一般分为4层模型:STG、ODS、DW、DM。
STG层主要是面向批处理的形式,如果是根据日志信息实时同步,可以跳过STG层直接进入ODS层。
所以一般都说是3层模型:数据运营层( ODS )、数据仓库层(DW)和数据应用层(APP)。
一、数据运营层:ODS(Operational Data Store)
“面向主题的”数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的 ETL 之后,装入本层。本层的数据,总体上大多是按照源头业务系统的分类方式而分类的。

一般来讲,为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据即可,至于数据的去噪、去重、异常值处理等过程可以放在后面的DWD层来做。

二、数据仓库层:DW(Data Warehouse)
数据仓库层是我们在做数据仓库时要核心设计的一层,在这里,从 ODS 层中获得的数据按照主题建立各种数据模型。DW层又细分为 DWD(Data Warehouse Detail)层、DWM(Data WareHouse Middle)层和DWS(Data WareHouse Servce)层。

1. 数据明细层:DWD(Data Warehouse Detail)

该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。

另外,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性,后文会举例说明。

2. 数据中间层:DWM(Data WareHouse Middle)

该层会在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提升公共指标的复用性,减少重复加工。

直观来讲,就是对通用的核心维度进行聚合操作,算出相应的统计指标。

3. 数据服务层:DWS(Data WareHouse Servce)

又称数据集市或宽表。按照业务划分,如流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

一般来讲,该层的数据表会相对比较少,一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表。

在实际计算中,如果直接从DWD或者ODS计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在DWM层先计算出多个小的中间表,然后再拼接成一张DWS的宽表。由于宽和窄的界限不易界定,也可以去掉DWM这一层,只留DWS层,将所有的数据在放在DWS亦可。

三、数据应用层:APP(Application)
在这里,主要是提供给数据产品和数据分析使用的数据,一般会存放在 ES、PostgreSql、Redis等系统中供线上系统使用,也可能会存在 Hive 或者 Druid 中供数据分析和数据挖掘使用。比如我们经常说的报表数据,一般就放在这里。

四、维表层(Dimension)
最后补充一个维表层,维表层主要包含两部分数据:

高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。

低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

至此,我们讲完了数据分层设计中每一层的含义,这里做一个总结便于理解,如下图。

image

参考:
https://www.cnblogs.com/itboys/p/10592871.html

相关文章

  • DataTalk:ODS层的数据需要做数据清洗吗?

    0x00 前言 本篇的主题是数据分层中的ODS的作用,关于数据分层可以参考本篇博客:如何优雅地设计数据分层。 下面...

  • 数据分层

    为什么要做数据分层 尽量用20%的表满足80%的需求!!! 清晰数据结构 减少重复开发 统一数据口径 复杂问题简单...

  • 数据分层

    传统的数据仓库一般分为4层模型:STG、ODS、DW、DM。STG层主要是面向批处理的形式,如果是根据日志信息实时...

  • 数据仓库系列10- 数据仓库规范

    一. 数据模型架构原则 1.1 数据仓库分层 分层的好处: 清晰数据结构; 数据血缘追踪; 减少重复开发; 数据关...

  • Tableau数据分层、数据分组、数据集

    Tableau 数据分层、数据分组、数据集 数据分层 钻取 数据分析中我们比较常用的是分析方式就是钻取,钻取可以改...

  • 数仓实战01:数仓分层

    1.为什么分层 1.1 数仓分层: 1.2 为什么分层 2.数据集市和数据仓库概念 3.数仓命名规范 3.1 表命...

  • 用户行为数仓搭建

    # 数仓分层概念 1.数仓分层 ods 存放原始数据 dwd 数据清洗 dws 数据汇总 ads 为统计报表提供数...

  • MySQL左右值无限分类预排序遍历树算法

    引言 大多数用户都曾在数据库中处理过分层数据(hierarchical data),认为分层数据的管理不是关系数据...

  • 数据仓库设计

    数据仓库--事实表 数据仓库--事实表和维度表 DW数据仓库分层模型设计 如何优雅地设计数据分层 ODS DW D...

  • 第五章 实时技术之流式数据模型

    实时建模与离线建模类似,也需要对数据进行建模,进行数据分层处理 数据分层: 1)ODS层:与离线系统类似,操作数据...

网友评论

      本文标题:数据分层

      本文链接:https://www.haomeiwen.com/subject/cuccaktx.html