ClickHouse学习笔记十三之‌数据仓库分层:ODS,DM,DWD,DWS,ADS

ClickHouse学习笔记十三之‌数据仓库分层:ODS,DM,DWD,DWS,ADS一 数据仓库为什么要分层数据仓库分层是一种组织和管理数据仓库的结构化方法 它将数据仓库划分为不同的层次或级别 每个层次具有特定的功能和目的 这种分层方法有助于管理数据仓库中的数据流程 数据处理和数据访问 并提供一种清晰的结构来支持数据管理和

欢迎大家来到IT世界,在知识的湖畔探索吧!

一、数据仓库为什么要分层

数据仓库分层是一种组织和管理数据仓库的结构化方法,它将数据仓库划分为不同的层次或级别,每个层次具有特定的功能和目的。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问,并提供一种清晰的结构来支持数据管理和分析需求。一个好的分层架构,要有以下好处:

1、清晰数据结构 :

数仓每一层都有对应的作用,方便在使用时更好的定位与了解。

2、数据血缘追踪:

清晰知道表或任务上下游,方便排查问题,知道下游哪个模块在使用,提升开发效率以及后期管理维护。

3、减少重复开发:

提高数据复用性,完善好数据仓库的中间层,减少后期不必要的开发,从而减少资源消耗,保障口径、数据统一。

4、复杂问题简单化:

将复杂问题拆解成多个步骤来完成,每一层处理单一步骤,当数据问题出现时,只需从问题出现处开始修复。

5、屏蔽原始数据的影响

数据仓库对接的源系统众多,且每个源系统的表命名、字段命名、字段含义等各有不同,通过数据仓库的分层设计,从底层来规范和屏蔽所有这些复杂性,保证下游数据用户使用数据的便捷和规范。如果源系统发生变更,只需要再相应的数据仓库层来处理,对下游用户透明无感。

数据仓库分层用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。

通过数据分层管理可以简化数据清洗的过程,把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要溯源并局部调整某个步骤即可。

二、数据仓库怎么分层

ClickHouse学习笔记十三之‌数据仓库分层:ODS,DM,DWD,DWS,ADS



欢迎大家来到IT世界,在知识的湖畔探索吧!

2.1 ODS是什么?

  • ODS层最好理解,基本上就是数据从源表拉过来,进行etl,比如mysql 映射到hive,那么到了hive里面就是ods层。
  • ODS 全称是 Operational Data Store,操作数据存储.“面向主题的”,数据运营层,也叫ODS层,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的 ETL 之后,装入本层。本层的数据,总体上大多是按照源头业务系统的分类方式而分类的。但是,这一层面的数据却不等同于原始数据。在源数据装入这一层时,要进行诸如去噪(例如有一条数据中人的年龄是 300 岁,这种属于异常数据,就需要提前做一些处理)、去重(例如在个人资料表中,同一 ID 却有两条重复数据,在接入的时候需要做一步去重)、字段命名规范等一系列操作。

2.2 数据仓库层DW?

数据仓库层(DW),是数据仓库的主体.在这里,从 ODS 层中获得的数据按照主题建立各种数据模型。这一层和维度建模会有比较深的联系。

细分:

  1. 数据明细层:DWD(Data Warehouse Detail)
  2. 数据中间层:DWM(Data WareHouse Middle)
  3. 数据服务层:DWS(Data WareHouse Service)

2.2.1 DWD明细层?

明细层(ODS, Operational Data Store,DWD: data warehouse detail)

  • 概念:是数据仓库的细节数据层,是对STAGE层数据进行沉淀,减少了抽取的复杂性,同时ODS/DWD的信息模型组织主要遵循企业业务事务处理的形式,将各个专业数据进行集中,明细层跟stage层的粒度一致,属于分析的公共资源
  • 数据生成方式:部分数据直接来自kafka,部分数据为接口层数据与历史数据合成。
  • 这个stage层不是很清晰

2.2.2 DWM 轻度汇总层(MID或DWB, data warehouse basis)

  • 概念:轻度汇总层数据仓库中DWD层和DM层之间的一个过渡层次,是对DWD层的生产数据进行轻度综合和汇总统计(可以把复杂的清洗,处理包含,如根据PV日志生成的会话数据)。轻度综合层与DWD的主要区别在于二者的应用领域不同,DWD的数据来源于生产型系统,并未满意一些不可预见的需求而进行沉淀;轻度综合层则面向分析型应用进行细粒度的统计和沉淀
  • 数据生成方式:由明细层按照一定的业务需求生成轻度汇总表。明细层需要复杂清洗的数据和需要MR处理的数据也经过处理后接入到轻度汇总层。
  • 日志存储方式:内表,parquet文件格式。
  • 日志删除方式:长久存储。
  • 表schema:一般按天创建分区,没有时间概念的按具体业务选择分区字段。
  • 库与表命名。库名:dwb,表名:初步考虑格式为:dwb日期业务表名,待定。
  • 旧数据更新方式:直接覆盖

2.2.3 DWS主题层(DM,data market或DWS, data warehouse service)

  • 概念:又称数据集市或宽表。按照业务划分,如流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。
  • 数据生成方式:由轻度汇总层和明细层数据计算生成。
  • 日志存储方式:使用impala内表,parquet文件格式。
  • 日志删除方式:长久存储。
  • 表schema:一般按天创建分区,没有时间概念的按具体业务选择分区字段。
  • 库与表命名。库名:dm,表名:初步考虑格式为:dm日期业务表名,待定。
  • 旧数据更新方式:直接覆盖

2.3 ADS层(Application Data Service)

数据应用层,其主要功能是保存结果数据,为外部系统提供查询接口,基于数据仓库的数据为企业提供增值应用,并将数据仓库的数据应用于企业决策、报表、分析、控制等领域。数据仓库ADS层通常采用OLAP(Online Analytical Processing)技术,用于快速访问和查询数据。数据仓库ADS层一般包括多个宽表,这些宽表一般可以通过BI工具或自定义应用程序查询和访问,以满足企业的各种数据需求,为了提高访问和查询速度,ADS层通常使用数据索引、缓存和预聚合等技术。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/133382.html

(0)
上一篇 23分钟前
下一篇 2025年 6月 4日 上午7:30

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信