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

数仓各层级设计总结

一、ODS

1.1 ods层的定义以及职责

ODS 全称为 Operational Data Store,是操作型数据存储层。它直接从源系统抽取数据,几乎不做任何加工,保留了数据的原始格式和内容。

主要职责:

  • 实现业务系统数据到数据仓库的同步,为后续的数据处理和分析提供数据来源。确保数据仓库中的数据与业务系统中的数据保持同步更新。

  • 保留了数据的原始状态,方便进行数据追溯和审计。当出现数据问题或需要审查数据的变更历史时,可以通过 ODS 层快速定位问题源头和数据的变化轨迹。

  • 将数据抽取到 ODS 层后,可以减少业务系统的查询压力,提高业务系统的性能。业务系统可以专注于业务处理,而数据查询和分析任务则由数据仓库来承担。

1.2 数据增量同步、全量同步的选择依据?

主要根据大小来判断,对于一些不大的表,可以选择全量同步,对于大表,可以选择增量同步。

1.3 数据漂移怎么解决?

见《数据采集与同步》

1.4 数据质量怎么保障?

  1. 全量表必须配置唯一性字段标识;

  2. 对分区空数据进行监控;

  3. 对枚举类型字段,进行枚举值变化和分布监控;

  4. ods表数据量级和记录数做环比监控;

  5. ods全表都必须要有注释;

二、DWD

2.1 DWD层在数仓体系中的定位和作用

  1. 定位

    • 承上启下:DWD 层处于数据仓库 ods-dwd-dws-ads 架构的中间位置,承接来自 ODS 层(操作数据层的原始数据,经过处理后为上层的 DWS 层(数据服务层)和 ADS 层(数据应用层)提供高质量的数据原料。
    • 隔离业务与数据仓库:是业务层和数据仓库的隔离层,保持和 ODS 层一样的数据粒度,使数据仓库的后续处理与业务系统的原始数据相对隔离,减少业务系统变化对数据仓库的直接影响。
  2. 作用:

    • 数据清洗与规范:对ODS 层数据进行清洗和规范化操作,去除空数据、脏数据、离群值等,提高数据质量。
    • 数据整合统一:将来自不同源系统、格式和语义各异的数据进行整合和统一,按照业务逻辑梳理和组织,转化为以业务过程为核心的明细事实表。
    • 保留业务细节:遵循明细粒度事实层的设计理念,以业务过程为驱动构建事实表,确保每一行数据代表一个不可再分的业务原子事件,能完整保留业务细节,为深入分析业务提供基础。
    • 提高查询性能:依据企业的数据使用场景和分析需求,对重要的维度属性进行适当冗余形成宽表结构,减少数据关联的复杂性,提高数据查询和分析的效率,使数据分析人员能更便捷地获取所需数据。
    • 支持多维分析:为 OLAP 工具、报表生成、数据挖掘、实时分析等提供基础数据支持。可以从多个维度对数据进行分析,满足不同的业务需求。

2.2 与ODS层相比,DWD层的数据有什么特点?

  1. 数据处理深度

    • ODS 层:数据基本保持从源系统获取时的原始状态,仅可能进行简单的清洗,如去除明显的乱码等,主要是为了实现数据的快速接入和暂存。
    • DWD 层:对 ODS 层数据进行了全面的抽取、清洗、转换等处理。除了清理脏数据、空值等,还会进行数据格式统一、编码转换、数据标准化等操作,并且可能根据业务规则对数据进行衍生计算。
  2. 数据一致性

    • ODS 层:由于数据来自不同的源系统,各系统之间的数据标准和规范不同,所以数据一致性较差,可能存在同一数据在不同系统中表述不一致、数据关联关系不清晰等问题。
    • DWD 层:通过数据整合和处理,会对数据进行统一的规范和约束,消除了部分数据不一致的问题,使数据在一定程度上具有更好的一致性,便于后续的分析和应用。
  3. 数据应用方向

    • ODS 层:主要用于满足源系统数据的临时存储需求,为业务系统的实时查询和监控提供支持,一般不直接用于复杂的数据分析。
    • DWD 层:为上层的数据服务层(DWS层)和数据应用层(ADS层)提供高质量的明细数据基础,是进行多维分析、报表生成、数据挖掘、机器学习等数据处理和分析操作的重要数据来源。
  4. 数据存储与管理

    • ODS 层:通常数据存储时间较短,主要是为了满足实时或短期的业务需求,对数据的存储格式和管理要求相对较低,一般以简单的文件或原始数据库表形式存储。
    • DWD 层:数据存储时间较长,通常为几个月到几年,以便为长期的数据分析和挖掘提供数据支持。在存储方面,通常会采用分布式数据仓库或关系型数据库等,并会进行数据分区、索引等优化操作,以提高数据的存储和查询效率。
  5. 数据模型与结构

    • ODS 层:数据模型通常与源系统的数据模型保持一致,以保留源数据的完整性和原始结构,一般不会对数据模型进行大规模的调整和优化。
    • DWD 层:会根据业务需求和数据分析的要求,对数据进行建模,通常采用星型模型或雪花模型等维度建模方法,将数据组织成更适合分析的结构,可能会对维度进行退化处理,将常用的维度属性冗余到事实表中,以减少查询时的表关联操作。
http://www.dtcms.com/a/438549.html

相关文章:

  • 8.设计模式-两阶段终止(优雅停机)
  • 那里网站建设好广东建设信息网三类人
  • 网站建设百度小程序手机版网站怎么做
  • 上海机械网站建设工程网站开发
  • 网站功能说明怎么做为什么我的网站备案通过还是显示未备案
  • 校园门户网站系统建设白帽seo公司
  • nodejs中http模块搭建web服务器
  • 电子书管理与阅读平台BookHeaven
  • 网站建设有哪些分类做网站图片大小不合适怎么调
  • 【LeetCode - 每日1题】接雨水问题1
  • 太原cms建站先做网站还是先申请域名
  • 京东网站设计代码做淘宝客可以有高佣金的网站
  • wdcp创建网站网站建设如何增加二级页面
  • 阿联酋网站后缀星空无限传媒免费观看电视剧
  • 网站建设营销策划方案二次元动漫网站设计方案
  • 专做母婴食品的网站学网站建设要什么
  • Python基础入门例程90-NP90 修正错误的字母
  • 【C++】使用红黑树封装map和set
  • Java 高并发多线程 “基础”面试清单(含超通俗生活案例与深度理解)
  • 什么网站可以做兼职销售群晖可以做网站服务器吗
  • 【LaTeX】 8 LaTeX 表格制作
  • 日常踩雷系列-vscode无法输入中文
  • 巩义网站建设指标点历史文化街区和历史建筑信息平台
  • 打工人日报#20251003
  • Java学习之旅第一季-27:输入与输出
  • 地方网站域名选择嘉伟网络智能建站
  • Leetcode 3695. Maximize Alternating Sum Using Swaps
  • 模型瘦身四剑客:剪枝、量化、低秩分解、知识蒸馏详解
  • php 校园网站设计如何做网站流程图
  • 如何高效下载 YouTube 视频?实用工具推荐