离线数仓的数仓分层

数据仓库分层的作用

数据结构化更清晰:

对于不同层级的数据,他们作用域不相同,每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。

数据血缘追踪:

提供给外界使用的是一张业务表,但是这张业务表可能来源很多张表。如果有一张来源表出问题了,我们可以快速准确的定位到问题,并清楚每张表的作用范围。

减少重复开发:

数据分层规范化,开发一些通用的中间层数据,能够减少重复计算,提高单张业务表的使用率。

简化复杂的问题:

把一个复杂的业务分成多个步骤实现,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。有点类似Spark RDD的容错机制。

减少业务的影响:

业务可能会经常变化,这样做就不必改一次业务就需要重新接入数据。

数据仓库分层的介绍

离线数仓的数仓分层_第1张图片

 

ods层:保留数据的原始性

ODS层保存所有操作数据,不对原始数据做任何处理。在业务系统和数据仓库之间形成一个隔离,源系统数据结构的变化不影响其他数据分层。减轻业务系统被反复抽取的压力,由ODS统一进行抽取和分发。

fds层:对数据进行解析过滤映射等操作

对于数据进行简单的过滤操作(null值),对数据进行中的json类型进行解析,某些情况对接多个数据源的时候,不同字段名的含义是相同的,要对字段进行映射,还有对日期格式转换。

dim层:公共维表层

存放一些维度数据,如用户的信息,商品的信息,但对于不同的维度信息有不同的实现方式(

缓慢变化维通过拉链表实现,全量同步实现

dwd层:对数据进行维度模型建设

对于fds层拿到的数据,是业务数据,需要遵循三范式,但对于数据仓库来说,重要的是对数据进行分析,所以我们要将业务数据与多个维度进行关联,得到一个多维度的明细数据

dws层:对数据进行初步的汇总

对dwd层拿到的数据,进行初步的聚合,做一些多维度多指标的大宽表。

ads层:直接做数据服务的层

对接于业务需求的层级,直接对外提供服务。

数据集市
狭义ADS层; 广义上指hadoop从DWD DWS ADS 同步到RDS的数据

数据集市(Data Mart),也叫数据市场,数据集市就是满足特定的部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。

从范围上来说,数据是从企业范围的数据库、数据仓库,或者是更加专业的数据仓库中抽取出来的。数据中心的重点就在于它迎合了专业用户群体的特殊需求,在分析、内容、表现,以及易用方面。数据中心的用户希望数据是由他们熟悉的术语表现的。

你可能感兴趣的:(hive学习,大数据,数据仓库)