概述
文章目录
- 前言
- 一、什么是数据仓库
- 二、数据仓库和数据库的区别
- 三、数据仓库分层架构
- (一)ODS
- (二)DIM
- (三)DWD
- (四)DWS
- (五)ADS
- 四、数据仓库建模方法
- (一)星型模型
- (二)雪花模型
前言
分享本人在数据仓库开发工作中遇到的问题及经验总结。
一、什么是数据仓库
因为数据库中的数据繁多、关系复杂且不能保证数据质量,为解决这样的问题,就诞生了数据仓库的概念。数据仓库是指将各种来源的数据统一接入到某个单一环境,对数据进行清洗,汇总并妥善保存以便支撑相关数据应用的方式。
二、数据仓库和数据库的区别
数据仓库与数据库只有一字之差,区别却很大,甚至有些方面是完全相反的概念。举个例子,关系型数据库需要符合范式要求,需要尽量减少冗余,而数据仓库不需要符合范式,为了方便取数建模、方便做数据分析,数据仓库设计时会主动引入冗余。
三、数据仓库分层架构
(一)ODS
运营数据层:Operation Data Store,相当于数据仓库的数据源,可以使用sqoop从关系型数据库接入hadoop集群,为DWD提供原始数据。
(二)DIM
维度层:Dimension,记录维度数据,累全量保证当天维度唯一。
(三)DWD
明细数据层:Data Warehouse Details,对原始数据进行数据清洗,确定指标度量形成各事实表,也可以将维度退化存储于事实表中。
- 事务事实表 Transaction fact table,简称tf
- 快照事实表 Shot fact table,简称sf
(1)周期快照事实表 Periodicsnapshot fact table
(2)累计快照事实表 Accumulatingsnapshot fact table
(四)DWS
数据服务层:Data Warehouse Service,对数据进行初步汇总,形成较细粒度的宽表供下游ads复用。
(五)ADS
数据应用层:Application Data Service,根据具体业务需求对粒度和维度进行再次汇总,展示最终汇总统计的数据,可导出至关系型数据库做可视化,也可以用于其他数据分析场景,是用户看到的表,需保证隐私问题没有敏感数据。
四、数据仓库建模方法
(一)星型模型
直接关联维度表获取维度数据
(二)雪花模型
关联一张维度表,再通过这张维度表关联另一张维度表获取所需维度数据。可冗余成星型模型,一般较少使用。
最后
以上就是含糊酒窝为你收集整理的数据仓库开发经验分享前言一、什么是数据仓库二、数据仓库和数据库的区别三、数据仓库分层架构四、数据仓库建模方法的全部内容,希望文章能够帮你解决数据仓库开发经验分享前言一、什么是数据仓库二、数据仓库和数据库的区别三、数据仓库分层架构四、数据仓库建模方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复