数仓分层模型架构分享(3)
文章在京东系数据仓库建设方案的基础上,加上自己独特的理解,很能给人以参考和启发。
原作者:hxiao1317098
原文:https://blog.csdn.net/hxiao1317098/article/details/73623690
对于大数据来说,数仓的作用不言而喻,承载着整个公司全业务线的数据,现阶段,在hadoop上的数仓主要是用来解决企业内部数据的分析,尤其是各种各样的统计分析报表。本文主要结合自己公司目前数仓的结构设计和现阶段解决的问题而叙述和分享!
下图为数仓整体的技术架构:
一个优秀可靠的数仓,一定要结构、分层清晰,而不是越多的分层和主题越好,保障清晰的状态下,能够快速找到数据的位置。主题域的划分,完全可按照公司内部的业务线和结构去划分。
图中BDL层,作为缓冲数据层,其实就是贴数据层,和源数据表相同的表。直接用源库(传统关系型业务库)抽取数据,只存每天最新的数据快照(主要是增量数据)
BAK层是BDL层抽数,保存的是全历史业务数据,起备份和查错的作用。
FDL层是基础数据层,是基于主题、数仓模型开发的基础数据表。这里主要用到了范式建模法和维度建模法(即星型模型)包含最细粒度的数据,故称基础数据层,通俗的理解,这才是整个数仓的最核心的基础数据层,因为BAK层和BDL层的数据表结构跟业务库的数据是完全一致的,而FDL层的数据才是开始进行真正意义上的第一次清洗,不要的字段去除,不规范的字段命名去除,统一数据,规范标准化的一个过程。
GDL层是通用数据层,就是宽表层。也是基于主题、数仓模型开发的宽表。可能会牺牲第三范式,将相关的各维度或属性整合到一张表里。这种表的特点就是字段较多,数据量较大,但它能帮助消除重复查询。由于这种表会被各种需求用到,故称通用数据层。
ADL层是汇总数据层,是基于主题、数仓模型开发的汇总数据表。这里只用到维度建模法(即星型模型)。指标库可以放到这一层。
APP层是开放给用户,用户可以在此层自己开发数据,提数。给用户的脱敏数据也可以放到这一层。我们开发的数据产品所需数据也可以在这一层做。
还有两层比较特殊:
一个是TMP(临时层),说白了就是存储中间结果表,有些业务场景比较复杂,需要拆表,多次计算,要用到一些中间结果集表,因此这层也是辅助层。
DIM层是维表层,各种时间维,省市区维度都可以存放,根据公司的业务形态去划分,ADL层可以跟DIM层的多维度关联,做各种报表,手到擒来。
以下是数据仓库数据流架构图:
以上就是整个数仓平台的大概架构思路,其实大部分公司的数仓都是差不多的,无非是各个层的划分的区别,层的多少区别。
数仓分层模型架构分享(3)相关推荐
- 数仓分层模型架构分享(2)
不知其来源出处,感觉是一字一字码出来的经验之谈,特分享与此. 分层案例 1.电信通讯 stage层 ->bdl层 ->analysis层 2.传统金融/保险 ods层 ->pdm层 ...
- 数据仓库(6)数仓分层设计架构
目前主流的数据仓库分层大多为四层,也有五层的架构,这里介绍基本的四层架构. 分别为数据贴源层(ods).数据仓库明细层(dw).多维明细层(dws)和数据集市层(dm). 下面是架构图: ...
- 谈笑间学会数仓-分层架构
1.数据仓库 1-1.什么是数仓呢? 数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据, ...
- 数仓建模的edw_浅谈数仓分层和模型
数仓分层 ODS层基础层-ODS(Operational Data Store-操作型数据存储):主要是未经过加⼯的原始数据 中间层-CDM\EDW(Enterprise Data Warehouse ...
- 【博学谷学习记录】超强总结,用心分享|大数据之数仓分层
数仓是什么? 数据仓库,简称数仓,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报 ...
- 万字详解数仓分层设计架构 ODS-DWD-DWS-ADS
一.数仓建模的意义,为什么要对数据仓库分层? 只有数据模型将数据有序的组织和存储起来之后,大数据才能得到高性能.低成本.高效率.高质量的使用. 1.分层意义 1)清晰数据结构:每一个数据分层都有它的作 ...
- 数据仓库实战(一):数仓分层分域规范
笔者多年身处一线互联网独角兽企业,主导过数据仓库从0到1的建设,同时作为数据中台核心成员,在巨头合并,大数据融合及迁移过程中起到至关重要的作用.对数据中台及数据中泰产品有一定研究,抱着分享与自我成长的 ...
- 数仓分层(ODS、DWD、DWS、DWT、ADS)和数仓建模
文章目录 一.数仓分层 数仓概念 ODS(原始数据层)做了哪些事 DWD(明细数据层)做了哪些事 DWS(服务数据层)做了哪些事 DWT(主题数据层)做了哪些事 ADS(应用数据层)做了哪些事 二.数 ...
- 数仓分层的意义及通用设计
文章目录 为什么要设计数据分层 数仓分层的意义 通用的数仓分层设计 总结 为什么要设计数据分层 大多数情况下,我们完成的数据体系依赖复杂.层级混乱,在不知不觉中,容易出现循环依赖体系.因此,我们需要设 ...
最新文章
- Azure AI的又一里程碑,Neural TTS新模型呈现真人般情感饱满的AI语音
- 普通的旧CLR对象与数据传输对象
- python find函数 和index的区别_python中index()与find()的区别
- 等比数列求和python_python numpy生成等差数列、等比数列的实例
- Lecture 17 Shortest Paths I
- 164. Maximum Gap
- MySql的存储过程介绍及语法实例操作
- 笨方法“学习python笔记之字典
- 选择操作、投影操作、交操作
- python super().__init__()
- 智能家居如何让消费者心甘情愿地买单
- 海康视频的4G接入-实时浏览
- 如何使用计算机求和公式,excel求和公式怎么用
- 电脑桌面的计算机图标都不见了,如何解决电脑桌面的图标都不见了的问题
- 情感脑机接口与跨被试情感模型问题研究
- latex添加背景图片
- 微信小程序项目实例小程序记事本+后台
- 【ESP8266 ES01 小爱】使用ESP 8266 WOL 远程唤醒电脑
- 天然“降脂药”,帮你“吃掉”血脂!
- K8S部署系统异常-FailedCreatePodSandBox:network: failed to set bridge addr: “cni0“ already has an IP addres