大家好,又见面了,我是你们的朋友全栈君。
今天我们来探讨一下数据仓库的通用分层方法,这对于构建高效的数据仓库系统至关重要。让我们详细了解一下数据仓库的各层及其作用。
数据仓库的分层结构通常包括以下几个层次:
一、数据加载层:ETL(Extract-Transform-Load)
二、数据运营层:ODS(Operational Data Store)
三、数据仓库层:DW(Data Warehouse)
四、数据应用层: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)
该层保持与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
以上就是数据仓库分三层_数据库分层的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号