数据仓库和数据仓库分层

一、数据仓库概念

数据仓库(Data Warehouse),可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

二、数仓分层的意义

1、问题简单化,将一个复杂的问题分割成多步简单问题的集合,按步骤解决问题;

2、数据结构清晰化,将数据分层后,每一层数据都会有作用域,方便我们对数据进行定位,当数据出现问题时,不用从头对数据进行修复,我可以根据数据表的特性找到具体的数据层,然后对数据进行修复;

3、数据复用化,每一次进行数据计算,大可不用从原始数据重新跑一遍,可以找所需数据的数据层,然后从那一层进行计算,提高数据的复用性;

4、考虑到数据异常和数据的敏感性,我们都应该将原始数据和统计数据分开。

三、数仓分层架构图

1、ods层 :原始数据层,存放原始数据,直接加载原始日志、数据,数据保持原貌不做处理。一般情况下,以增量的方式从业务系统导入到ods层,数据模型和粒度都与业务系统保持一致。ods层是数仓的数据准备层,为dwd层提供数据,可以减少对业务系统的影响;

2、dwd层 :数据明细层,结构和粒度与ods层保持一致,对ods层数据进行清洗(去除空值,脏数据,超过极限范围的数据),也有公司叫dwi。一般情况下,会根据ods增量数据和前一天DWD相关表进行merge生成全量数据,为DW层提供来源明细数据;

3、dw层 :数据事实层,会采用维度建模,星型架构,这一层可细分为dwb与dws。会从dwd层进行轻度清洗,转化,汇总生成dw层数据,如字符合并,email,证件号,日期,手机号转换合并;按各个维度进行聚合汇总;

4、dm层 :数据服务层,以dw或dwd为基础,进行轻度汇总。一般聚集到以用户当日,设备当日,商家当日,商品当日等等的粒度。在这层通常会有以某一个维度为线索,组成跨主题的宽表,比如 一个用户的当日的签到数、收藏数、评论数、抽奖数、订阅数、点赞数、浏览商品数、添加购物车数、下单数、支付数、退款数、点击广告数组成的多列表。

5、st层 :数据来自dw层,采用维度建模,星型架构,主要用于前端报表展示,主题分析,kpi报表。一般从dw层进行粗粒度聚合汇总,如按年、月、季、天对一些维度进行聚合生成业务需求的事实数据。

因为是新手,如果有错的或者模糊的地方,还请谅解!谢谢!!

相关推荐
富能量爆棚24 分钟前
Spark缓存-cache
大数据·spark
依年南台32 分钟前
Spark处理过程-案例数据清洗
大数据·hadoop
猪猪果泡酒33 分钟前
Spark,RDD中的转换算子
大数据·分布式·spark
TDengine (老段)37 分钟前
TDengine 做为 Spark 数据源
大数据·数据库·物联网·ajax·spark·时序数据库·tdengine
Robot2514 小时前
「华为」人形机器人赛道投资首秀!
大数据·人工智能·科技·microsoft·华为·机器人
CONTONUE10 小时前
运行Spark程序-在Idea中(二)
大数据·spark·intellij-idea
计算机人哪有不疯的11 小时前
图文展示HDFS、YARN、MapReduce三者关系
大数据·spark
祈53311 小时前
MapReduce 的工作原理
大数据·mapreduce
Agatha方艺璇11 小时前
MapReduce报错 HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·mapreduce
@十八子德月生12 小时前
8天Python从入门到精通【itheima】-1~5
大数据·开发语言·python·学习