数据仓库数据分层详解

news2024/11/23 23:04:30

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

  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.coloradmin.cn/o/1523531.html

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

相关文章

【老旧小区用电安全谁能管?】安科瑞智慧用电安全管理系统解决方案

行业背景 电气火灾指由电气故障引发的火灾。每年以30%的比例高居各类火灾原因之首。以50%到80%的比例高居重特大火灾之首。已成为业界重点关注的对象并为此进行着孜孜不倦的努力。 国务院安委会也于2017年5月至2020年4月年开展了为期3年的电气火灾综合治理工作。在各界努力的…

主干网络篇 | YOLOv8更换主干网络之ShuffleNetV2

前言:Hello大家好,我是小哥谈。ShuffleNetV2是一种轻量级的神经网络架构,用于图像分类和目标检测任务。它是ShuffleNet的改进版本,旨在提高模型的性能和效率。ShuffleNetV2相比于之前的版本,在保持模型轻量化的同时&am…

LeetCode刷题小记 八、【回溯算法】

1.回溯算法 文章目录 1.回溯算法写在前面1.1回溯算法基本知识1.2组合问题1.3组合问题的剪枝操作1.4组合总和III1.5电话号码的字母组合1.6组合总和1.7组合总和II1.8分割回文串1.9复原IP地址1.10子集问题1.11子集II1.12非递减子序列1.13全排列1.14全排列II1.15N皇后1.16解数独 写…

WanAndroid(鸿蒙版)开发的第三篇

前言 DevEco Studio版本:4.0.0.600 WanAndroid的API链接:玩Android 开放API-玩Android - wanandroid.com 其他篇文章参考: 1、WanAndroid(鸿蒙版)开发的第一篇 2、WanAndroid(鸿蒙版)开发的第二篇 3、WanAndroid(鸿蒙版)开发的第三篇 …

三级等保技术建议书

1信息系统详细设计方案 1.1安全建设需求分析 1.1.1网络结构安全 1.1.2边界安全风险与需求分析 1.1.3运维风险需求分析 1.1.4关键服务器管理风险分析 1.1.5关键服务器用户操作管理风险分析 1.1.6数据库敏感数据运维风险分析 1.1.7“人机”运维操作行为风险综合分析 1.2…

EPICS和Arduino Uno之间基于串行文本协议的控制开发

Arduino Uno的串口服务程序设置如文本的串口通信协议设计以及在Arduino上的应用-CSDN博客中所示。通过在串口上发送约定的文本协议,它实现的功能如下: 实现功能: 读取三路0.0V~5.0V模拟量输入,读取端口A0~A2设置三路0.0V~5.0V的模…

Github 2024-03-16 开源项目日报Top10

根据Github Trendings的统计,今日(2024-03-16统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5非开发语言项目2TypeScript项目1C++项目1Lua项目1Swift项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:4…

spring boot3登录开发-微信小程序用户登录设计与实现

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 登录流程 流程解析 具体实现 相关代码 说明 服务端 小程序端 写在最后 写在前面 本文介绍了springb…

BigDL-LLM 安装指南——在iGPU集成显卡下使用BigDL-LLM大模型库加速LLM

文章目录 iGPU是什么?一、环境准备1.1 Visual Studio 2022 Community 安装1.2 安装或更新最新版本的GPU驱动程序1.3 安装英特尔oneAPI工具包2024.0版本1.4 安装Anaconda 二、BigDL -LLM 安装2.1 创建虚拟环境2.2 激活虚拟环境2.3 安装bigdl-llm[xpu] 三、运行环境配…

Etcd 介绍与使用(入门篇)

etcd 介绍 etcd 简介 etc (基于 Go 语言实现,)在 Linux 系统中是配置文件目录名;etcd 就是配置服务; etcd 诞生于 CoreOS 公司,最初用于解决集群管理系统中 os 升级时的分布式并发控制、配置文件的存储与分…

哔哩哔哩后端Java一面

前言 作者:晓宜 个人简介:互联网大厂Java准入职,阿里云专家博主,csdn后端优质创作者,算法爱好者 最近各大公司的春招和实习招聘都开始了,这里分享下去年面试B站的的一些问题,希望对大家有所帮助…

PLC_博图系列☞基本指令“RESET_BF”复位位域

PLC_博图系列☞基本指令“RESET_BF”复位位域 文章目录 PLC_博图系列☞基本指令“RESET_BF”复位位域背景介绍RESET_BF:复位位域说明类型为 PLC 数据类型、STRUCT 或 ARRAY 的位域参数示例 关键字: PLC、 西门子、 博图、 Siemens 、 RESET_BF 背景…

java 开发工具

新建项目 打开idea选择 New Project 新建一个项目 左边选择 Java项目,右边选择Java版本 接着next 修改项目名称和保存路径,然后点击下面的 Finish 最终页面; 在 src 目录右键,新建一个包 在 src 目录右键,新建java 文件 有时候会需…

Git全套教程一套精通git.跟学黑马笔记

Git全套教程一套精通git.跟学黑马笔记 文章目录 Git全套教程一套精通git.跟学黑马笔记1.版本管理工具概念2. 版本管理工具介绍2.1版本管理发展简史(维基百科)2.1.1 SVN(SubVersion)2.1.2 Git 3. Git 发展简史4. Git 的安装4.1 git 的下载4.2 安装4.3 基本配置4.4 为常用指令配置…

智能工具柜-RFID智能工具柜管理系统

RFID工具柜管理系统是一种便捷化的工具管理系统,它采用RFID技术实现信息化,可以大大提高工具管理的效率和准确性。 日常的工具管理也确实存在一定的管理问题,如工具管理效率低、管理不准确等。因此,采用RFID技术实现信息化已经成…

【深度学习】深度估计,Depth Anything Unleashing the Power of Large-Scale Unlabeled Data

论文标题:Depth Anything Unleashing the Power of Large-Scale Unlabeled Data 论文地址:https://arxiv.org/pdf/2401.10891.pdf 项目主页:https://depth-anything.github.io/ 演示地址:https://huggingface.co/spaces/LiheYoung…

【Elasticsearch】windows安装elasticsearch教程及遇到的坑

一、安装参考 1、安装参考:ES的安装使用(windows版) elasticsearch的下载地址:https://www.elastic.co/cn/downloads/elasticsearch ik分词器的下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases kibana可视化工具下载…

火车订票管理系统|基于springboot框架+ Mysql+Java+B/S结构的火车订票管理系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能模块 系统功能设计 数据库E-R图设计 lunwen…

【深度学习目标检测】二十三、基于深度学习的行人检测计数系统-含数据集、GUI和源码(python,yolov8)

行人检测计数系统是一种重要的智能交通监控系统,它能够通过图像处理技术对行人进行实时检测、跟踪和计数,为城市交通规划、人流控制和安全管理提供重要数据支持。本系统基于先进的YOLOv8目标检测算法和PyQt5图形界面框架开发,具有高效、准确、…

[WUSTCTF2020]颜值成绩查询 --不会编程的崽

这题也是一个很简单的盲注题目,这几天sql与模板注入做麻了,也是轻松拿捏。 它已经提示,enter number,所有猜测这里后台代码并没有使用 " 闭合。没有明显的waf提示, 但是or,and都没反应。再去fuzz一…