数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤
数仓建模的核心概念
-
事实表(Fact Table):
-
存储业务过程的度量值(如销售额、订单数量等)。
-
通常包含外键,用于关联维度表。
-
-
维度表(Dimension Table):
-
存储描述性信息(如时间、地点、产品等)。
-
用于对事实表中的数据进行分类和分析。
-
-
粒度(Granularity):
-
定义事实表中每一行数据的详细程度(如按天、按订单、按交易等)。
-
粒度越细,数据量越大,分析能力越强。
-
-
指标(Metrics):
-
业务分析中需要计算的数值(如销售额、利润率等)。
-
通常存储在事实表中。
-
数仓
即数据仓库, 做Data WareHouse,简称DW。
数据仓库是面向分析的集成化数据平台,分析的结果给企业提供决策支持
-
面向主题(Subject-Oriented):
围绕特定的主题或业务领域(如销售、客户、产品等)组织数据 -
集成性(Integrated):
从多个不同的数据源集成数据。 -
非易失性(Non-Volatile):
数据仓库中的数据通常是只读的,一旦数据被加载到数据仓库中,就不会被频繁修改或删除。 -
时变性(Time-Variant):
按时间顺序存储数据,能够反映历史变化。数仓是一个持续维护建设的东西。 站在时间的角度,数仓的数据成批次变化更新。一天一分析(T+1) 一周一分析(T+7)
数据库:面向业务划分数据 以业务流程为导向组织数据
数据仓库:面向主题划分数据 以分析需要为导向组织数据
数据仓库系统:数据从获取、存储到数据仓库、数据分析的所有部分
数据仓库系统
核心1: ETL
即数据的抽取, 转换, 装载
CRM: 客户关系管理系统
ERP:企业资源计划系统
Billing:计费系统
Supply Chain:供应链管理系统
Reporting:报告系统
Visualization:数据可视化工具
BI: 商业智能
核心2:数仓分层
将各种数据的处理流程进行规范化。
分3层是: 数据源层, 数据仓库层, 数据集市层
分为5层时,把数据仓库层细分为: 明细数据层, 基础数据层, 服务数据层
即: 数据源层, 明细数据层, 基础数据层, 服务数据层, 数据集市层

-
功能:ODS层是数据源层(也叫贴源层),主要用于存储从各个业务系统(如CRM、ERP等)抽取的原始数据。
-
特点:数据通常是近实时的,保留较短的周期,结构上与源系统基本一致。
-
用途:用于支持日常操作和简单的查询。
DW层(Data Warehouse Layer)
数据仓库层: 是核心的数据存储层,负责存储经过清洗、转换和集成的数据
DW层分为
1. DWD明细数据层(Detail Data Layer):
原始数据或经过初步清洗的详细数据
-
数据粒度最细,通常是事务级别的数据。
-
数据保留较完整的历史记录,支持细粒度的分析和回溯。
-
用途:
-
为上一层提供详细的原始数据。
-
支持对历史数据的深度分析和挖掘
-
2. DWB基础数据层(Base Data Layer):
存储经过进一步清洗、整合和建模的数据。
-
经过ETL处理,去除了冗余和不一致。
-
数据结构更加规范,通常按照主题或业务需求进行建模
-
数据粒度较明细层稍粗,但仍保留较高的细节。
-
用途:
-
为上一层提供一致、准确的基础数据。
-
支持跨业务线的数据整合和共享。
-
3. DWS服务数据层(Service Data Layer):
存储为特定业务场景或应用服务的数据。
-
特点:
-
数据经过进一步的汇总、聚合和优化,适合快速查询和分析。
-
数据粒度较粗,通常是按业务需求定制的汇总数据。
-
数据结构针对特定应用场景进行优化,支持高性能访问。
-
-
用途:
-
为前端应用(如报表、BI工具、数据服务)提供直接可用的数据。
-
支持实时查询、报表生成和业务决策。
-
DM(Data Mart)层:
-
功能:数据集市层,存储面向特定部门或业务线的数据。
-
特点:数据通常是DWD或DWS层数据的子集,针对特定需求进行优化。
-
用途:用于支持部门级的分析和决策。
核心3: 数仓建模
是设计数据仓库结构的过程
数仓建模的方法
星型模型
雪花模型
星座模型
数仓建模的步骤
-
需求分析:
-
了解业务需求,明确分析目标和数据范围。
-
确定需要分析的业务过程(如销售、库存、客户等)。
-
-
数据源分析:
-
确定数据来源(如业务系统、日志、外部数据等)。
-
分析数据的结构、质量和更新频率。
-
-
概念模型设计:
-
设计高层次的数据模型,确定事实表和维度表。
-
确定业务过程的度量值和维度属性。
-
-
逻辑模型设计:
-
细化概念模型,定义表结构、字段类型和关系。
-
选择适合的建模方法(如星型模型、雪花模型)。
-
-
物理模型设计:
-
根据逻辑模型设计具体的数据库表结构。
-
考虑性能优化(如分区、索引、存储格式等)。
-
-
ETL 设计:
-
设计数据抽取、转换和加载(ETL)流程。
-
确保数据从源系统到数据仓库的准确性和一致性。
-
-
测试与优化:
-
测试数据仓库的性能和数据质量。
-
根据测试结果优化模型和 ETL 流程。
-
相关文章:
数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤
数仓建模的核心概念 事实表(Fact Table): 存储业务过程的度量值(如销售额、订单数量等)。 通常包含外键,用于关联维度表。 维度表(Dimension Table): 存储描述性信息&…...
markdown|mermaid|typora绘制流程图的连接线类型怎么修改?
1、使用typora绘制流程图。别人例子里面的连线是圆弧,我的画出来就是带折线的 这是卖家秀: 这是买家秀: 无语了有没有? 犹豫了片刻我决定一探究竟(死磕)。 Typora --> 文件 --> 偏好设置 --》 mar…...
理解WebGPU 中的 GPUDevice :与 GPU 交互的核心接口
在 WebGPU 开发中, GPUDevice 是一个至关重要的对象,它是与 GPU 进行交互的核心接口。通过 GPUDevice ,开发者可以创建和管理 GPU 资源(如缓冲区、纹理、管线等),并提交命令缓冲区以执行渲染和计算任…...
庞氏骗局(Ponzi Scheme):金融投资与公司经营中的隐形陷阱(中英双语)
庞氏骗局:金融投资与公司经营中的隐形陷阱 庞氏骗局(Ponzi Scheme),这个词在金融史上屡见不鲜。从投资骗局到企业经营中的资本运作,庞氏骗局的核心逻辑始终如一:用后来的资金填补前面的缺口,营…...
【黑马点评】 使用RabbitMQ实现消息队列——3.批量获取1k个用户token,使用jmeter压力测试
【黑马点评】 使用RabbitMQ实现消息队列——3.批量获取用户token,使用jmeter压力测试 3.1 需求3.2 实现3.2.1 环境配置3.2.2 修改登录接口UserController和实现类3.2.3 测试类 3.3 使用jmeter进行测试3.4 测试结果3.5 将用户登录逻辑修改回去3.6 批量删除生成的用户…...
前端调用串口通信
项目录结构 node项目 1) 安装serialport npm install serialport 2)编写index.js 1 const SerialPort require(serialport); 2 var senddata [0x02];//串口索要发送的数据源 3 var port new SerialPort(COM3);//连接串口COM3 4 port.on(open, fun…...
微信小程序请求大模型监听数据块onChunkReceived方法把数据解析成json
自己写的真是案例,onChunkReceived监听到的数据块发现监听到的内容不只是一个块,有时候会是多块,所以自己加了一个循环解析的过程,不知道大家监听到的数据情况是否一致。 在网上翻阅大量资料有的说引入js文件,亲测无效…...
SQL Server STUFF 函数的用法及应用场景
在 SQL Server 中,STUFF 函数是一种强大的字符串处理工具,常用于删除指定位置的字符并插入新的字符。通过这个函数,开发者能够灵活地修改字符串,从而在数据处理、字符串拼接和格式化等方面大显身手。本文将深入探讨 STUFF 函数的语…...
Qt使用CipherSqlite插件访问加密的sqllite数据库
1.下载 git clone https://github.com/devbean/QtCipherSqlitePlugin.git 2.编译CipherSqlite插件 使用qt打开QtCipherSqlitePlugin项目,并构建插件 3.将构建的插件复制到安装目录 4.使用DB Browser (SQLCipher)创建数据库并加密 5.qt使用Ciphe…...
美国哈美顿零件号A203560 HAMILTON 10µl 1701 N CTC (22S/3) A200S 203560
零件号a61092-01 hamilton ml600 电源 110-220 vac 61092-01 零件号a81322 hamilton 1001 tll 1ml 注射器带塞子 81322 零件号a61710-01 hamilton ml600 探头支架 管架 61710-01 零件号a61614-01 hamilton ml600 填充管 12 ga 1219mm 4.57ml 61614-01 零件号a61615-01 ham…...
深入理解 Rust 的迭代器:从基础到高级
1. 迭代器的基础概念 1.1 什么是迭代器? 迭代器是一种设计模式,允许我们逐个访问集合中的元素,而无需暴露集合的内部结构。在 Rust 中,迭代器通过实现 Iterator trait 来定义。该 trait 主要包含一个方法: pub trai…...
聊聊 IP 地址和端口号的区别
在计算机网络中,两个基本概念对于理解设备如何通过网络进行通信至关重要。IP 地址和端口号是 TCP/IP 的典型特征,其定义如下:IP 地址是分配给连接到网络的每台机器的唯一地址,用于定位机器并与其通信。相反,端口号用于…...
地图打包注意事项
地图打包 (注意不能大写 后缀也不能) 需要文件 objects_n 文件夹 (内部大量png文件和plist文件).map.png 小地图tiles_n_n.plist 和tiles_n_n.png 文件sceneAtlasSplitConfigs合并.txt 文件放入 objects_n文件夹 内部(.png文件…...
代码随想录算法营Day38 | 62. 不同路径,63. 不同路径 II,343. 整数拆分,96. 不同的二叉搜索树
62. 不同路径 这题的限制是机器人在m x n的网格的左上角,每次只能向下走一格或者向右走一格。问到右下角有多少条不同路径。这个动态规划的初始状态是第一行和第一列的格子的值都是1,因为机器人只能向右走一格或者向下走一格,所以第一行和第…...
科普:数据仓库中的“指标”和“维度”
在数据仓库中,指标和维度是两个核心概念,它们对于数据分析和业务决策至关重要。以下是对这两个概念的分析及举例说明: 一、指标 定义: 指标是用于衡量业务绩效的关键数据点,通常用于监控、分析和优化企业的运营状况。…...
`Pinia` + `Formily` + `useTable` 实现搜索条件缓存方案
Pinia + Formily + useTable 实现搜索条件缓存方案 背景 在当前的应用体验中,每当用户刷新页面或退出系统时,之前的搜索条件就会消失不见。为了进一步提升工作效率并增强用户体验,希望能够实现这样一个功能:即使用户进行了页面刷新或是暂时离开了平台,再次返回时也能自动…...
Trader Joe‘s EDI 需求分析
Trader Joes成立于1967年,总部位于美国加利福尼亚州,是一家独特的零售商,专注于提供高质量且价格合理的食品。公司经营范围涵盖了各类杂货、冷冻食品、健康食品以及独特的本地特色商品。 EDI需求分析 电子数据交换(EDIÿ…...
【BUG】conda虚拟环境下,pip install安装直接到全局python目录中
问题描述 conda虚拟环境下,有的虚拟环境的python不能使用(which python时直接使用全局路径下的python),且pip install也会安装到全局路径中,无法安装到conda虚拟环境中。 解决方案 查看虚拟环境的PIP缓存默认路径&…...
用Shader glsl实现一个简单的PBR光照模型
PBR模型定义了各种光照属性,如基础颜色、金属度、粗糙度等,就像给物体设定各种 “性格特点”。顶点着色器负责把顶点从模型空间转换到裁剪空间,同时计算一些用于光照计算的参数,就像给顶点 “搬家” 并准备好 “行李”。而片段着色…...
Linux系统使用ollama本地安装部署DeepSeekR1 + open-webui
Linux系统使用ollama本地安装部署DeepSeekR1 open-webui 1. 首先,下载安装ollama #下载安装脚本并执行 curl -fsSL https://ollama.com/install.sh | sh #安装完成后查看ollama版本 ollama --version2. 使用ollama下载deepseek #不同的参数规格对硬件有不同的要…...
学习星开源在线考试教育系统
学习星开源考试系统 项目介绍 项目概述: 学习星在线考试系统是一款基于Java和Vue.js构建的前后端分离的在线考试解决方案。它旨在为教育机构、企业和个人提供一个高效、便捷的在线测试平台,支持多种题型,包括但不限于单选题、多选题、判断…...
树莓派通过手机热点,无线连接PC端电脑,进行远程操作
树莓派通过手机热点实现无线连接具有以下几点优势: 1.该方式能够联网,方便在项目开发时下载一些数据包。 2.该方式能够通过手机端查看树莓派IP地址(有些情况树莓派ip地址会发生改变) 借鉴链接如下: 树莓派的使用网线及无线连接方法及手机…...
【工业安全】-CVE-2022-35561- Tenda W6路由器 栈溢出漏洞
文章目录 1.漏洞描述 2.环境搭建 3.漏洞复现 4.漏洞分析 4.1:代码分析 4.2:流量分析 5.poc代码: 1.漏洞描述 漏洞编号:CVE-2022-35561 漏洞名称:Tenda W6 栈溢出漏洞 威胁等级:高危 漏洞详情࿱…...
Windows环境管理多个node版本
前言 在实际工作中,如果我们基于Windows系统开发,同时需要维护老项目,又要开发新项目,且不同项目依赖的node版本又不同时,那么就需要根据项目切换不同的版本。本文使用Node Version Manager(nvm࿰…...
git 沙盒 下(二)
url :Learn Git Branching 高级git 多次Rebase 最开始我先把bugFix分支先rebase到main上,之后再把c7合并到c6 ,之后就差合并为一个分支了,但是无论移动c7还是another分支都无法合并,都会在原地停留 后来根据提示最…...
基于JavaSpringmvc+myabtis+html的鲜花商城系统设计和实现
基于JavaSpringmvcmyabtishtml的鲜花商城系统设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系…...
vue-plugin-hiprint (vue2
页面效果 <template><div><div class"d-flex flex-column mt5"><div class"d-flex flex-row " style"margin-bottom: 10px;justify-content: center;"><!-- 纸张大小 A3、A4 等 --><div class"paper&quo…...
网站地址栏怎么变成HTTPS开头?
在当今的数字世界中,网络安全已成为不可或缺的一部分。对于网站管理员和所有者来说,确保访问者数据的安全和隐私至关重要。HTTPS是一种加密的通信协议,通过在客户端和服务器之间建立安全连接来保护数据传输。将网站从HTTP升级到HTTPS不仅提升…...
手机用流量怎样设置代理ip?
互联网各领域资料分享专区(不定期更新): Sheet...
Web渗透实战--XSS 常用语句以及绕过思路
Web渗透实战–XSS 常用语句以及绕过思路 0x01:干货 - XSS 测试常用标签语句 0x0101: 标签 <!-- 点击链接触发 - JavaScript 伪协议 --><a hrefjavascript:console.log(1)>XSS1</a> <!-- 字符编码绕过 - JavaScript 伪协议 -->&…...
哈希表-两个数的交集
代码随想录-刷题笔记 349. 两个数组的交集 - 力扣(LeetCode) 内容: 集合的使用 , 重复的数剔除掉,剩下的即为交集,最后加入数组即可。 class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer…...
“数字+实体“双引擎发力树莓集团打造翠屏区首个智慧产业孵化标杆
2025 年 2 月 13 日,宜宾市翠屏区招商引资项目集中签约活动圆满举行。树莓集团产业合作总监童曦鸣代表企业出席并签约,将在翠屏区打造数字经济示范项目。 此次签约,树莓集团将以 “数字 实体” 双引擎发力。在数字产业化方面,凭…...
PostgreSQL 数据库压力测试指南
一、为什么需要压力测试? 数据库需要进行压力测试的原因主要包括以下几个方面: 性能评估:通过压力测试,可以了解数据库在高负载情况下的性能表现,包括响应时间、吞吐量和资源利用率等。这有助于确定系统的性能瓶颈。 …...
npm : 无法加载文件 C:\nvm\v20.11.1\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅
在vscode中运行前端项目时npm run dev 报错:npm : 无法加载文件 C:\nvm\v20.11.1\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policies。 所在位置 行:1…...
-bash:/usr/bin/rm: Argument list too long 解决办法
问题概述 小文件日志太多导致无法使用rm命令,因为命令行参数列表的长度超过了系统允许的最大值。 需要删除/tmp目录下的所有文件,文件数量比较多。 ls -lt /tmp | wc -l 5682452 解决方法如下: 使用find -exec 遍历,然后执行删…...
【deepseek 部署中的常见问题及解决方案--亲测有效】
deepseek 部署中的常见问题及解决方案 一、环境与安装相关问题二、配置相关问题三、运行与性能问题四、其他常见问题 一、环境与安装相关问题 Python版本不兼容 问题描述:在部署DeepSeek时,系统提示Python版本不兼容。解决方法:DeepSeek推荐…...
【React】react-redux+redux-toolkit实现状态管理
安装 npm install reduxjs/toolkit react-reduxRedux Toolkit 是官方推荐编写Redux的逻辑方式,用于简化书写方式React-redux 用来链接Redux和React组件之间的中间件 使用 定义数据 创建要管理的数据模块 store/module/counter.ts import { createSlice, Payloa…...
LabVIEW用户界面(UI)和用户体验(UX)设计
作为一名 LabVIEW 开发者,满足功能需求、保障使用便捷与灵活只是基础要求。在如今这个用户体验至上的时代,为 LabVIEW 应用程序设计直观且具有美学感的界面,同样是不容忽视的关键任务。一个优秀的界面设计,不仅能提升用户对程序的…...
期权帮 | 场外个股期权可以做吗,风险高吗?
锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 场外个股期权可以做吗,风险高吗? 场外个股期权,就是在正式的交易所之外进行交易的个股期权。 注:这里的“场外”指的是这类交易不在像沪深…...
【Viper】配置格式与支持的数据源与go案例
Viper 是一个用于 Go 应用程序的配置管理库,支持多种配置格式和数据源。 安装依赖 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要写在etcd客户端import里 1…...
【工具变量】地级市数字基础设施水平数据(2003-2024年)
一、数据来源:数据涵盖了2003-2024年间地级市新型数字基础设施的发展水平测量值。数据的核心来自地方政府工作报告中提及的相关词汇,并通过对这些报告的分词和频次统计,得出每个城市在该领域的数字基础设施发展水平。 数据覆盖全国285个地级市…...
Ae:常见的光照控件和材质控件
在 After Effects中,几种模拟效果都有类似的光照控件和材质控件,比如,焦散、卡片动画、碎片等。 光照控件和材质控件允许用户模拟不同光源、阴影和高光效果,控制表面反射特性,从而实现真实的光照和反射模拟。适用于材质…...
POI 的 Excel 读写操作教程
POI 的 Excel 读写操作教程 一、POI 简介 Apache POI 是一款在 Java 开发中广受欢迎的开源库,主要用于处理各种 Microsoft Office 文件格式,Excel 文件便是其中之一。凭借其功能强大的 API,POI 不仅支持对 Excel 文件的读取、写入和修改&am…...
java处理pgsql的text[]类型数据问题
背景 公司要求使用磐维数据库,于是去了解了这个是基于PostgreSQL构建的,在使用时有场景一条图片数据中可以投放到不同的页面,由于简化设计就放在数组中,于是使用了text[]类型存储;表结构 #这是一个简化版表结构&…...
数据结构:Map Set(一)
目录 一、搜索树 1、概念 2、查找 3、插入 4、删除 二、搜索 1、概念及场景 2、模型 (1)纯key模型 (2)Key-Value模型 三、Map的使用 1、什么是Map? 2、Map的常用方法 (1)V put(K …...
Ansible 自动化 Linux 运维:解放你的双手,让运维变得简单
Ansible 自动化 Linux 运维:解放你的双手,让运维变得简单 在现代 IT 运维中,随着系统规模的不断扩展,如何高效地管理和维护大量的服务器成为了一项巨大挑战。传统的手动操作不仅费时费力,还容易出错。而 Ansible 作为一款开源的自动化运维工具,凭借其易用性和强大的功能…...
不需要移植和配置xinetd 等相类似执行文件,tftp-hpa服务器交叉移植使用说明
tftp-hpa-5.2.tar.gz :下载链接 https://download.csdn.net/download/lyeffort/90361414 tar -xvf tftp-hpa-5.2.tar.gz -C /root/tftpd/ # ./autogen.sh # export PATH/root/linux-arm-tools/mips-linux-gclibc/bin:$PATH # mkdir /root/tftpd/install # ./configure --h…...
利用用个人PC搭建私有大模型(低成本、易实施的私有大模型部署方案,兼顾英语 5G协议学习与实践需求)
背景 个人有2台电脑, 第一台: laptop cpu 12th Gen Intel Core™ i7-1260P 2.10 GHz, GPU intel iris Xe graphics, 第二台: MS-7D22,Intel Core™ i5-10400F CPU 2.90GHz, GeForce GT 730。想…...
SAP 借助 Databricks 推出Business Data Cloud
SAP与Databricks合作推出了SAP Business Data Cloud,这是一项突破性的解决方案,旨在统一和整合企业内所有SAP及第三方数据,为企业提供可信的数据基础,从而推动更具影响力的决策并促进可靠的AI应用。这一合作标志着企业数据管理的新…...
地基Spring中bean生命周期和设计模式
面试问题: 在Java面试中,当被提问到Spring中Bean的生命周期和设计模式时,你可以按照以下方式回答,以体现自己的专业知识和实际项目经验: Spring中Bean的生命周期 Spring中Bean的生命周期是一个复杂但有序的过程&#…...