数据仓库和数据仓库分层

一、数据仓库概念

数据仓库(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层进行粗粒度聚合汇总,如按年、月、季、天对一些维度进行聚合生成业务需求的事实数据。

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

相关推荐
喝醉酒的小白8 分钟前
Elasticsearch相关知识@1
大数据·elasticsearch·搜索引擎
边缘计算社区9 分钟前
首个!艾灵参编的工业边缘计算国家标准正式发布
大数据·人工智能·边缘计算
MZWeiei9 分钟前
Zookeeper的选举机制
大数据·分布式·zookeeper
MZWeiei9 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
学计算机的睿智大学生10 分钟前
Hadoop集群搭建
大数据·hadoop·分布式
szxinmai主板定制专家2 小时前
【国产NI替代】基于FPGA的32通道(24bits)高精度终端采集核心板卡
大数据·人工智能·fpga开发
TGB-Earnest4 小时前
【py脚本+logstash+es实现自动化检测工具】
大数据·elasticsearch·自动化
大圣数据星球6 小时前
Fluss 写入数据湖实战
大数据·设计模式·flink
suweijie7686 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel