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

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

 数仓建模的核心概念

  • 事实表(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 流程。

相关文章:

  • mongodb
  • 【Spring】什么是Spring?
  • Hive增量迁移方案与实操PB级
  • STM32系统架构介绍
  • 使用 LangChain 对接硅基流动(SiliconFlow)API:构建一个智能对话系统
  • SpringBoot分布式应用程序和数据库在物理位置分配上、路由上和数量上的最佳实践是什么?
  • 一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署
  • Python Pandas(11):Pandas 数据可视化
  • shell脚本自动安装MySQL8
  • 使用Redis实现分布式锁,基于原本单体系统进行业务改造
  • python-leetcode 31.K个一组翻转链表
  • Selenium常用自动化函数
  • Jenkins 通过 Execute Shell 执行 shell 脚本 七
  • 读取本地excel并生成map,key为第一列,value为第二列
  • leetcode:171. Excel 表列序号(python3解法)
  • 深入解析 STM32 GPIO:结构、配置与应用实践
  • DeepSeek 助力 Vue 开发:打造丝滑的通知栏(Notification Bar)
  • 网络模型分层与对比
  • PostgreSQL 备库的延迟问题
  • 哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测
  • 一条铺过11年时光的科学红毯,丈量上海科创的“长宽高”
  • 韶关一企业将消防安装工程肢解发包,广东住建厅:罚款逾五万
  • 陈吉宁龚正黄莉新胡文容等在警示教育基地参观学习,出席深入贯彻中央八项规定精神学习教育交流会
  • 陕西一村民被冒名贷款40余万续:名下已无贷款,将继续追责
  • KPL“王朝”诞生背后:AG和联赛一起迈向成熟
  • 国务院办公厅印发《国务院2025年度立法工作计划》