当前位置: 首页 > article >正文

大数据学习(82)-数仓详解

🍋🍋大数据学习🍋🍋

🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。
💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞


一、什么是数据仓库


        数据仓库(下文以“数仓”称),顾名思义,存放数据的仓库,它集合了各个业务系统的数据,以金融业为例,数仓包含了贷款业务、CRM、存款业务等数据。用于企业做数据分析、出报告、做决策;在有些公司也作为各业务系统的数据来源。

        从逻辑上理解,数据库和数仓没有区别,都是通过数据库软件实现存放数据的地方,只不过从数据量来说,数据仓库要比数据库更庞大。

        他们最主要的区别在于,传统事务型数据库如 MySQL 用于做联机事务处理(OLTP),例如交易事件的发生等;而数据仓库主要用于联机分析处理(OLAP),例如出报表等。

        有些同学可能想,数据分析、出报表等工作也可以直接通过业务数据库完成呀,数据仓库似乎也不是必需品。

        如果是简单的系统,比如初创时期,业务量少,用户和数据少,几台服务器和几个MySQL组成的系统,那确实可以实现。但当业务越做越多,用户和数据量很庞大,出报表需要跨集群关联多个系统的数据实现的话,那数仓还是很有必要的。

如果还不能理解,先想几个问题

        如果你要的数据分别存放在很多个不同的数据库,甚至存在于各种日志文件中,你要如何获取这些数据?

        如果你从各数据源中取出了你要的数据,但是发现格式不一样,或者数据类型不一样,你要怎么规范?

        如果有一天你需要在业务系统查历史数据,但发现这些数据被修改过的,你要怎么办?

        如果要跨集群关联各个不同业务系统的数据,要怎么做?怎么优化查询时间?

……

        数仓的出现,可以很好的解决上面这些问题。它通过数据抽取和清洗,将各个业务系统的数据整合落地到一个系统(数仓),规范化数据,方便在出报表做决策的时候获取数据。

二、数仓的特点


集成性


        数仓中存储的数据来源于多个数据源,原始数据在不同数据源中的存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。

稳定性


        数仓中保存的数据是历史记录,不允许被修改。用户只能通过分析工具进行查询和分析。

动态性


        数仓的数据会随时间变化而定期更新,这里的定期更新不是指修改数据,一般是将业务系统发生变化的数据定期同步到数仓,和稳定性不冲突。不可更新是针对应用而言,即用户分析处理时不更新数据。

主题性


        传统数据库对应的业务不同,数仓需要根据需求,将不同数据源的数据进行整合,即数据一般都围绕某一业务主题进行建模。例如“贷款”主题、“存款”主题等。

数仓分层


        数仓一般是分层的,而且各个公司都基于自己的业务场景进行分层,目前的分层可以说是五花八门,没有标准答案。但是最主流的还是按照这样进行分层:


        可能有些同学又要问了,直接取需要的数据落地到表就行了,为什么要分层?有啥好处?

        试想一下,如果不做分层,你按照需求从各个源系统抽取数据落地了一张表,哪一天有个业务人员让你在原来的基础上多取几个字段;另一个让你删掉字段,你怎么做?

三、数仓分层的意义在于

减少重复开发,在数据开发的过程中可以产生中间层,将公共逻辑下沉,减少重复计算;
清晰数据结构,每个分层分工明确,方便开发人员理解;
方便定位问题,通过分层了解数据血缘关系,在出问题的时候通过回溯定位问题;
简单化复杂问题,和分治法思想类似,分而治之,将复杂的问题简单化,还能解耦。

相关文章:

大数据学习(82)-数仓详解

🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一…...

Unity学习之Shader(Phong与Blinn-Phong)

三、Lesson3 1、关键名称 向量 • nDir:法线方向,点乘操作时简称n; • lDir:光照方向,点乘操作时简称l; • vDir:观察方向,点乘操作时简称v; • rDir:光反…...

uniapp笔记-swiper组件实现轮播图

思路 主要就是参考 swiper | uni-app官网 实现轮播图。 实例 新建一个banner.vue通用组件。 代码如下&#xff1a; <template><view>轮播图</view> </template><script> </script><style> </style> 随后在index.vue中导…...

【C++ 继承】—— 青花分水、和而不同,继承中的“明明德”与“止于至善”

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…...

FPGA_YOLO(二)

上述对cnn卷积神经网络进行介绍,接下来对YOLO进行总结,并研究下怎么在FPGA怎么实现的方案。 对于一个7*7*30的输出 拥有49个cell 每一个cell都有两个bbox两个框,并且两个框所包含的信息拥有30个 4个坐标信息和一个置信度5个,剩下就是20个类别。 FPGA关于YOLO的部署 1…...

蓝桥杯学习-14子集枚举,二进制枚举

子集枚举 一、回溯3-子集枚举&#xff08;递归实现指数型枚举&#xff09; 一旦涉及选与不选&#xff0c;删和不删&#xff0c;留和不留-->两种状态-->就要想到子集枚举例题1–递归实现指数型枚举19685 其实看不懂这个题目&#xff0c;好奇怪的题目。根据老师的解析来写…...

人工智能时代大学教育范式重构:基于AI编程思维的能力培养路径研究

人工智能技术的快速发展正在重塑高等教育的内容与方法。本文以AI编程教育为切入点&#xff0c;通过文献分析与案例研究&#xff0c;探讨AI时代大学教育的核心能力需求与教学范式转型路径。研究发现&#xff0c;AI编程中蕴含的系统性思维训练、项目架构能力和元认知能力培养机制…...

<数据集>轨道异物识别数据集<目标检测>

数据集下载链接&#xff1a;https://download.csdn.net/download/qq_53332949/90527370 数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;1659张 标注数量(xml文件个数)&#xff1a;1659 标注数量(txt文件个数)&#xff1a;1659 标注类别数&#xff1a;6 标注类别…...

结构型——享元模式

享元模式 享元模式的核心思想是通过共享技术减少大量细粒度对象的创建&#xff0c;降低内存占用并提升性能。换句话说&#xff0c;它通过分离对象的内部状态&#xff08;可共享的固有属性&#xff09;和外部状态&#xff08;随场景变化的属性&#xff09;实现对象复用。 特点…...

淘宝API关键词接口详解(实战案例)

以下为您详解淘宝API关键词接口的调用方法及实战案例&#xff1a; 一、接口定义与核心功能 淘宝关键词API是开放平台提供的标准化数据服务接口&#xff0c;允许开发者通过关键词检索商品全维度信息。其核心功能包括&#xff1a; 精准检索&#xff1a;支持商品标题、属性、类…...

Pyecharts功能详解与实战示例

一、Pyecharts简介 Pyecharts是一个基于Python的开源数据可视化库&#xff0c;它基于百度的Echarts库&#xff0c;提供了丰富的图表类型和强大的交互功能。通过Pyecharts&#xff0c;你可以轻松创建各种精美的图表&#xff0c;如折线图、柱状图、饼图、散点图、地图等&#xf…...

传统金融和分布式金融

文章目录 传统金融和分布式金融一、传统金融机构的核心问题深度剖析1. 支付与清算系统的结构性缺陷2. 金融排斥&#xff08;Financial Exclusion&#xff09;的根源3. 中心化风险的爆发与传导 二、DeFi的技术突破与创新机制1. 支付与清算&#xff1a;区块链的底层重构2. 普惠金…...

EasyUI数据表格中嵌入下拉框

效果 代码 $(function () {// 标记当前正在编辑的行var editorIndex -1;var data [{code: 1,name: 1,price: 1,status: 0},{code: 2,name: 2,price: 2,status: 1}]$(#dg).datagrid({data: data,onDblClickCell:function (index, field, value) {var dg $(this);if(field ! …...

C语言:扫雷

在编程的世界里&#xff0c;扫雷游戏是一个经典的实践项目。它不仅能帮助我们巩固编程知识&#xff0c;还能锻炼逻辑思维和解决问题的能力。今天&#xff0c;就让我们一起用 C 语言来实现这个有趣的游戏&#xff0c;并且通过图文并茂的方式&#xff0c;让每一步都清晰易懂 1. 游…...

操作系统必知的面试题

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

清华大学.智灵动力-《DeepSeek行业应用实践报告》附PPT下载方法

导 读INTRODUCTION 今天分享是由清华大学.智灵动力&#xff1a;《DeepSeek行业应用实践报告》&#xff0c;主要介绍了DeepSeek模型的概述、优势、使用技巧、与其他模型的对比&#xff0c;以及在多个行业中的应用和未来发展趋势。为理解DeepSeek模型的应用和未来发展提供了深入的…...

数据库三级填空+应用题(1)

填空 35【答案】TOP 3 WITH TIES 【解析】希望选出商品数量最多的前3类商品&#xff0c;并获得相应的商品类别和数量。with ties一般是和Top 、 order by相结合使用,表示包括与最后一行order by后面的参数取值并列的结果。 36在SQL Server 2008中&#xff0c;每个数据页可存储8…...

可视化图解算法:链表的奇偶重排(排序链表)

1. 题目 描述 给定一个单链表&#xff0c;请设定一个函数&#xff0c;将链表的奇数位节点和偶数位节点分别放在一起&#xff0c;重排后输出。 注意是节点的编号而非节点的数值。 数据范围&#xff1a;节点数量满足 0≤n≤105&#xff0c;节点中的值都满足 0≤val≤10000 要…...

Atlas 800I A2 双机直连部署DeepSeek-R1-w8a8

一、环境信息 1.1、硬件信息 Atlas 800I A2 * 2 1.2、环境信息 操作系统&#xff1a;openEuler 22.03 LTS NPU驱动&#xff1a;Ascend-hdk-910b-npu-driver 24.1.0 linux-aarch64.run NPU固件&#xff1a;Ascend-hdk-910b-npu-firware 7.5.0.3.220.run MindIE镜像&#xff…...

如何确保异步任务在 HTTP 返回后继续执行?context.WithoutCancel

文章目录 如何确保异步任务在 HTTP 返回后继续执行&#xff1f;问题分析如何确保异步任务在 HTTP 返回后继续执行&#xff1f;&#xff08;1&#xff09;使用独立的 context&#xff08;2&#xff09;手动传递父 ctx 中的值&#xff08;3&#xff09;使用 context.WithoutCance…...

SAP Activate Methodology in a Nutshell Phases of SAP Activate Methodology

SAP Activate Methodology in a Nutshell Phases of SAP Activate Methodology...

开源AI大模型、AI智能名片与S2B2C商城小程序源码:实体店引流的破局之道

摘要&#xff1a;本文聚焦实体店引流困境&#xff0c;提出基于"开源AI大模型AI智能名片S2B2C商城小程序源码"的技术整合方案。通过深度解析各技术核心机制与协同逻辑&#xff0c;结合明源云地产营销、杭州美甲店裂变等实际案例&#xff0c;论证其对流量精准获取、客户…...

JVM 02

今天是2025/03/23 19:07 day 10 总路线请移步主页Java大纲相关文章 今天进行JVM 3,4 个模块的归纳 首先是JVM的相关内容概括的思维导图 3. 类加载机制 加载过程 加载&#xff08;Loading&#xff09; 通过类全限定名获取类的二进制字节流&#xff08;如从JAR包、网络、动态…...

C++ :顺序容器

一、顺序容器概述 顺序容器通过元素在容器中的线性存储顺序来维护数据&#xff0c;允许通过位置&#xff08;下标&#xff09;​访问元素。标准库提供6种核心顺序容器&#xff1a; 容器类型头文件底层结构特点vector<vector>动态数组快速随机访问&#xff0c;尾部高效增…...

身份证信息要素真伪认证-身份证二、三要素实名接口

在数字化时代&#xff0c;身份验证的准确性和安全性至关重要。身份证二、三要素实名接口作为一种高效且可靠的身份验证工具&#xff0c;正逐渐成为众多行业确保信息真实性、防范欺诈行为的关键手段。 身份证二、三要素实名接口主要验证身份证号码、姓名以及证件头像是否一致。通…...

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。 1、原因分析 2、解决办法 如果是使用的虚拟环境,需要下你提前激活虚拟环境,再进行下列操作。 因为需要…...

【线程安全的单例模式和STL是否是线程安全/智能指针是否是线程安全】

文章目录 一、单例模式的特点二、饿汉模式实现单例三、懒汉模式实现单例四、STL线程安全吗&#xff1f;五、智能指针线程安全吗&#xff1f; 一、单例模式的特点 一个类&#xff0c;只应该实例化了一个对象&#xff0c;就是单例。 二、饿汉模式实现单例 举个饿汉模式的例子&…...

C++11 标准库 `find` 与 `find_if` 详解

一、std::find 函数 功能&#xff1a;在指定范围内查找特定值&#xff0c;返回第一个匹配元素的迭代器&#xff1b;若未找到&#xff0c;返回 end() 迭代器。 原型&#xff1a; template <class InputIt, class T> InputIt find(InputIt first, InputIt last, const T&…...

每日总结3.24

第十届蓝桥杯大赛软件赛省赛C/C 大学 B 组 183.完全二叉树的权值&#xff08;找规律&#xff0c;临界值&#xff09; #include <bits/stdc.h> using namespace std; int a[1000005]; int main() { int m;int d; cin>>m; int sum;int maxn0; for(int i1;i&…...

Redis分布式寻址算法

分布式寻址算法是分布式系统中用于确定数据应该存储在哪个节点的算法。这些算法对于实现高效的数据存取、负载均衡和系统扩展性至关重要。以下是几种常见的分布式寻址算法的解释&#xff1a; 1. Hash 算法 原理&#xff1a;通过哈希函数将数据的键&#xff08;Key&#xff09…...