数据堆栈【分层计划】

[复制链接]
发表于 2026-2-13 23:08:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、为什么要举行数仓分层

      
  • 清楚的数据结构:每一个分层都有它的作用域与职责,如许可以或许在我们利用的时间更方便的明白和定位;  
  • 同一输出口径:数仓分层加工数据共享层、指标层,同一了数据的输出口径;  
  • 数据血缘追踪:方便我们更正确快速的定位业务数据标题,并打扫它对应的影响范围,实时反馈给业务,淘汰丧失;  
  • 数据复用,淘汰重复开发:规范的数仓分层,开发一些通用的数仓中心层数据,可以或许极大的淘汰重复盘算,实现结果的复用,淘汰烟囱式的开发模式,极大的低落存储和盘算本钱;  
  • 把复杂的标题简朴化:将一个复杂的业务标题举行分步调拆解,每一层只处置处罚单一的步调,比力简朴也容易明白。如果数据出现标题,我们只必要从有标题的步调开始维护,便于后期数据维护;  
  • 空间调换时间:规范的数仓分层,将数据举行了充实的数据处置处罚,可以或许满足差别粒度的数据查询需求,节省业务查询数据的流程和时间;  
  • 屏蔽原始数据的影响,屏蔽业务的影响:业务体系发生厘革时,不必每次都重新接入数据,通过DW层规范和屏蔽全部的业务复杂性,包管卑鄙数据用户利用数据的便捷和规范,分层计划使得某一层的标题只在该层就得到办理,无需更改下一层的代码和逻辑,进步了数据的稳固性和一连性。
数据堆栈,通过数仓建模更好的构造管理和存储数据,以便在性能、本钱、服从和质量之间取得最好的平衡。
二、数据堆栈(ETL)的四个操纵

ETL(extraction Transformation Loading)负责将分散的、异构数据源中的数据抽取到临时中心层后举行洗濯、转换、集成,末了加载到数据堆栈大概数据集市中。ETL是实验数据堆栈的核心和灵魂。
      
  • 数据抽取(Extraction):包罗初始化数据装在和数据革新。初始化数据装在紧张是怎样创建维表、究竟表,并把相应的数据放到这些表中;以及怎样做到从业务数据库到数仓的定期新增大概更新数据。  
  • 数据洗濯:紧张是针对源数据库中出现的二义性、重复的、不完备、违背业务大概逻辑规则等标题的数据举行同一的处置处罚。洗濯掉不符合业务大概没用的数据。  
  • 数据转换(Transformation):紧张是为了将洗濯后的数据转换成数据堆栈所必要的数据。泉源于差别源体系的同一个字段的数据字典大概数据格式大概不一样,在数据堆栈中必要给他们提供同一的数据字典和格式,对数据内容举行归一化。  
  • 数据加载(Loading):是将末了上面处置处罚完成的数据导入到对应的存储空间里,以便给数据集市提供,进而可视化。
三、数据堆栈的架构体系


      
  • 体系架构:基于Hadoop、Spark、Flink等组件为中央的架构体系   
  • 数据架构:顶层计划,主题域分别,分层计划,ODS-DWD-DWS-ADS  
  • 数据建模:维度建模,选择业务过程-声明粒度-确定维度-确定究竟  
  • 数据管理:数据资产管理,元数据管理、数据质量管理、主数据管理、数据标准订定、数据安全管理  
  • 辅助体系:调理体系、ETL体系、监控监控体系  
  • 数据服务:数据流派、呆板学习数据发掘、数据查询、分析、报表体系、可视化体系
四、数仓分层


      
  • ODS层:Operation Data Store,元数据据层,存放原始数据,直接加载原始日志日志、数据,数据保持原貌不做处置处罚;  
  • DWD层:Datawarehouse Detail,基于维度建模、维度退化,复用关联盘算,淘汰数据shuffle。对ODS层数据举行洗濯(去除空值、脏数据、高出极限范围的数据)、脱敏等,生存业务究竟明细,一行信息代表一次业务活动,比方一次下单。  
  • DWS层:datawarehouse service,以DWD为根本,按天举行轻度汇总。构建定名规范、口径划一的统计指标,为上层提供公共指标,创建汇总宽表。一行信息代表一个主题对象一天的汇总活动,比方一个用户一天下单的次数。  
  • DM层:以DWS层为根本,对数据举行累计汇总。一行信息代表一个主题对象的累计活动,比方用户从注册那天开始一共下来多少次单。  
  • ADS层:Application data Store,以DWS为根本,按主题举行汇总。为各种统计报表提供数据、宽表集市、趋势指标。  
  • DIM层:维度层,生存维度数据,紧张对业务究竟的形貌信息,例怎样时、何地、何人、渠道等。  
五、数仓模子计划的根本原则(衡量数仓优劣)

      
  • 高内聚低耦合:
         
    • 将业务相近大概干系的数据、粒度雷同的数据计划为一个逻辑大概物理模子;   
    • 将高概率同时访问的数据放一起,将低概率同时访问的数据分开存储;   
      
  • 核心模子与扩展模子分离:创建核心模子与扩展模子,核心模子包罗的字段支持常用的核心的业务,扩展模子包罗的字段支持个性化或是少量应用的必要,不能让扩展字段太过侵入核心模子,粉碎了核心模子的架构间接性和可维护性。  
  • 公共处置处罚逻辑下沉:越是底层共用的处置处罚逻辑更应该在数据调理依赖的底层举行封装与实现,不要让公共的处置处罚逻辑袒露给应用层实现,不要让公共逻辑在多出同时存在。  
  • 本钱与性能平衡:恰当的数据冗余调换查询和革新的性能,不宜太过冗余与数据复制。  
  • 数据可回滚:处置处罚逻辑稳定,在差别多次运行数据结果确定稳定。  
  • 指标划一性:雷同的字段寄义在差别的表中字段定名必须雷同,必须利用规范界说中的名称。  
  • 定名洗濯可明白:表定名需清楚、划一,表名需易于斲丧者明白和利用。  
  • 条理依赖公道:
         
    • dwd层应该严酷服从条理依赖,理论上只可引用ODS、DIM和部分的DWD数据,不可引用处于卑鄙条理的ADS等数据,以制止出现“反  

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表