首页 > 其他分享 >数据仓库分层解析

数据仓库分层解析

时间:2024-10-26 21:18:05浏览次数:5  
标签:DWS Data 数据仓库 分层 DWD 解析 数据

目录

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

二、数据仓库怎么分层

1、ODS(Operational Data Store):数据源层

2、DW(Data Warehouse): 数据仓库层

2.1、DWD(Data Warehouse Detail):数据明细层

2.2、DWM(Data WareHouse Midddle):数据中间层

2.3、DWS(Data WareHouse Service):数据服务层

3、ADS(Application Data Service):数据应用层

4、其它

4.1、DIM(Dimension): 维表层

4.2、DM(Data Mart):数据集市层

三、数据建仓基本流程

四、不同产品分层案例

1、阿里Dataphin(智能数据建设与治理)

2、帆软FineDataLink(一站式数据集成平台) 

3、电信天翼云DataWings(大数据管理平台)

 4、从奥软件(ETL数据集成套件

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

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

一个好的分层架构,要有以下好处:

1 清晰数据结构 :

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

2 数据血缘追踪:

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

3 减少重复开发:

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

4 复杂问题简单化:

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

5、屏蔽原始数据的影响

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

数据仓库分层用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据;不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。
通过数据分层管理可以简化数据清洗的过程,把一个复杂的工作拆成了多个简单的工作,把一个大的黑盒变成了一个白盒,每一层的处理逻辑都相对简单和容易理解,这样比较容易保证每一个步骤的正确性,当数据发生错误的时候,往往我们只需要溯源并局部调整某个步骤即可。

二、数据仓库怎么分层

1、ODS(Operational Data Store):数据源层

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

定义:ODS 是操作型系统的一个副本,用于存储从生产系统中抽取的原始数据,通常是实时或接近实时更新的。
功能:ODS 层存储了数据的初始状态,保留了操作型系统中的数据结构和详细内容,主要用于支持操作型系统的实时查询和处理需求。
特点:数据更新频繁,保留了数据的操作历史,适合需要快速响应和高频查询的应用场景。

 ODS 层的数据主要来自于组织内部的业务应用系统,如企业资源计划(ERP)、客户关系管理(CRM)、销售、采购、库存管理系统等。这些系统产生的数据通常是实时、操作性的,包含了组织的日常业务活动的详细信息,ODS 层通常会集成来自多个业务应用系统的数据,以提供一个全面的、整合的数据视图。这有助于消除数据孤岛,确保业务数据的一致性和完整性

2、DW(Data Warehouse): 数据仓库层

数据仓库层是数据仓库核心层,在这里把从 ODS 层中获得的数据按照主题建立各种数据模型。该层又依次细分为DWD、DWM、DWS

2.1、DWD(Data Warehouse Detail):数据明细层

该层一般保持和 ODS 层一样的数据粒度,并且提供一定的数据质量保证。DWD层要做的就是将数据清理、整合、规范化,把脏数据、垃圾数据、规范不一致的、状态定义不一致的、命名不规范的数据处理掉。
同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,减少事实表和维表的关联。
另外,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性 。

  • 定义:DWD 是数据仓库的主要存储层,用于存放经过清洗、整合、加工后的详细数据。
  • 功能:DWD 层主要完成了数据的清洗、去重、数据格式转换等工作,确保数据质量和一致性,并且保留了数据的详细信息。
  • 特点:支持数据的历史追溯,提供了基础数据的单一版本,适合进行数据挖掘、分析和报表等操作。

在DWD层,数据经过了更加深入的清洗、转换和加工处理,以满足业务需求和分析目的。这包括数据清洗、数据整合、数据转换、数据计算、数据标准化等操作,以确保数据的质量、一致性和可用性。DWD 层通常采用关系型数据库(如Oracle、SQL Server、MySQL等)或者大数据存储系统(如Hadoop、Spark等)来存储数据。与ODS层相比,DWD 层的数据存储结构更为规范和固定,通常采用规范化的数据模型来支持复杂的查询和分析

2.2、DWM(Data WareHouse Midddle):数据中间层

该层会在 DWD 层的数据基础上,数据做轻度聚合,生成一系列的中间表, 提升公共指标的复用性,减少重复加工。
直观来讲,就是对通用的核心维度进行聚合操作,算出相应的统计指标。
在实际计算中,如果直接从 DWD 或者 ODS 计算出宽表的统计指标,会存在计算量太大并且维度太少的问题,因此一般的做法是,在 DWM 层先计算出多个小的中间表,然后再拼接成一张 DWS 的宽表。由于宽和窄的界限不易界定,也可以去掉 DWM 这一层,只留 DWS 层,将所有的数据再放在DWS也可。

2.3、DWS(Data WareHouse Service):数据服务层

DWS 层为公共汇总层,会进行轻度汇总粒度比明细数据稍粗,基于 DWD 层上的基础数据,整合汇总成分析某一个主题域的服务数据。
DWS 层应覆 盖 80% 的应用场景。又称数据集市或宽表。 按照业务划分,如主题域流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP 分析,数据分发等。
一般来讲,该层的数据表会相对比较少,一张表会涵盖比较多的业务内容,由于其字段较多,因此一般也会称该层的表为宽表

  • 定义:DWS 是在DWD层的基础上进行聚合、汇总和计算的存储层
  • 功能:DWS 层对数据进行了聚合、汇总和预计算,以提高数据查询的效率和性能,并且支持复杂的分析和查询操作。
  • 特点:数据存储结构更优化,通常包括了数据的历史汇总和聚合信息,适合于需要复杂分析和报表的应用场景。

DWS 通常是指数据仓库的存储层,它是整个数据仓库系统的核心组成部分。DWS 层存储了经过清洗、转换和整合的数据,以支持各种数据分析、报表和决策需求。DWS层产生我们常讲的“大宽表”,DWS 层通常采用专门的数据存储系统或者数据库管理系统(DBMS)来存储数据,例如关系型数据库(如Oracle、SQL Server、MySQL等)、大数据存储系统(如Hadoop、Spark等)、云数据仓库(如AWS Redshift、Google BigQuery、Azure Synapse Analytics等)等。存储在 DWS 层的数据结构通常是规范化或者半规范化的,以支持复杂的数据分析和查询。

3、ADS(Application Data Service):数据应用层

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

  • 定义:ADS 是数据仓库的最上层,为业务系统和应用提供服务接口和数据访问服务。
  • 功能:ADS 层通过接口和服务提供数据访问和数据服务,将数据仓库的数据集成到业务应用中,为业务决策和应用提供支持。
  • 特点:面向业务应用和最终用户,提供了数据的访问接口和服务,支持业务应用的快速开发和部署。

ADS 层通常位于数据仓库架构的顶层,用于支持高级数据分析、数据挖掘和机器学习等高级分析任务的一个重要组成部分。它包含了经过进一步加工和转换的数据,以支持更复杂和更深入的数据分析和洞察, ADS 层通常采用专门的数据存储系统或者数据库管理系统(DBMS)来存储数据,例如关系型数据库(如Oracle、SQL Server、MySQL等)、大数据存储系统(如Hadoop、Spark等)、云数据仓库(如AWS Redshift、Google BigQuery、Azure Synapse Analytics等)等。存储在 ADS 层的数据通常是高度规范化或者半规范化的,以支持复杂的数据分析和挖掘任务。存储在 ADS 层的数据通常会被用于生成各种类型的数据可视化和报告,以帮助用户直观地理解和解释数据分析的结果。这包括仪表板、报表、图表、图形等,为用户提供一个直观、易于理解的数据展示平台。

4、其它

4.1、DIM(Dimension): 维表层

如果维表过多,也可针对维表设计单独一层,维表层主要包含两部分数据:

  • 高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。
  • 低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。 数据量可能是个位数或者几千几万
  • 定义:DIM 是建立在DWD或DWS层之上的维度建模层。
  • 功能:DIM 层主要用于提供与业务相关的维度模型,包括事实表和维度表,用于支持多维分析(OLAP)和数据挖掘操作。
  • 特点:数据以维度为核心进行组织,支持复杂的多维分析和数据挖掘,适合决策支持系统和业务智能应用。

4.2、DM(Data Mart):数据集市层

基于DW的基础数据,整合汇总成一个个数据集市,数据集市通常是面向部门的某个主题域的报表数据。比如用户留存表、用户活跃表、商品销量表、商品营收表等等。

三、数据建仓基本流程

参考:如何确定数仓构建的目标与需求_智能数据建设与治理 Dataphin(Dataphin)-阿里云帮助中心

四、不同产品分层案例

1、阿里Dataphin(智能数据建设与治理)

资料地址:如何进行技术架构选型_智能数据建设与治理 Dataphin(Dataphin)-阿里云帮助中心什么是数仓分层,各层有哪些用途_智能数据建设与治理 Dataphin(Dataphin)-阿里云帮助中心

2、帆软FineDataLink(一站式数据集成平台) 

资料地址:ETL/ELT|数据融合|数据清洗-FineDataLink数据集成平台

3、电信天翼云DataWings(大数据管理平台)

资料地址: 

大数据管理平台 DataWings-天翼云
数仓分层-大数据管理平台 DataWings-用户指南-数据建模-数仓规划 - 天翼云

 4、从奥软件(ETL数据集成套件)

资料地址:上海数据仓库建设_数据中心建设_主数据元数据管理_数仓建设公司-从奥软件(上海)有限公司

标签:DWS,Data,数据仓库,分层,DWD,解析,数据
From: https://blog.csdn.net/taogumo/article/details/143259879

相关文章

  • 易仓与金蝶云星空的数据无缝对接方案解析
    易仓数据集成到金蝶云星空:R入库单(组装)-其他入库单20230620在企业信息化管理中,数据的高效流转和准确对接至关重要。本文将分享一个具体的系统对接集成案例,即如何将易仓的数据集成到金蝶云星空平台,方案名称为“R入库单(组装)-其他入库单20230620”。本次集成任务主要涉及两个关键API......
  • 深入解析 OceanBase 数据库中的局部索引和全局索引
    深入解析OceanBase数据库中的局部索引和全局索引引言在分布式数据库中,索引的设计对于优化查询性能至关重要。OceanBase作为一款高性能的分布式关系数据库,支持局部索引和全局索引两种索引类型。理解这两种索引的特点和适用场景,对于数据库开发人员提高系统性能、减少维护......
  • CSP-J 2024第二轮试题解析
    2024年10月26日,CSP-J/S2024第二轮认证圆满结束;这次入门组的比赛重点考察了模拟和动态规划算法,还涉及到字符串、贪心、前缀和等内容的考察,相比去年来说,对思维能力的考察更多。前两题比去年好做,第三题的部分分也比较好拿,但是第四题的难度明显比去年高,预计分数线会出现小幅提升。......
  • V2X技术全面解析:智能交通的未来之路
    一、引言V2X(VehicletoEverything)技术是智能网联汽车领域的核心技术之一,它使车辆能够与周围的一切事物进行信息交互。随着自动驾驶技术的快速发展,V2X正在成为构建智能交通系统的关键支柱,为实现更安全、更高效的道路交通环境提供了技术基础。二、V2X技术架构详解1.V2V(Ve......
  • 【Vue 3】全面解析Composition API的实战技巧
    ......
  • 【大数据】基于大数据技术的数据湖+数据仓库方案
    欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏:⭐️全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.⭐️AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。⭐️大数据平台建设指南:全面讲解从数据采集到......
  • Go Zero 用户服务代码结构解析与深度使用指南
    目录GoZero用户服务代码结构解析与深度使用指南一、代码结构解析(一)整体结构概述(二)各部分详细解析(三)user.go文件二、GoZero使用指南(一).api文件和.proto文件的生成(二)服务开发流程在当今快速发展的软件开发领域,选择合适的框架来构建高效、可靠的服务至关重要。Go......
  • 《向量数据库指南》深度解析:GraphRAG如何精准应对不同类型的查询
    查询GraphRAG有两种不同的查询工作流程,针对不同类型的查询进行了优化:全局搜索:通过利用Community摘要,对涉及整个数据语料库的整体性问题进行推理。本地搜索:通过扩展到特定Entity的邻居和相关概念,对特定Entity进行推理。这个全局搜索工作流程包括以下几个阶段:(......
  • XLSX.js解析Excel中的日期格式数据遇到的问题
    使用xlsx.js读取Excel中的日期有两种方式:XLSX.read(file,{type:'binary'})XLSX.read(file,{type:'binary',cellDates:true})通过第一种方式读取日期,解析结果是Excel中保存的数字(Excel会将日期保存为数字。例如,将2020/09/30由日期格式改成文本格式时,会得到一个44104......
  • XLSX.js解析Excel中的数据,<input type='file' />控件中
    在页面中添加一个:<inputtype="file"class="txt"style="width:300px;height:25px;line-height:25px;color:#000000;"id="file01"/>在页面中添加javascript代码:document.getElementById("file01").addEventLis......