离线数仓分层

一、数仓为什么要分层

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图记录整体概览,包括了每一步操作,像是大图展示。

3、【物理模型】
面向计算机的,因此与具体的数据库系统、操作系统以及计算机硬件都相关的,是逻辑数据模型在这个物理平台上的物理化,例如存储的元数据信息(表名、字段名、存储信息、路径等等)。

你可能感兴趣的:(数据仓库,数据库,数据挖掘)