数据仓库分层解析
https://i-blog.csdnimg.cn/direct/94b7a72477d14c25b2fa42d47452eece.png目录
一、数据仓库为什么要分层
二、数据仓库怎么分层
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、屏蔽原始数据的影响
数据仓库对接的源体系众多,且每个源体系的表命名、字段命名、字段含义等各有不同,通过数据仓库的分层设计,从底层来规范和屏蔽全部这些复杂性,保证卑鄙数据用户利用数据的便捷和规范。假如源体系发生变更,只需要再相应的数据仓库层来处理,对卑鄙用户透明无感。
数据仓库分层用空间换时间,通过大量的预处理来提拔应用体系的用户体验(效率),因此数据仓库会存在大量冗余的数据;不分层的话,假如源业务体系的业务规则发生变革将会影响整个数据洗濯过程,工作量巨大。
通过数据分层管理可以简化数据洗濯的过程,把一个复杂的工作拆成了多个简朴的工作,把一个大的黑盒酿成了一个白盒,每一层的处理逻辑都相对简朴和容易明确,如许比较容易保证每一个步骤的正确性,当数据发生错误的时候,每每我们只需要溯源并局部调解某个步骤即可。
二、数据仓库怎么分层
https://i-blog.csdnimg.cn/direct/788011002dd74b159d4555e3d9dfbece.png
https://i-blog.csdnimg.cn/direct/d3f7d5bb95374d6f81e798b6ace3836e.png
https://i-blog.csdnimg.cn/direct/6990c1602dd04745b83af4ae62861a79.png
1、ODS(Operational Data Store):数据源层
ODS 层是最靠近数据源的一层,又叫贴源层,思量后续可能需要追溯数据问题, 因此对于这一层就不发起做过多的数据洗濯工作,原封不动地接入原始数据即可, 至于数据去噪、去重、异常值处理等过程可以放在背面的 DWD 层来做!
定义:ODS 是操作型体系的一个副本,用于存储从生产体系中抽取的原始数据,通常是及时或靠近及时更新的。
功能:ODS 层存储了数据的初始状态,保留了操作型体系中的数据布局和详细内容,主要用于支持操作型体系的及时查询和处理需求。
特点:数据更新频繁,保留了数据的操作汗青,适合需要快速响应和高频查询的应用场景。
https://i-blog.csdnimg.cn/direct/5e94719622b04b1196614ffd69646832.png
ODS 层的数据主要来自于构造内部的业务应用体系,如企业资源计划(ERP)、客户关系管理(CRM)、贩卖、采购、库存管理体系等。这些体系产生的数据通常是及时、操作性的,包含了构造的一样平常业务活动的详细信息,ODS 层通常会集成来自多个业务应用体系的数据,以提供一个全面的、整合的数据视图。这有助于消除数据孤岛,确保业务数据的同等性和完整性
2、DW(Data Warehouse): 数据仓库层
数据仓库层是数据仓库焦点层,在这里把从 ODS 层中得到的数据按照主题建立各种数据模型。该层又依次细分为DWD、DWM、DWS
2.1、DWD(Data Warehouse Detail):数据明细层
该层一样平常保持和 ODS 层一样的数据粒度,并且提供一定的数据质量保证。DWD层要做的就是将数据清理、整合、规范化,把脏数据、垃圾数据、规范不同等的、状态定义不同等的、命名不规范的数据处理掉。
同时,为了进步数据明细层的易用性,该层会采用一些维度退化手法,将维度退化至事实表中,淘汰事实表和维表的关联。
另外,在该层也会做一部分的数据聚合,将相同主题的数据汇集到一张表中,进步数据的可用性 。
[*]定义:DWD 是数据仓库的主要存储层,用于存放颠末洗濯、整合、加工后的详细数据。
[*]功能:DWD 层主要完成了数据的洗濯、去重、数据格式转换等工作,确保数据质量和同等性,并且保留了数据的详细信息。
[*]特点:支持数据的汗青追溯,提供了底子数据的单一版本,适合举行数据挖掘、分析和报表等操作。
https://i-blog.csdnimg.cn/direct/246fa342881f45908cf7748c6b36cbee.png
在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 层通过接口和服务提供数据访问和数据服务,将数据仓库的数据集成到业务应用中,为业务决策和应用提供支持。
[*]特点:面向业务应用和最终用户,提供了数据的访问接口和服务,支持业务应用的快速开辟和部署。
https://i-blog.csdnimg.cn/direct/0c72b834526e40ee8fad013d70226022.png
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)和数据挖掘操作。
[*]特点:数据以维度为焦点举行构造,支持复杂的多维分析和数据挖掘,适合决策支持体系和业务智能应用。
https://i-blog.csdnimg.cn/direct/71a4a1a1acf5407e808b3b54872ff00c.png
4.2、DM(Data Mart):数据集市层
基于DW的底子数据,整合汇总成一个个数据集市,数据集市通常是面向部分的某个主题域的报表数据。好比用户留存表、用户活跃表、商品销量表、商品营收表等等。
三、数据建仓基本流程
https://i-blog.csdnimg.cn/direct/f58f3a52f2104a6db07fb6ea8a0311a0.png
参考:如何确定数仓构建的目标与需求_智能数据建立与治理 Dataphin(Dataphin)-阿里云帮助中心
四、不同产物分层案例
1、阿里Dataphin(智能数据建立与治理)
https://i-blog.csdnimg.cn/direct/ff84794c57444b12a64860ad7a062e7f.png
资料地点:如何举行技能架构选型_智能数据建立与治理 Dataphin(Dataphin)-阿里云帮助中心什么是数仓分层,各层有哪些用途_智能数据建立与治理 Dataphin(Dataphin)-阿里云帮助中心
2、帆软FineDataLink(一站式数据集成平台)
https://i-blog.csdnimg.cn/direct/9d3035016b7a44bc881f4edc267b5794.png
资料地点:ETL/ELT|数据融合|数据洗濯-FineDataLink数据集成平台
3、电信天翼云DataWings(大数据管理平台)
https://i-blog.csdnimg.cn/direct/36982ba24c414c70963ad2fbbd6d0a69.png
资料地点:
大数据管理平台 DataWings-天翼云
数仓分层-大数据管理平台 DataWings-用户指南-数据建模-数仓规划 - 天翼云
4、从奥软件(ETL数据集成套件)
https://i-blog.csdnimg.cn/direct/84b06292b25d4f5587892f8300472274.png
https://i-blog.csdnimg.cn/direct/e2c6dd9b5c364597b5436348f8e80a4a.png
资料地点:上海数据仓库建立_数据中心建立_主数据元数据管理_数仓建立公司-从奥软件(上海)有限公司
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]