数据仓库之如何分层

hive 专栏收录该内容
9 篇文章 0 订阅

1.前言

数据仓库的建设是一个持续的工程。在这个过程中我们需要形成自己的规范,以方便管理和维护。在数据仓库的建设过程中,不仅会面临着公司业务迅速发展,业务系统迭代变更,需要对业务系统数据进行相应的整合,形成公司完整的统一数据视图;而且基于数据仓库的应用也是多样化的,比如支撑自己企业的数据可视化平台、即席查询、对策略提供数据支持等。参考目前已有的分层模型,结合自身实际数据情况,确定对数据仓库进行层次划分,不同的层次,承担不同的职责,方便模型的管理与维护。

2.数仓模型

2.1 数仓分层介绍

模型层次英文名称中文名称对应逻辑层存储数据
ODLOperational Data Layer操作数据层,原始数据层,日志层ods存储直接从业务系统或者日志系统接收的原始数据,只同步不做任何修改处理
IDLIntegrated Data Layer集成数据层,事实层,明细数据层dwd存放按照业务主题组织的事实数据,未补充维度,不做过度加工(不加分析的口径),保留原始事实
CDLComponent Data Layer元件数据层,(轻度)汇总层dws存放从dwd经过汇总或者跨业务主题的数据,以面向单个分析场景为主组织主题,可以引入指标口径
MDLMart Data Layer数据集市层,汇总宽表层dws存放从dwd,dws来源的多维度冗余的宽表,可面向多个分析场景组织
ADLApplication Data Layer应用数据层dm存放从dws,dwd来源的面向单个特定分析场景的灵活数据
DIMDimension Data Layer维度层dim存放维度数据

2.2 模型思想

ODL模型

数据层次

ODL(操作数据层),该层级主要临时存储从多种数据源(包括在线业务系统和点击流日志)抽取的业务数据。

数据特点

1.数据集结构及数据集间关系都和数据源基本保持一致

2.临时存储,数据存储一到两周即可删除或备份至廉价设备

3.数据集多为增量抽取,产生大量的Delta数据集

数据处理

1.数据集增量获取、分发

2.数据集轻度清洗,如字符集转换、脏数据过滤、第一类维值标准化处理等

3.点击流数据处理,完成日志获取、字符串处理、URL解析等

数据抽取

主要是增量抽取为主、有部分业务表涉及全量抽取;

数据存储

ODL层设计上分为两个层次,第一个层次存储近一段时间的增量数据(贴源);

第二个层次存储全量数据信息,通过append delta表生成全量数据;

IDL模型

数据层次

IDL(集成数据层),该层级按照业务主题组织数据,完成对ODL层数据的清洗和集成,为CDL层提供数据结构统一、业务语义标准的基础数据。

数据特点

1.明细数据,按照业务主题分类,以业务为驱动设计表结构和表间关系

2.数据集成,基于3NF设计模型,并在语义层达到统一和标准

3.数据带有仓库层的日期和状态标签,可追溯其生命周期中的所有变化状态

数据处理

1.对ODL数据进行集成整合,数据项进行重定义和清洗,完成业务数据的归一化处理

2.梳理第一类维表来源,即从源业务系统抽取的代码表,并完成缓慢变化维处理

3.使用ODL层的Delta(增、删、改)数据、全量数据更新当前表和历史表,数据存储上采用拉链和快照方式存储

数据更新策略

1.全量快照:每天存储一份最新的数据,来源数据为全量数据,且需要保留历史变化轨迹

2.拉链表:通过开闭链时间维护最新数据

3.增量表:增量插入当天分区,例如:日志表

4.全量覆盖:删除目标表全部数据,再插入当前数据;来源数据为全量数据,且无需保留历史轨迹,只使用最新状态数据

CDL模型

数据层次

CDL(元件数据层),该层级按照分析主题组织数据,跨IDL层的业务主题,集成与该分析主题相关的所有数据,为ADL层的分析模型提供共享的、可复用的元件数据。

数据特点

1.数据模型相对稳定,无衍生指标,轻度汇总

2.多维模型:分析对象的状态(静态、描述)数据和相关事实表或维表关联形成以冗余宽表为中心的雪花或星型模型

3.基础指标库:分析对象的行为(主动、被动)数据汇总而成的一系列基础指标库

数据处理

1.分析对象和相关事实表或维表进行多表关联计算生成多维模型

2.对分析对象的行为数据进行汇总计算生成基础指标库

3.梳理两类维表来源,一是分析需求,二是仓库技术

4.对多维模型或基础指标数据进行轻度汇总,产生基础的、通用的汇总模型

数据种类

1.多维模型数据(Multidimensional Data):采用维度建模方式建立的数据模型数据。

2.基础指标库数据(Stable Indicator Data):基于某个分析实体的一系列基础指标集合。

3.常用通用的JOIN数据(Common Join Data):从IDL层上来的一些实体对象,可能需要经常JOIN在一起使用,在此可以预先处理一些常用通用的JOIN逻辑。

数据刷新

保留每日数据的应用状态,存储采用每日数据快照的方式

MDL模型

数据层次

MDL(数据集市层),该层次主要功能是加工多维度冗余的宽表(解决复杂的查询)、多角度分析的汇总表。

数据特点

1.数据模型相对稳定,有衍生指标

2.宽表模型:基础指标群、多维模型数据和相关事实表或维表关联形成通用或定制的冗余宽表

3.多角度汇总:从多个角度分析的汇总模型

数据处理

1.多维模型数据和相关事实表或维表进行多表关联计算生成宽表模型

2.对多维模型或基础指标数据进行汇总,产生个性的、通用的汇总模型

ADL模型

数据层次

ADL(应用数据层),该层级按照项目和应用组织数据,以CDL层的半成品元件数据为基础,规划多样化、个性化的衍生指标体系、分析模型和数据应用。

数据特点

1.数据模型不稳定,随着分析算法和应用的变更随时变化或下线

2.数据高度汇总,可做交叉分析、上卷、下钻、切片、切块、旋转等多维分析操作

3.更高级的数据分析或挖掘应用,衍生出信息类、知识类数据

数据处理

1.根据不同的数据应用处理数据,所有的指标或者汇总都依赖于具体的业务分析主题和分析人员的定义,并直接交付信息给使用者

2.数据处理和信息交付方式多样,如报表、仪表盘、即席查询、多维分析、实时数据应用、数据挖掘应用等

DIM模型

DIM层主要包括三类即简单、静态、代码类维表,存储仓库层归纳梳理的所有维表信息

1).从业务源系统抽取转化的维表,每日保留全量快照;

2).根据业务分析需求构建的维表,每日保留全量快照;

3).仓库技术常用维表,只保留当前信息;

  • 0
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值