数仓:核心概念,数仓系统(ETL,数仓分层,数仓建模),数仓建模方法(星型模型,雪花模型,星座模型)和步骤

news2025/2/19 14:26:23

 数仓建模的核心概念

  • 事实表(Fact Table)

    • 存储业务过程的度量值(如销售额、订单数量等)。

    • 通常包含外键,用于关联维度表。

  • 维度表(Dimension Table)

    • 存储描述性信息(如时间、地点、产品等)。

    • 用于对事实表中的数据进行分类和分析。

  • 粒度(Granularity)

    • 定义事实表中每一行数据的详细程度(如按天、按订单、按交易等)。

    • 粒度越细,数据量越大,分析能力越强。

  • 指标(Metrics)

    • 业务分析中需要计算的数值(如销售额、利润率等)。

    • 通常存储在事实表中。

数仓

即数据仓库, Data WareHouse,简称DW

数据仓库是面向分析集成化数据平台,分析的结果给企业提供决策支持

应用场景: 满足企业中所有数据的统一化存储,通过规范化的数据处理来实现企业的数据分
析应用。
4大特点
  1. 面向主题(Subject-Oriented)

    围绕特定的主题或业务领域(如销售、客户、产品等)组织数据
  2. 集成性(Integrated)

    从多个不同的数据源集成数据。
  3. 非易失性(Non-Volatile)

    数据仓库中的数据通常是只读的,一旦数据被加载到数据仓库中,就不会被频繁修改或删除。
  4. 时变性(Time-Variant)

    按时间顺序存储数据,能够反映历史变化。数仓是一个持续维护建设的东西。 站在时间的角度,数仓的数据成批次变化更新。一天一分析(T+1) 一周一分析(T+7

数据库:面向业务划分数据 以业务流程为导向组织数据

数据仓库:面向主题划分数据 以分析需要为导向组织数据

数据仓库系统:数据从获取、存储到数据仓库、数据分析的所有部分

数据仓库系统

核心1: ETL

即数据的抽取, 转换, 装载

CRM: 客户关系管理系统

ERP:企业资源计划系统

Billing:计费系统

Supply Chain:供应链管理系统

Reporting:报告系统

Visualization:数据可视化工具

BI: 商业智能

核心2:数仓分层

将各种数据的处理流程进行规范化。

分3层是: 数据源层, 数据仓库层,  数据集市层

分为5层时,把数据仓库层细分为: 明细数据层, 基础数据层, 服务数据层

即: 数据源层, 明细数据层, 基础数据层, 服务数据层,  数据集市层

ODS(Operational Data Store)层
  • 功能: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 流程。

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

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

相关文章

python 基础知识100问

目录 1 Python中函数的输入参数类型‌: 2 python 第一个方法参数 selt cls 3 类和面向对象 4 Python 中__init__.py 作用 5 python 元类与装饰器 元类与装饰器https://blog.csdn.net/qq_52213943/article/details/145175689?spm1001.2014.3001.5506 6 设…

如何使用 DeepSeek R1 构建开源 ChatGPT Operator 替代方案

开源大型语言模型(LLMs)的兴起使得创建 AI 驱动的工具比以往任何时候都更容易,这些工具可以与 OpenAI 的 ChatGPT Operator 等专有解决方案相媲美。在这些开源模型中,DeepSeek R1 以其强大的推理能力、自由的可访问性和适应性而脱…

【教程】MySQL数据库学习笔记(七)——多表操作(持续更新)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 第四章 《数据操…

Word 公式转 CSDN 插件 发布

经过几个月的苦修,这款插件终于面世了。 从Word复制公式到CSDN粘贴,总是出现公式中的文字被单独提出来,而公式作为一个图片被粘贴的情况。公式多了的时候还会导致CSDN禁止进一步的上传公式。 经过对CSDN公式的研究,发现在粘贴公…

【ESP32接入国产大模型之Deepseek】

【ESP32接入国产大模型之Deepseek】 1. Deepseek大模型1.1 了解Deepseek api1.2 Http接口鉴权1.3. 接口参数说明1.3.1 请求体(request)参数1.3.2 模型推理 2. 先决条件2.1 环境配置2.2 所需零件 3. 核心代码3.1 源码分享3.2 源码解析3.3 连续对话修改后的代码代码说明示例输出注…

C语言蓝桥杯1003: [编程入门]密码破译

要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母. 例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译…

SolidWorks速成教程P3-3【零件 | 第三节】——草图绘制面实线与构造线的区别

经过了前面的特征学习后,是不是感觉对 SolidWorks越来越熟悉了?不过发现, SolidWorks速成这套教程,对于一些基础问题,还是需要解释得更详细一些,所以在这节再补充一下草图绘制面&实线与构造线的区别。 目录 1.草图绘制面 2.实线与构造线的区别 1.草图绘制面 之前…

win10中mstsc远程Centos-Stream 9图形化界面

文章目录 1 前置状态2 安装配置XRDP3 关闭SELinux3.1 查看selinux状态3.2 关闭selinux 4 启动XRDP5 Win10远程连接测试 1 前置状态 已安装CentOS9桌面版;Windows10。 2 安装配置XRDP sudo yum install epel-release sudo yum install xrdp sudo yum install tige…

中国AI“拥抱开源”给世界的启示——Anko

事实证明,中国AI企业“拥抱开源”,不仅为自身发展开拓了新路径,也带动AI企业跨国合作的需求,并推动全球AI生态向“开源普惠”转型。Anko通过免费开放部分模型功能,将AI时代的数字红利公平地派发到每一位网民手中&#…

DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件

1 DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景 AI能力再强,如果不能在企业的自有业务上产生助益,那基本也是一无是处。将企业的自有业务上传到线上训练,那是脑子进水的做法&#xff…

Jenkins 配置 Git Parameter 四

Jenkins 配置 Git Parameter 四 一、开启 项目参数设置 勾选 This project is parameterised 二、添加 Git Parameter 如果此处不显示 Git Parameter 说明 Jenkins 还没有安装 Git Parameter plugin 插件,请先安装插件 Jenkins 安装插件 三、设置基本参数 点击…

网络工程师 (38)流量和差错控制

一、流量控制 流量控制是一种协调发送站和接收站工作步调的技术。它的主要目的是防止发送端发送数据过快,导致接收端缓冲区溢出,从而造成数据丢失。流量控制机制通过调整发送速率来匹配接收端的处理能力。 基本原理 发送站每发出一帧数据,就进…

从零开始:Django初学者的实战之旅

一、概念引入 要基于编程开发一个完整的企业项目不管什么样的项目,基本都有3种不同的开发模式,这几种开发模式,如果把项目类比成建造房子则有如下: 1.原生开发:类似从0开始造房子,从0开始构建项目&#xf…

青果教务系统逆向(js逆向)

首先我们打开f12检查以下登录函数 可以看到登录函数在checkrand中,直接去全局搜索函数 在这里,打个断点直接跳进去 可以看到参数在这里形成 这是我们发起请求需要的参数,把这几个参数加进去直接登录就行 那就一个一个看呗,第一…

在Linux中Redis不支持lua脚本的处理方法

redis安装在IP为x.x.x.x的服务器上 redis安装 第一步,安装前,检测系统是否安装了redis。若安装了redis,则需要删除redis;若没有安装redis,则需要安装2.6版本以上的redis。 # 确保Redis版本支持Lua脚本。从Redis 2.6…

WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景

WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景 前言一、依赖项属性基础概念1.1 什么是依赖项属性1.2 依赖项属性与 CLR 属性的区别1.3 依赖项属性的定义与注册 二、依赖项属性的原理深入剖析2.1 依赖项属性系统的工作机制2.2 元数据(Metadata…

关于 IoT DC3 中设备(Device)的理解

在物联网系统中,设备(Device)是一个非常宽泛的概念,它可以指代任何能够接入系统并进行数据交互的实体。包括但不限于手机、电脑、服务器、网关、硬件设备甚至是某些软件程序等所有能接入到该平台的媒介。 内容 定义 目的 示例 …

从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)

个人主页:chian-ocean 前言: 随着人工智能技术的迅速发展,大语言模型在各个行业中得到了广泛应用。DeepSeek 作为一个新兴的 AI 公司,凭借其高效的 AI 模型和开源的优势,吸引了越来越多的开发者和企业关注。为了更好地…

Uniapp 获取定位详解:从申请Key到实现定位功能

文章目录 前言一、申请定位所需的 Key1.1 注册高德开发者账号1.2 创建应用1.3 添加 Key 二、在 Uniapp 中配置定位功能2.1 引入高德地图 SDK2.2 获取定位权限 三、实现定位功能3.1 使用 uni.getLocation 获取位置3.2 处理定位失败的情况3.3 持续定位3.4 停止持续定位 四、总结 …

Spring系统学习——持续更新

spring概述 1.轻量级的开源的JAVAEE框架 2.解决企业应用开发的复杂性 3.两大核心 :IOC(控制反转)和AOP(面向切面) 4.Spring特点: 1.方便解耦,简化开发。2.Aop编程支持3.方便程序测试4.方便和其…