大家好,又见面了,我是你们的朋友全栈君。
今天我们来探讨一下数据仓库的通用分层方法,这对于构建高效的数据仓库系统至关重要。让我们详细了解一下数据仓库的各层及其作用。
数据仓库的分层结构通常包括以下几个层次:
一、数据加载层:ETL(Extract-Transform-Load)
二、数据运营层:ODS(Operational Data Store)
三、数据仓库层:DW(Data Warehouse)
- 数据明细层:DWD(Data Warehouse Detail)
- 数据中间层:DWM(Data WareHouse Middle)
- 数据服务层:DWS(Data WareHouse Service)
四、数据应用层:APP(Application)
五、维表层:DIM(Dimension)
这些分层的优势在于:
- 清晰数据结构:每层都有明确的职责和作用域,使得数据表的定位和理解更加方便。
- 减少重复开发:通过规范的数据分层,开发通用的中间层数据可以极大地减少重复计算。
- 统一数据口径:数据分层提供了统一的数据出口,确保对外输出的数据口径一致。
- 复杂问题简单化:将复杂任务分解成多个步骤,每层处理单一步骤,简化和易于理解。数据出现问题时,只需从有问题的步骤开始修复。
- 屏蔽原始数据的异常:无需每次业务变动都重新接入数据。
我们的数据模型分为三层:数据运营层(ODS)、数据仓库层(DW)和数据应用层(APP)。其中,ODS层存放的是原始数据,DW层是我们重点设计的数据仓库中间层数据,而APP层则是面向业务定制的应用数据。
一、数据运营层:ODS(Operational Data Store)
ODS层是最接近数据源的一层,经过ETL过程(抽取、清洗、传输)后,数据按照源头业务系统的分类方式存放。为了追溯数据问题,这一层通常不建议进行过多的数据清洗,直接接入原始数据即可。数据的去噪、去重、异常值处理等工作可以在后续的DWD层完成。
二、数据仓库层:DW(Data Warehouse)
DW层是数据仓库设计的核心层,从ODS层获取数据后,按照主题建立各种数据模型。DW层进一步细分为:
-
数据明细层:DWD(Data Warehouse Detail)
I-Shop购物系统下载部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/
该层保持与ODS层相同的数据粒度,并提供一定的数据质量保证。为了提高易用性,会采用维度退化手法,将维度退化到事实表中,减少事实表和维表的关联。此外,还会进行部分数据聚合,将相同主题的数据汇集到一张表中,提高数据的可用性。
-
数据中间层:DWM(Data WareHouse Middle)
在DWD层数据的基础上,对数据进行轻度聚合,生成一系列中间表,提升公共指标的复用性,减少重复加工。主要是对通用的核心维度进行聚合,计算统计指标。
-
数据服务层:DWS(Data WareHouse Service)
也称为数据集市或宽表,按照业务划分(如流量、订单、用户等)生成宽表,用于后续的业务查询、OLAP分析和数据分发。由于宽表涵盖较多的业务内容,计算时通常先在DWM层生成多个小中间表,然后拼接成DWS的宽表。
三、数据应用层:APP(Application)
这一层主要提供给数据产品和数据分析使用的数据,通常存放在ES、PostgreSql、Redis等系统中,供线上系统使用,也可能存放在Hive或Druid中,供数据分析和数据挖掘使用。例如,报表数据通常存放在这一层。
四、维表层(Dimension)
维表层包含两部分数据:高基数维度数据(如用户资料表、商品资料表,数据量可能达到千万级或上亿级)和低基数维度数据(如配置表,数据量可能是个位数或几千几万)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://www.php.cn/link/c573f25877c971c5ca3aa000f1edca35









