一、数仓为什么要分层
1、清晰数据结构:数仓每一层都有对应的作用,方便在使用时更好定位与了解
2、数据血缘追踪:清晰知道表/任务上下游,方便排查问题,知道下游哪个模块在使用,提升开发效率及后期管理维护
3、减少重复开发:完善数仓好中间层,减少后期不必要的开发,从而减少资源消耗,保障口径、数据统一
4、把复杂问题简单化:将复杂任务拆解成多个步骤来完成,每一层处理单一步骤,当数据问题出现时候,只需从问题起点开始修复
二、数仓的各层主要职责
**【ODS(接入层)】**全称Operational Data Store
ODS层是最接近数据源的一层,从数据源(api、数据库等)将数据同步数仓中,中间不做任何处理操作
**【DWD(明细层)】**全称Data Warehouse Detail
是数仓明细数据层,对ODS层的数据进行关联,清洗,维度退化(将维度表中维度数据放入明细表中),转换,主题域建设等操作
**【DWM(轻度汇总层)】**全称Data WareHouse Middle
轻度汇总层数据仓库中DWD层和DWS层之间的一个过渡层次,是对DWD层的生产数据进行轻度综合和汇总统计(可以把复杂指标前置处理),提升公共指标的复用性,减少重复加工
**【DWS(汇总层)】**全称Data WareHouse Servce
按照主题域、颗粒度(例如买家、卖家)划分,按照周期粒度、维度聚合形成指标较多的宽表,用于提供后续的业务查询,数据应用,最重要一点需要在DWS层完成指标口径统一及沉淀
**【ADS(应用层)】**全称Applacation data service
按照应用域,颗粒度划分(例如买家、卖家)划分,按照应用主题将对应数据标签补充至应用层,最终形成用户画像及专项应用
三、数仓的数据模型
数据模型指的是数据特征的抽象,通常包括数据结构、数据操作、数据约束。
1、【业务模型】
为企业提供一个框架结构,以确保企业的应用系统与企业经常改进的业务流程紧密匹配,它是从纯业务角度对企业进行业务建模,特指某业务具体流程环节例如客服业务-客服评价的数据模型。
2、【概念模型】
对业务模型进行抽象处理成一个个业务概念实体,最常见的就是E-R模型,与具体数据库系统无关,必须转化为逻辑或者物理数据模型才能在数据库系统中实现,概念模型就像是er图记录整体概览,包括了每一步操作,像是大图展示。文章来源:https://www.toymoban.com/news/detail-459142.html
3、【物理模型】
面向计算机的,因此与具体的数据库系统、操作系统以及计算机硬件都相关的,是逻辑数据模型在这个物理平台上的物理化,例如存储的元数据信息(表名、字段名、存储信息、路径等等)。文章来源地址https://www.toymoban.com/news/detail-459142.html
到了这里,关于离线数仓分层的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!