当前位置: 首页 > news >正文

详解数据仓库和数据集市:ODS、DW、DWD、DWM、DWS、ADS

详解数据仓库和数据集市

  • 一、数据来源层ODS
  • 二、数据仓库层DW
    • 1、数据明细层DWD
    • 2、数据中间层DWM
    • 3、数据汇总层DWS
  • 三、数据应用层ADS

Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,它是一整套包括了etl、调度、建模在内的完整的理论体系。
数据仓库的方案建设的目的,是为前端查询和分析作为基础,主要应用于OLAP(on-line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。目前行业比较流行的有:AWS Redshift,Greenplum,Hive等。

这是一张典型的数据仓库架构图。按自下而上的顺序,分别为数据仓库ETL(Extract-Transform-Load)层、ODS(Operational Data Store)层、CDM(Common Dimensional Model)层和ADS(Application Data Store)层。其中CDM层主要包括DWD层(Data Warehouse Detail)和DWS层(Data Warehouse Summary)两部分。
在这里插入图片描述
每个公司的业务都可以根据自己的业务需求分层不同的层次;目前比较成熟的数据分层:数据运营层ODS、数据仓库层DW、数据服务层ADS(APP)。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

一、数据来源层ODS

  数据来源层:Operation Data Store 数据准备区,也称为数据运营层、操作源数据层。数据源中的数据,经过抽取、洗净、传输,也就是ETL过程之后进入本层。该层的主要功能:

  • ODS是后面数据仓库层的准备区
  • 为DWD层提供原始数据
  • 减少对业务系统的影响

  在源数据装入这一层时,要进行诸如去噪(例如有一条数据中人的年龄是 300 岁,这种属于异常数据,就需要提前做一些处理)、去重(例如在个人资料表中,同一 ID 却有两条重复数据,在接入的时候需要做一步去重)、字段命名规范等一系列操作。
  但是为了考虑后续可能需要追溯数据问题,因此对于这一层就不建议做过多的数据清洗工作,原封不动地接入原始数据也可以,根据业务具体分层的需求来做。这层的数据是后续数据仓库加工数据的来源。
  数据仓库ODS层也称为操作数据源层,是数据仓库中的一个核心组成部分。该层主要用于保存原始数据,完成数据积存,通常反映了企业业务系统中的最新操作,同时也是进行数据仓库的基础。
  数据仓库ODS层通常采用可靠的数据仓库ETL工具为数据仓库提供数据,以此使源数据和数据仓库之间保持同步。同时,数据仓库ODS层的数据被保存在磁盘中,直接体现了数据仓库的一个特性——非易失性,即在停机或崩溃的情况下,数据不会丢失。

二、数据仓库层DW

  数据仓库层(Data Warehouse,DW)从上到下,又可以分为3个层:数据细节层DWD、数据中间层DWM、数据服务层DWS。

1、数据明细层DWD

  数据明细层:data warehouse details,DWD(数据清洗/DWI)。
  DWD层指数据明细层,通常接收数据仓库ODS层的原始数据,并进行清洗、标准化、维度退化、异常数据剔除等操作,进行统一处理,为数据分析提供支持。DWD层一般按照业务主题建模,包含多个维度和事实表,维度表可以用来描述业务数据的特征,而事实表则包含了关键数据指标(如销量、价格等)。
  该层是业务层和数据仓库的隔离层,保持和ODS层一样的数据颗粒度;主要是对ODS数据层做一些数据的清洗和规范化的操作,比如去除空数据、脏数据、离群值等。
  为了提高数据明细层的易用性,该层通常会才采用一些维度退化方法,将维度退化至事实表中,减少事实表和维表的关联。

2、数据中间层DWM

  数据中间层:Data Warehouse Middle,DWM。
  该层是在DWD层的数据基础上,对数据做一些轻微的聚合操作,生成一些列的中间结果表,提升公共指标的复用性,减少重复加工的工作。
  简答来说,对通用的核心维度进行聚合操作,算出相应的统计指标。

3、数据汇总层DWS

  数据汇总层:Data Warehouse Service,DWS(宽表-用户行为,轻度聚合),也称为数据服务层。
  DWS层指数据汇总层,其主要作用是通过聚合和汇总,将DWD层中的数据按照主题进行汇总,形成宽表,进而提升数据分析性能。DWS层通常包含多个宽表,每个宽表都是由多个事实表和维度表经过聚合和分组运算生成的。DWS层中的宽表可以满足特定主题和不同维度的分析需求,减少了对其他表的操作,提升数据分析性能。
  该层是基于DWM上的基础数据,整合汇总成分析某一个主题域的数据服务层,一般是宽表,用于提供后续的业务查询,OLAP分析,数据分发等。
  一般来说,该层的数据表会相对较少;一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表。

  • 用户行为,轻度聚合对DWD。
  • 主要对ODS/DWD层数据做一些轻度的汇总。
    在这里插入图片描述

三、数据应用层ADS

  数据应用层:Application Data Service,ADS(APP/DAL/DF)-出报表结果。
  该层主要是提供给数据产品和数据分析使用的数据,一般会存放在ES、Redis、PostgreSql等系统中供线上系统使用;也可能存放在hive或者Druid中,供数据分析和数据挖掘使用,比如常用的数据报表就是存在这里的。

  ADS层也称为数据应用层,其主要功能是保存结果数据,为外部系统提供查询接口,基于数据仓库的数据为企业提供增值应用,并将数据仓库的数据应用于企业决策、报表、分析、控制等领域。ADS层通常采用OLAP(Online Analytical Processing)技术,用于快速访问和查询数据。
  ADS层一般包括多个宽表,用于支持与企业应用有关的查询、分析、报告、控制、决策等操作。这些宽表一般可以通过BI工具或自定义应用程序查询和访问,以满足企业的各种数据需求。为了提高访问和查询速度,ADS层通常使用数据索引、缓存和预聚合等技术。
  有时为了更好地管理和维护数据仓库,可以将ADS层从数据仓库中独立出去,成为一个独立的数据集市层(Data Mart)。数据集市层专门为某一特定业务需求而建立,可以基于某一个特定的主题或者某个业务领域建模,以满足该领域的数据分析和查询需求。
在这里插入图片描述


文章转载自:

http://N869nTfG.sqqpb.cn
http://75khTOse.sqqpb.cn
http://nbWr5g7F.sqqpb.cn
http://HaexMuh9.sqqpb.cn
http://u0a9tBMb.sqqpb.cn
http://lRvcQDu2.sqqpb.cn
http://6ITW93wG.sqqpb.cn
http://K1gN1ugq.sqqpb.cn
http://5uMKV41r.sqqpb.cn
http://qyT5SWNL.sqqpb.cn
http://ZrwKLgQP.sqqpb.cn
http://jkpwZszi.sqqpb.cn
http://JtxfQwUK.sqqpb.cn
http://KO1MutFr.sqqpb.cn
http://5nDwg6ww.sqqpb.cn
http://VRiYirUZ.sqqpb.cn
http://bViA63vN.sqqpb.cn
http://THyp8NBO.sqqpb.cn
http://SM3ax3kc.sqqpb.cn
http://LFsBVhCO.sqqpb.cn
http://bz6SzetZ.sqqpb.cn
http://uNOOCmvu.sqqpb.cn
http://cOC6JlFr.sqqpb.cn
http://0eihHppz.sqqpb.cn
http://o8KCghDI.sqqpb.cn
http://rTnrtJCw.sqqpb.cn
http://FRVZO4PT.sqqpb.cn
http://yWdDmgee.sqqpb.cn
http://Mwoza7gw.sqqpb.cn
http://ekIGbPci.sqqpb.cn
http://www.dtcms.com/a/382572.html

相关文章:

  • C++ `std::unique_lock` 深度解析:掌控并发资源的智能管家
  • 人员主数据的系统集成
  • C++(静态函数)
  • SonarQube代码质量管理平台本地化搭建和使用
  • Redis 线上问题排查完整手册
  • 异常数据处理全攻略:原理、方法与Python实战
  • Python 进阶:从基础到实战的核心技能提升
  • Scikit-learn:从零开始构建你的第一个机器学习模型
  • 如何快速获取全机硬件详细参数?
  • 嵌入式ARM架构学习7——时钟、定时器
  • 【C++练习】17.C++求两个整数的最大公约数(GCD)
  • SQL-字符串函数、数值函数、日期函数
  • Redis内存回收:过期策略与淘汰策略
  • 【css学习笔记9】品优购项目
  • 动态规划解决网格路径问题
  • 金融科技:企业和机构银行
  • C++ 异常
  • One-hot encoding|独热编码
  • AI论文速读 | VisionTS++:基于持续预训练视觉主干网络的跨模态时间序列基础模型
  • 如何学习VBA_3.3.9:利用“搭积木”思想,快速有效地完成你的代码
  • 《使用深度学习统一时间相位展开框架》论文总结
  • Windows下使用PerfMon进行性能监控并记录日志
  • 微信小程序开发教程(十二)
  • 【攻防实战】记一次攻防实战全流程
  • 【编号520】全国4500多个地震灾害点位数据(2021.2-2025.8)
  • 牛客网习题题解(持续更新中...)
  • 2025.8.20--python基础温习
  • PCIE地址空间介绍
  • (三)BLE协议栈协议分层架构设计详解--图文结合通俗易懂
  • 主板硬件研发基础--DP/DP++