数据仓库数据分层详解

数据仓库中的数据分层是一种重要的数据组织方式,其目的是为了在管理数据时能够对数据有一个更加清晰的掌控。以下是数据仓库中的数据分层详解:

  1. 原始数据层(Raw Data Layer):这是数仓中最底层的层级,用于存储从各个数据源获取的原始数据。这些数据通常是未经处理和清洗的,包括来自数据库、日志文件、传感器等的数据。原始数据层的目的是保留数据的完整性和可追溯性,以备后续的数据处理和分析。
  2. 数据清洗层(Data Cleansing Layer):该层对原始数据进行清洗、去重、转换和标准化等处理。在这一层中,数据质量和一致性是关键考虑因素。清洗后的数据可以更好地支持后续的数据分析和建模。
  3. 集成层(Integration Layer):这一层是将来自不同数据源的数据进行整合和集成的层级。数据被转换为一致的格式和结构,以便于跨数据源的查询和分析。集成层通常包括数据仓库和数据集市等组件,数据被组织为维度和事实表的结构,以支持多维分析和报告。

此外,数据仓库中还有更细化的分层,例如数据明细层(DWD)、数据中间层(DWM)和数据服务层(DWS)等。这些分层使得数据仓库的设计更加复杂和精细,能够更好地满足不同的数据需求。

1、ODS层

数据仓库ODS层,即操作型数据存储层(Operational Data Store),是数据仓库的第一层,主要用来接收和存储数据源系统中的数据,同时保证数据的准确性和完整性。

数据源中的数据,经过ETL(即抽取、转换、装载)过程后,装入本层。这一层中的数据,大多是按照源业务系统的分类方式而分类的。ODS层会对数据进行简单的清洗、去重、格式转换等操作,为后续的数据处理提供基础数据。由于该层是最接近数据源的,因此不建议对该层数据做过多的数据清洗工作。

此外,ODS层的作用还包括支持数据仓库ETL过程,将ODS层中的数据转换为适合DW层使用的格式;支持历史数据追溯,以便用户进行历史趋势分析;以及减轻源系统负担,提高系统性能。

2、DWD层

数据仓库DWD层,即数据仓库明细层(Data Warehouse Detail),是数据处理的核心层,其主要任务是将ODS层中的数据进行清洗、加工、集成、聚合等操作,构建出符合业务需求的数据模型。

DWD层的主要目的是将业务数据库中的数据进行清洗和整合,形成相应的事实表。这些事实表是数据仓库维度建模的核心,紧密围绕业务过程来设计。DWD层会对业务方的整个业务过程进行分析,明确关键的业务步骤,并在满足业务需求的前提下,尽可能设计出更通用的模型。

在DWD层中,主要的事实表有三种类型:事务事实表、周期快照事实表和累积快照事实表。这些事实表为后续的决策层提供了精细化的数据支持。

3、DWB层

数据仓库DWB层,即数据仓库基础层(Data Warehouse Basic),位于数据仓库架构的中间位置,也是数据仓库中最核心的一层。

该层的主要任务是对DWD层中的数据进行进一步的加工和整合,以形成适合于决策分析的数据结构和粒度。在DWB层中,数据被进一步处理以满足不同决策分析需求的数据展示需求。这一层主要包括抽取、转换、加载和归并四个部分,需要对数据进行过滤、排序和校验等处理,以消除重复值并确保数据格式的统一性。同时,DWB层还可以根据不同的维度来建立多维数据模型,以支持灵活的数据查询和分析。

4、DWS层

数据仓库DWS层,即数据仓库服务层(Data Warehouse Service),是数据仓库架构中的关键组成部分,主要用于数据存储、数据处理、数据管理和数据查询。它是数据仓库的核心部分,具备高效的数据管理和存储能力。

在DWS层中,数据通常是按照主题和业务领域进行组织,以方便数据分析和查询。该层主要用于存储和管理数据,通过ETL操作等方式对数据进行加工和处理,为用户提供实时数据服务。此外,DWS层还可以提供各种类型的服务,如数据查询、统计、报表、分析等,以满足业务决策的需求。

从数据存储形式来看,DWS层主要采用列式存储方式,这种方式适合于批量查询和OLAP(联机分析处理)操作。而与之相对的是,ADS层(数据应用服务层)则主要采用行式存储方式,更适合于实时查询和OLTP(联机事务处理)操作。

5、ADS层

数据仓库ADS层,即应用数据服务层(Application Data Store),是数据仓库架构的顶层,主要用于为各种应用提供数据服务。

ADS层一般以业务或者部门来划分库,可以为各个业务线创建一个数据库。该层的数据是基于底层数据(如DWD层或DWS层的数据)生成的业务报表数据,可以直接作为数据仓库的输出,导出到外部的操作型系统中,如MySQL、HBase等。在数据仓库的分层架构中,ADS层是数据应用的最后一层,提供的是结果类型的数据,这些数据可以直接用于展示或进一步的分析。

同时,ADS层的数据抽离分析程度最高,因此是需求最明确的一层。它根据业务需求来决定数据维度和结果,以满足各种应用的数据需求。

数据仓库分层的主要优势包括:

  1. 把复杂问题简单化:将复杂的任务分解成多层来完成,每一层只处理简单的任务,方便定位问题。
  2. 减少重复计算:规范数据分层,通过的中间层数据,能够减少极大的重复计算,增加一次计算结果的复用性。
  3. 隔离原始数据:不论是数据的异常还是数据的敏感性,使真实数据与统计数据解耦开。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/750974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jupyter闪退和自动跳转问题

1.闪退问题 当我们点击jupyter时,它会闪一下,然后无法进入,这个时候我们可以去prompt命令行输入jupyter notebook启动试试,如果还不行,我们可以根据报错去解决,一般csdn上都有对应情况,直接搜索…

Linux-新手小白速秒Hadoop集群全生态搭建(图文混编超详细)

在之前的文章中,我教会大家如何一步一步搭建一个Hadoop集群,但是只提供了代码,怕有些朋友会在一些地方产生疑惑,今天我来以图文混排的方式,一站式交给大家如何搭建一个Hadoop高可用集群包括(HadoopHA&#…

el-select使用filterable下拉无法关闭得问题

这里推荐一个前端框架 sakuya / SCUI,他里面有个formTable,可以解决很多订单明细保存得问题。基本沿用element-plus的前端使用模式,让表单表格变的非常容易。 这个的供应商插件,当使用filterable后,点击表格重的选项&…

Redis Desktop Manager:一站式Redis数据库管理与优化

Redis Desktop Manager是一款功能强大的Redis桌面管理工具,也被称作Redis可视化工具。以下是其主要的功能特色: 连接管理:Redis Desktop Manager支持连接多个Redis服务器,用户可以在同一界面下管理多个数据库,大大提高…

记录一下在Pycharm中虚拟环境的创建

如果在Pycharm中要新建一个虚拟环境,那你可以在Terminal中选择Command Prompt,在这里面执行相关命令 一、安装了Anaconda,创建虚拟环境 当你使用解释器是Anaconda提供的时,你可以使用conda命令执行,见以下操作&#x…

前端Vue与uni-app中的九宫格、十二宫格和十五宫格菜单组件实现

在前端 Vue 开发中,我们经常会遇到需要开发九宫格、十二宫格和十五宫格菜单按钮的需求。这些菜单按钮通常用于展示不同的内容或功能,提供给用户快速访问和选择。 一、引言 在前端开发中,九宫格、十二宫格和十五宫格菜单按钮是一种常见的布局…

202206 CSP认证 | 角色授权

角色授权 fine,又是一道acwing上TLE但是平台通过了的,那就酱吧… 直接跟着题目来模拟的…先找到每个用户授予的所有角色,包括用户本身和它所属的用户组。 然后遍历这个角色集合,看是否有操作权限,种类权限以及资源名称…

SVN修改已提交版本的注释

目录 一、需求分析 二、问题分析 三、解决办法 一、需求分析 ​开发过程中,在SVN提交文件后,发现注释写的不完整或不够明确,想再修改之前的注释文字​。 使用环境: SVN服务器操作系统:Ubuntu 20.04.6 LTS SVN版本&…

JVM实战篇

内存调优 内存溢出和内存泄漏 内存泄漏:在java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收。 内存泄漏绝大多数情况都是由堆内存泄漏引起的,所以后续没有特别说明则讨论的都是堆…

Linux-centos如何搭建yum源仓库

1.本地搭建(无需连接外网) 1.1检查网络配置,及网络连接 打开虚拟机,点击【编辑——虚拟网络编辑器】 点击【仅主机模式】查看子网段是否和局内IP匹配 进入局内,查看网络IP是否在你上述设置的网段内,如果不…

Chapter 13 Techniques of Design-Oriented Analysis: The Feedback Theorem

Chapter 13 Techniques of Design-Oriented Analysis: The Feedback Theorem 从这一章开始讲负反馈Control系统和小信号建模. 13.2 The Feedback Theorem 首先介绍 Middlebrook’s Feedback Theorem 考虑下面负反馈系统 传输函数 Guo/ui G ( s ) u o u i G ∞ T 1 T G…

1.实用Qt:解决绘制圆角边框时,圆角锯齿问题

目录 问题描述 解决方案 方案1: 方案2: 结果示意图 问题描述 做UI的时候,我们很多时候需要给绘制一个圆角边框,初识Qt绘制的童鞋,可能绘制出来的圆角边框很是锯齿,而且粗细不均匀,如下图&…

Vue | 使用 ECharts 绘制折线图

目录 一、安装和引入 ECharts 二、使用 ECharts 2.1 新增 div 盒子 2.2 编写画图函数 2.3 完整代码结构 三、各种小问题 3.1 函数调用问题 3.2 数据格式问题 3.3 坐标轴标签问题 3.4 间隔显示标签 参考博客:Vue —— ECharts实现折线图 本文是在上…

JVM学习-JVM简介以及其内部结构

目录 1.什么是JVM 2.JVM、JRE、JDK、JavaSE、JavaEE之间的联系 3.JVM的内部结构 4.各部分的作用 4.1 类加载器 4.2 方法区 4.3 堆 ​编辑 4.4 虚拟机栈 4.5 程序计数器 4.6 本地方法栈 4.7 解释器和JIT即时编译器 4.9 GC垃圾回收 5.拓展 5.1一些可能会遇到的问…

opencv安装(C++)并配置vs

准备工作: 1.opencv安装包(此教程使用4.9) 2.visual studio(此教程使用vs2019) opencv安装: 1、下载opencv: 1.1 官网下载:Releases - OpenCV 1.2 百度网盘:链接:https://pan.baidu.com/s/1NpEoFjbbyQJtFD…

CTF-希尔加解密

对于希尔加解密很多writeup都说用在线工具,所以研究了一下,写了一个方便的加解密python代码,根据给定的字母表及私钥字符串,尝试不同纬度不同重叠的加密矩阵输出加解密结果。运行效果如下: 代码文件Hill希尔加解密_fi…

8:00面试,8:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到9月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

matlab simulink 工业现场漆包机烘炉模糊PID控制算法

1、内容简介 略 70-可以交流、咨询、答疑 2、内容说明 matlab simulink 工业现场漆包机烘炉模糊PID控制算法 第五章 控制算法仿真与分析 在第二章系统分析结合工业现场漆包机烘炉数学模型详细分析模糊PID控制算法以及解耦控制算法的优缺点、实现原理,为本章算法…

第8节课------列生成与分支定价法

列生成与分支定价法 1. 列生成 通过迭代的方式来构建和解决一个“受限”的主问题,并通过解决一系列相关的子问题来动态地生成新的变量(或称列),这些新变量有可能改进主问题的解。 原问题新添加的这一列可以通过对偶问题的行来计算。 2. 列生成的详细说明 对于原来的…

【TB作品】数字电压表设计,MSP430,电压表,Proteus仿真,分档位

文章目录 题目要求第1版方案第2版方案代码介绍获取代码和仿真 题目要求 33、数字电压表设计 基本要求: 了解电压表的工作原理。 对0~2.5V的模拟电压进行循环采集 采集的数据进行A/D转换后用LCD屏显示测量值,显示精度0.0001 用键盘选择测量范围(分档) 超过测量范围时指示灯持续…