数仓分层——ODS、DW、ADS

一、什么是数仓分层

数据仓库分层是一种组织和管理数据仓库的结构化方法,它将数据仓库划分为不同的层次或级别,每个层次具有特定的功能和目的。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问,并提供一种清晰的结构来支持数据管理和分析需求。下面详细解释一下数仓分层的几个关键方面:

  1. 数据来源与采集: 在数据仓库分层中,首先要考虑的是数据来源和采集。数据可以来自多种不同的来源,包括业务应用系统、外部数据提供商、日志文件、传感器等。数据采集过程涉及到从这些来源中提取数据并将其加载到数据仓库中,以供后续处理和分析使用。

  2. 数据存储与管理: 分层架构中的另一个关键方面是数据的存储和管理。这包括选择合适的存储介质、设计适当的数据模型、定义数据结构和约束、实施数据安全措施等。数据存储和管理的目标是确保数据的可靠性、完整性、可用性和安全性。

  3. 数据处理与转换: 数据仓库分层中的另一个重要方面是数据的处理和转换。这包括数据清洗、数据整合、数据转换、数据标准化等操作,以确保数据质量和一致性。数据处理和转换的目标是使数据适合用于后续的分析和应用。

  4. 数据访问与分析: 最终,数据仓库分层的目标是提供给用户一个便于访问和分析数据的接口。这包括设计和实施适当的查询接口、报表工具、分析工具、可视化工具等,以支持用户对数据的探索、查询、分析和决策。数据访问和分析的目标是使用户能够从数据中提取有价值的信息并做出明智的决策。

        数据仓库分层是一种组织和管理数据仓库的方法,它将数据仓库划分为不同的层次或级别,每个层次具有特定的功能和目的,包括数据来源与采集、数据存储与管理、数据处理与转换以及数据访问与分析。这种分层方法有助于管理数据仓库中的数据流程、数据处理和数据访问,并提供一种清晰的结构来支持数据管理和分析需求。

二、数仓分为哪几层

        数据仓库至少要分三层,分别为ODS、DW、ADS,但是这种分层对于小项目来说还好,但是对于多表多数据的项目来讲无疑是一种挑战,倘若只有这三层,那么我们需要在DW层完成所有的数据操作以及需求计算,这将会产生上千甚至上万行冗余代码,一旦出现问题,将会带来很沉重的工作量。所以为了优化开发,我们可以把DW层进一步划分为:DWD、DWM、DWS层。

三、数仓分层介绍

3.1、ODS层

ODS(Operational Data Store,运营数据存储)是数据仓库体系结构中的一个重要组成部分,通常作为数据仓库架构中的第一个层次或者与原始数据层紧密相关。ODS 层主要用于存储和处理来自业务应用系统的实时、操作性数据,提供给业务用户和决策者进行日常的操作性查询和分析。以下是关于ODS层的详细介绍:

  1. 数据来源: ODS 层的数据主要来自于组织内部的业务应用系统,如企业资源计划(ERP)、客户关系管理(CRM)、销售、采购、库存管理系统等。这些系统产生的数据通常是实时、操作性的,包含了组织的日常业务活动的详细信息。

  2. 数据存储: ODS 层通常采用关系型数据库(如Oracle、SQL Server、MySQL等)或者 NoSQL 数据库(如MongoDB、Cassandra等)来存储数据。存储数据的结构通常较为灵活,旨在满足业务需求的变化和数据模型的动态调整。

  3. 数据处理: 在ODS层,数据通常不经过大规模的清洗和转换,而是以尽可能原始的形式存储。然而,ODS层也可能涉及一些简单的数据清洗、去重和错误校验等处理,以确保数据的质量和准确性。

  4. 数据集成: ODS 层通常会集成来自多个业务应用系统的数据,以提供一个全面的、整合的数据视图。这有助于消除数据孤岛,确保业务数据的一致性和完整性。

  5. 支持实时查询和分析: 由于ODS层存储的是实时、操作性的数据,因此它通常被用于支持实时查询和分析需求。业务用户和决策者可以直接访问ODS层中的数据,进行即时的操作性查询和分析,以支持日常的业务活动和决策过程。

  6. 与其他层的关系: ODS 层通常是数据仓库架构中的第一个层次,与原始数据层紧密相关。它为后续的数据仓库层次提供了一个基础,如数据清洗与转换层、维度建模层等。ODS 层还可以与数据湖(Data Lake)等现代数据架构中的其他组件集成,以实现更广泛的数据管理和分析需求。

3.2、DW层

3.2.1、DWD层

        数据仓库的 DWD(Data Warehouse Detail)层是数据仓库架构中的一个重要组成部分,通常位于维度建模层之后,用于存储已经经过清洗、转换和集成的详细数据。以下是关于 DWD 层的详细介绍:

  1. 数据来源: DWD 层的数据来源于数据仓库中的上一层,通常是维度建模层(DM)或者集成层(Integration Layer)。这些数据经过了清洗、转换和整合处理,以满足特定的业务需求和分析目的。

  2. 数据存储: DWD 层通常采用关系型数据库(如Oracle、SQL Server、MySQL等)或者大数据存储系统(如Hadoop、Spark等)来存储数据。与ODS层相比,DWD 层的数据存储结构更为规范和固定,通常采用规范化的数据模型来支持复杂的查询和分析。

  3. 数据处理: 在DWD层,数据经过了更加深入的清洗、转换和加工处理,以满足业务需求和分析目的。这包括数据清洗、数据整合、数据转换、数据计算、数据标准化等操作,以确保数据的质量、一致性和可用性。

  4. 数据集成: DWD 层通常集成了来自多个来源的数据,以提供一个全面、一致的数据视图。这包括不同业务部门、不同数据系统和不同数据源的数据,以支持跨部门和跨系统的分析和决策需求。

  5. 支持复杂分析: 由于DWD层存储的是已经经过深入处理和加工的详细数据,因此它通常用于支持复杂的分析需求,如数据挖掘、预测分析、机器学习等。数据科学家和分析师可以利用DWD层中的数据进行深入的数据分析和建模,以发现隐藏在数据背后的模式和关联。

  6. 与其他层的关系: DWD 层通常位于数据仓库架构中的核心位置,它与其他层次(如维度建模层、汇总与聚合层、报表与分析层等)密切相关。DWD 层提供了一个可靠、一致的数据源,为后续的分析和报表提供了基础。

3.2.2、DWM层

        在数据仓库架构中,DWM(Data Warehouse Mart)层是数据仓库中的一个关键组成部分,它通常位于维度建模层(DWD)和汇总与聚合层之间。DWM层旨在提供一种介于详细数据层和汇总数据层之间的数据结构,以支持更灵活和高效的数据分析和查询。DWS层产生我们常讲的“小宽表”

  1. 数据来源: DWM层的数据通常来源于DWD层或其他详细数据源,这些数据已经经过清洗、转换和整合处理,以满足特定的业务需求和分析目的。

  2. 数据存储: DWM层通常采用关系型数据库(如Oracle、SQL Server、MySQL等)或者大数据存储系统(如Hadoop、Spark等)来存储数据。与DWD层相比,DWM层的数据存储结构更加灵活和半规范化,以支持更灵活和高效的数据分析和查询。

  3. 数据处理: 在DWM层,数据通常经过进一步的加工、转换和计算处理,以满足更复杂和更具体的分析需求。这包括数据清洗、数据整合、数据转换、数据计算、数据聚合等操作,以支持各种类型的数据分析和查询。

  4. 数据集成: DWM层通常集成了来自多个来源的数据,以提供一个全面、一致的数据视图。这包括不同业务部门、不同数据系统和不同数据源的数据,以支持跨部门和跨系统的数据分析和决策需求。

  5. 支持灵活查询: 由于DWM层存储的数据具有更灵活和半规范化的结构,因此它通常用于支持更灵活和高效的数据查询和分析。数据分析师和业务用户可以利用DWM层中的数据进行各种类型的数据查询和分析,以发现业务中的关键趋势和模式。

  6. 与其他层的关系: DWM层通常位于数据仓库架构中的核心位置,它与其他层次(如DWD层、汇总与聚合层、报表与分析层等)密切相关。DWM层提供了一个灵活、高效的数据源,为数据仓库中的各种分析和报表提供了基础。

3.23、DWS层

        在数据仓库中,DWS(Data Warehouse Store)层通常是指数据仓库的存储层,它是整个数据仓库系统的核心组成部分。DWS 层存储了经过清洗、转换和整合的数据,以支持各种数据分析、报表和决策需求。DWS层产生我们常讲的“大宽表”

  1. 数据来源: DWS 层的数据来源于各种数据源,包括原始数据源、业务应用系统、数据湖、数据仓库的其他层等。这些数据经过了清洗、转换和整合处理,以满足特定的业务需求和分析目的。

  2. 数据存储: DWS 层通常采用专门的数据存储系统或者数据库管理系统(DBMS)来存储数据,例如关系型数据库(如Oracle、SQL Server、MySQL等)、大数据存储系统(如Hadoop、Spark等)、云数据仓库(如AWS Redshift、Google BigQuery、Azure Synapse Analytics等)等。存储在 DWS 层的数据结构通常是规范化或者半规范化的,以支持复杂的数据分析和查询。

  3. 数据处理: 在 DWS 层,数据可能会经过进一步的处理和加工,以满足特定的业务需求和分析目的。这包括数据清洗、数据转换、数据整合、数据计算、数据聚合等操作,以确保数据的质量、一致性和准确性。

  4. 数据管理: DWS 层也涉及到数据管理方面的工作,包括数据备份与恢复、数据安全、数据版本管理、数据治理、数据质量管理等。这些工作有助于确保数据仓库系统的稳定性、安全性和可靠性。

  5. 数据访问与分析: 存储在 DWS 层的数据可以被数据仓库中的其他层次(如汇总与聚合层、报表与分析层等)访问和分析。DWS 层提供了一个统一的数据存储和管理平台,为数据仓库中的各种数据分析和决策需求提供了支持。

3.3、ADS层

        在数据仓库架构中,ADS(Analytical Data Store)层是用于支持高级数据分析、数据挖掘和机器学习等高级分析任务的一个重要组成部分。ADS 层通常位于数据仓库架构的顶层,它包含了经过进一步加工和转换的数据,以支持更复杂和更深入的数据分析和洞察。

  1. 数据来源: ADS 层的数据来源于数据仓库中的其他层次,包括详细数据层(如DWD层、DWM层)、汇总与聚合层等。这些数据经过了进一步的加工、转换和聚合处理,以满足高级分析任务的需求。

  2. 数据存储: ADS 层通常采用专门的数据存储系统或者数据库管理系统(DBMS)来存储数据,例如关系型数据库(如Oracle、SQL Server、MySQL等)、大数据存储系统(如Hadoop、Spark等)、云数据仓库(如AWS Redshift、Google BigQuery、Azure Synapse Analytics等)等。存储在 ADS 层的数据通常是高度规范化或者半规范化的,以支持复杂的数据分析和挖掘任务。

  3. 数据加工与转换: 在 ADS 层,数据可能会经过更深入和更复杂的加工、转换和计算处理,以满足高级分析任务的需求。这包括数据清洗、数据整合、数据转换、数据计算、数据挖掘、机器学习模型训练等操作,以发现数据中的模式、趋势和关联。

  4. 高级分析: ADS 层主要用于支持高级数据分析、数据挖掘、机器学习和预测分析等任务。数据科学家、分析师和业务用户可以利用 ADS 层中的数据进行深入的数据分析和建模,以发现隐藏在数据背后的价值和见解,并支持业务决策和战略规划。

  5. 数据可视化与报告: 存储在 ADS 层的数据通常会被用于生成各种类型的数据可视化和报告,以帮助用户直观地理解和解释数据分析的结果。这包括仪表板、报表、图表、图形等,为用户提供一个直观、易于理解的数据展示平台。

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

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

相关文章

NVIDIA_SMI has failed because it couldn’t communicate with the NVIDIA driver

参考:https://www.zhihu.com/question/474222642/answer/3127013936 https://blog.csdn.net/ZhouDevin/article/details/128265656 nvidia-smi查看报错,nvcc正常 1)查看nvidia版本 ls /usr/src | grep nvidia nvidia-550.78 2)…

【大模型】LLaMA-1 模型介绍

文章目录 一、背景介绍二、模型介绍2.1 模型结构2.2 模型超参数2.3 SwiGLU 三、代码分析3.1 模型结构代码3.2 FairScale库介绍 四、LLaMA家族模型4.1 Alpaca4.2 Vicuna4.3 Koala(考拉)4.4 Baize (白泽)4.5 Luotuo (骆驼,Chinese)4.6 其他 参考资料 LLaMA&#xff08…

自动化运维管理工具----------Ansible模块详细解读

目录 一、自动化运维工具有哪些? 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …

【算法】数字接龙 走迷宫问题的一般处理思路

前言 其实走迷宫就是一个普普通通的深搜回溯嘛,但是我之前做的很多题都是在一个二维的地图上,只能上下左右四个方向走迷宫,在做数字接龙这道题的时候,相当于可以往8个方向走,虽然逻辑上不变,但按照我之前的…

Spring Boot集成RabbitMQ-之6大模式总结

A.集成 一&#xff1a;添加依赖 在pom.xml文件中添加spring-boot-starter-amqp依赖&#xff0c;以便使用Spring Boot提供的RabbitMQ支持&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp&…

第50期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以找…

新的循环体和define

目录 do while讲解 练习&#xff1a; 结果&#xff1a; 分析&#xff1a; 定义&#xff1a;宏&#xff08;define&#xff09; 练习&#xff1a; 结果&#xff1a; 分析&#xff1a; define的优缺点 优点&#xff1a; 缺点&#xff1a; 作业&#xff1a; 大家假期…

Day21 代码随想录打卡|字符串篇---右旋转字符串

题目&#xff08;卡码网 T55&#xff09;&#xff1a; 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k&#xff0c;请编写一个函数&#xff0c;将字符串中的后面 k 个字符移到字符串的前面&#xff0c;实现字符串的右旋转…

推荐网站(5)Pika文字生成视频,ai视频创作

今天推荐一个网站&#xff0c;Pika文字生成视频&#xff0c;通过问题描述&#xff0c;帮我们生成对应的视频&#xff0c;非常的实用。 比如输入&#xff1a;一只小狗在河边洗澡 当然我们还可以在生成的视频上编辑 点击编辑后出来一些属性&#xff0c;可以修改区域&#xff0c…

简易录制视频做3D高斯

系统环境 ubuntu20 &#xff0c;cuda11.8&#xff0c;anaconda配置好了3D高斯的环境。 具体参考3D高斯环境配置&#xff1a;https://blog.csdn.net/Son_of_the_Bronx/article/details/138527329?spm1001.2014.3001.5501 colmap安装&#xff1a;https://blog.csdn.net/Son_of…

如何使用泰克示波器测量波长?

泰克示波器是一种非常常用的仪器&#xff0c;用于测量和分析各种类型的电信号。测量波长是泰克示波器的一项重要功能&#xff0c;能够帮助我们了解信号的周期性和频率特性。本文将详细介绍如何使用泰克示波器测量波长&#xff0c;并提供一些实用的技巧和注意事项。 首先&#…

T型槽地轨承载力是如何连接整个制造过程的强力桥梁(北重公司设计)

T型槽地轨承载力的定义和计算 T型槽地轨是一种用于工业设备运输和装配的关键组件。它由世界上各行各业的生产商广泛采用&#xff0c;其有效的承载力使其成为连接整个制造过程的强力桥梁。本文将介绍T型槽地轨的承载力以及相关的设计要点和应用。 承载力的定义和计算 承载力是…

如何从零开始学习数据结构?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「数据结构的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;数据结构 算法&#xff1d;程…

1天搞定SpringBoot+Vue全栈开发 (7)Axios网络请求

1.Axios的使用 Axios中文文档 | Axios中文网Axios 是一个基于 promise 的网络请求库&#xff0c;可以用于浏览器和 node.jshttps://www.axios-http.cn/ 2.与vue整合 App.vue: <template><div id"app"><Moviev-for"movie in movies":key&qu…

初识Node.js-认识node(安装Node.js环境配置)

目录 一、node介绍 1.概念和特点 2.核心功能 3.应用场景 二、Node初使用 1.安装node配置 windows上安Node.js 1.windows安装包&#xff08;.msi&#xff09; 2、Windows 二进制文件 (.exe)安装 Linux 上安装 Node.js 直接使用已编译好的包 Ubuntu 源码安装 Node.js …

6W 1.5KVDC. 单、双输出 DC/DC 电源模块——TP2L-6W 系列

TP2L-6W系列是一款高性能、超小型的电源模块&#xff0c;2:1电压输入&#xff0c;输出有稳压和连续短路保护功能&#xff0c;隔离电压为1.5KVDC、作温度范围为–40℃到85℃。特别适合对输出电压的精度有严格要求的地方&#xff0c;外部遥控功能对您的设计又多一项选择&#xff…

代码随想录算法训练营第十八天:二叉树的层序遍历(中间放假)

代码随想录算法训练营第十八天&#xff1a;二叉树的层序遍历&#xff08;中间放假&#xff09; ‍ ​​ 102.二叉树的层序遍历 力扣题目链接(opens new window) 给你一个二叉树&#xff0c;请你返回其按 层序遍历 得到的节点值。 &#xff08;即逐层地&#xff0c;从左到右…

干货分享-策划人都在用的活动策划网站

职场上&#xff0c;学会借力&#xff0c;学会‘抄’&#xff0c;比辛辛苦苦做老黄牛&#xff0c;更能事倍功半&#xff0c;不仅自己省事省力&#xff0c;还能获得更多升职加薪的机会。 那么&#xff0c;职场新人如何快速的写出一份领导满意的方案&#xff1f; 今天分享的‘抄…

Java性能优化(五)-多线程调优-Lock同步锁的优化

作者主页&#xff1a; &#x1f517;进朱者赤的博客 精选专栏&#xff1a;&#x1f517;经典算法 作者简介&#xff1a;阿里非典型程序员一枚 &#xff0c;记录在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法&#xff08;公众号同名&#xff09; ❤️觉得文章还…

Windows系统和unbtun系统连接usb 3.0海康可见MVS和红外艾睿相机

一.海康可见USB3.0工业面阵相机 海康usb相机需要去海康官网上下载对应系统的MVS客户端及SDK开发包 海康机器人-机器视觉-下载中心 选择Windows系统和unbtun&#xff08;我是linux aarch64,所以选择了对应压缩包解压&#xff09; Windows系统 1.双击安装包进入安装界面&…