数据仓库工具箱—读书笔记02(Kimball维度建模技术概述04、使用一致性维度集成)

Kimball维度建模技术概述

记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣

在这里插入图片描述

第二章前言部分作者提到:技术的介绍应该通过涵盖各种行业的熟悉的用例展开(赞同哈哈 确实比抽象地讲解概念要好理解🤣🤣🤣)。

书中从第三章开始是通过各行业的用例去讲解维度建模,第二章则是维度建模技术的总体介绍(很多概念,挺抽象的🤣🤣🤣)。

前言部分作者也有提到:我们并不期望您一开始就从头到尾阅读本章,但希望您能将本章作为所提供的技术参考。本节介绍的技术,在所有维度设计工作中都需要考虑。本书的每一章几乎都会涉及本节所介绍的概念。

01、基本概念
02、事实表技术基础
03、维度表技术基础

书接上回~(第二章概念比较抽象,博主尽量解释的简单、详细点哈哈)🤣🤣🤣🤣🤣🤣


使用一致性维度集成

  • Kimball维度建模技术概述
    • 2.4.1 一致性维度
    • 2.4.2 缩减维度
    • 2.4.3 跨表钻取
    • 2.4.4 价值链
    • 2.4.5 企业数据仓库总线架构
    • 2.4.6 企业数据仓库总线矩阵
    • 整理不易🤣 您的支持就是我创作的最大动力💛


2.4.1 一致性维度

一致性维度是干嘛的?🤨 —— 核心🎨是为企业数据仓库架构提供一致性和复用性(一次设计,可供多个事实表复用,减少开发和维护成本)。

一致性维度是指跨多个事实表和数据集共享的一组维度。通过统一的结构和内容,这些维度确保在不同业务过程之间进行一致的分析和比较。

在这里插入图片描述

举个栗子😂:

  • 时间维度:销售事实表和库存事实表共享相同的时间维度,支持按日期分析销售额和库存水平的变化。

  • 客户维度:在销售事实表和服务事实表中,客户维度保持一致,可以分析客户购买行为与售后服务的关系。


  • 通过共享维度,可以对多个业务过程进行关联分析,例如按客户对销售和服务进行综合评估。
  • ❄❄❄一次设计,可供多个事实表复用,减少开发和维护成本。

2.4.2 缩减维度

在维度建模中,缩减维度(Shrunken Dimensions)原始维度的一个简化版本,包含维度的子集数据

缩减维度 通常基于 一致性维度 创建,用于支持不同的聚合粒度需求


Demo🤣🤣🤣:

  • 原始时间维度:
    包含“年”、“月”、“日”级别的详细信息。

    时间键星期
    20240101202411月1日星期一
    20240102202411月2日星期二
  • 缩减时间维度:
    只保留“年”、“月”数据,用于年度或月度分析。

    年月键
    20240120241
    20240220242

Tips🤣:

  • 属性减少:原始维度的部分字段被移除,只保留分析需求中关键的字段。
  • 特定业务场景:常用于跨过程汇总分析,或将细粒度维度压缩成高粒度维度。
  • 跨过程分析:用于跨多个事实表的对比,例如年度客户购买行为的对比。
  • 性能优化:减少数据的存储量,加快查询速度。

2.4.3 跨表钻取

跨表钻取指的是用户在进行数据分析时,通过一个表中的数据查找到相关的、不同表中的数据,从而得到更加全面的信息。

这术语太专业了,简单讲其实就是表之间join😂😂😂

Demo:

销售事实表 (sales_fact)

销售ID销售金额产品ID
11000101
2500102

产品维度表 (product_dim)

产品ID产品名称
101手机
102电视

跨表钻取
从销售事实表钻取,基于产品ID获取产品名称:

销售金额产品名称
1000手机
500电视

销售事实表 (sales_fact)

销售ID销售金额客户ID
11000201
2500202

客户维度表 (customer_dim)

客户ID客户名称
201李明
202王芳

跨表钻取
从销售事实表钻取,基于客户ID获取客户名称:

销售金额客户名称
1000李明
500王芳

Tips:
与钻取(Drill Down 也叫 下钻)的区别:

  • 钻取(Drill Down): 是指在同一个表内,基于某个维度的细节层次查看更深入的数据。比如从年数据钻取到月数据,再到日数据。
  • 跨表钻取: 是指跨越不同的表,通过共同字段或关系来查看相关的数据。通常涉及多个表的联合。

2.4.4 价值链

价值链(Value Chain)指的是企业在生产和交付产品或服务的过程中,从原材料获取到最终产品或服务交付给客户的各个环节

操作型源系统(Operational Source Systems)通常会为价值链上的每个步骤建立事务或快照,以便捕捉和存储与日常业务操作相关的数据。

Demo:

在企业的价值链中,每个环节都会生成操作数据。这些数据通常会通过操作型源系统记录,进而转入数据仓库:

采购事务表(purchase_fact:记录每个采购交易的详细信息。

采购ID采购金额采购日期供应商ID
110002024-01-01301
25002024-01-02302

采购快照表(purchase_snapshot:记录某一时间点的采购状态。

时间供应商ID库存量
2024-01-01301500
2024-02-01302450

生产原子事实表(production_fact:记录每个生产批次的信息。

生产ID生产数量生产日期产品ID
11002024-01-01101
22002024-01-02102

生产快照表(production_snapshot:记录某一时间点的生产状态。

时间产品ID生产数量
2024-01-01101500
2024-02-01102600

销售原子事实表(sales_fact:记录每笔销售交易的详细信息。

销售ID销售金额销售日期客户ID产品ID
110002024-01-01201101
25002024-01-02202102

客户服务原子事实表(customer_service_fact:记录每个客户服务请求的详细信息。

服务ID服务类型服务日期客户ID
1退货2024-01-01201
2咨询2024-01-02202

服务快照表(customer_service_snapshot:记录某一时间点的客户服务状态。

时间客户ID服务请求数量
2024-01-012011
2024-02-012022

2.4.5 企业数据仓库总线架构

企业数据仓库总线架构(Enterprise Data Warehouse Bus Architecture)是指在构建企业数据仓库时,采用一种以标准化维度模型为核心的架构。

核心思想💕是将数据仓库中的不同业务领域(例如销售、财务、生产等)通过共享的维度(如时间、产品、客户等)连接起来,从而形成一个统一的数据仓库架构

在这里插入图片描述

  • 共享维度:不同业务领域之间共享公共的维度,如时间维度客户维度产品维度等。共享的维度可以实现不同的业务数据进行统一分析和汇总。
  • 业务领域事实表:每个业务领域都有对应的事实表,记录该领域的操作数据(如销售额、生产数量等)。这些事实表通过共享的维度与其他领域的事实表进行连接。

Demo:

  • 共享维度表

    • Time Dimension(时间维度):记录时间的详细信息,如年份、季度、月、日等。
    • Customer Dimension(客户维度):记录客户的详细信息,如客户ID、姓名、地址等。
    • Product Dimension(产品维度):记录产品的详细信息,如产品ID、产品名称、类别等。
  • 各业务领域的事实表

    • Sales Fact(销售事实表):记录每笔销售交易的详细信息,包含销售额、客户ID、产品ID、销售日期等。
    • Purchase Fact(采购事实表):记录每笔采购交易的详细信息,包含采购金额、供应商ID、产品ID、采购日期等。
    • Production Fact(生产事实表):记录生产过程中每个批次的产量和生产成本,包含生产数量、产品ID、生产日期等。

总线架构的工作方式
在总线架构中,所有的事实表都通过共享维度表进行连接。

  • 销售事实表中的客户ID会链接到客户维度表中的客户ID
  • 销售事实表中的产品ID会链接到产品维度表中的产品ID
  • 销售事实表中的时间ID会链接到时间维度表中的时间ID

在这里插入图片描述
企业数据仓库总线架构通过标准化共享维度和跨业务领域的事实表连接,帮助企业整合来自不同业务领域的数据,从而实现统一的数据分析和报告。


2.4.6 企业数据仓库总线矩阵

企业数据仓库总线矩阵(Enterprise Data Warehouse Bus Matrix)是指在数据仓库总线架构中,通过一个矩阵来明确每个维度与各个业务领域事实表之间的关系

在这里插入图片描述

一言以蔽之😂——明确不同的业务领域(如销售、采购、生产等)和共享维度(如时间、产品、客户等)之间的关系。

总线矩阵可以看作是一个二维表格,其中:

  • 代表数据仓库中的业务领域(如销售、采购、生产等)。
  • 代表所有的共享维度(如时间、产品、客户等)。

在这里插入图片描述

在矩阵中的每个单元格,用来表示某个业务领域是否与某个共享维度相关联。如果某个业务领域需要使用该维度进行分析,那么这个单元格就会被标记。

在这里插入图片描述

  • 业务领域(行)

    • 销售(Sales)
    • 采购(Purchase)
    • 生产(Production)
    • 客户服务(Customer Service)
  • 共享维度(列)

    • 时间维度(Time)
    • 产品维度(Product)
    • 客户维度(Customer)

总线矩阵

业务领域时间维度产品维度客户维度
销售(Sales)
采购(Purchase)
生产(Production)
客户服务(Service)

Tips🤣🤣🤣:

  • 清晰的维度使用规划:通过矩阵清晰标识哪些维度是跨业务领域共享的,哪些是特定领域使用的,有助于保持数据的一致性和结构的清晰。

在这里插入图片描述

  • 便于扩展和调整:如果以后需要新增一个业务领域或修改已有的维度,矩阵可以迅速帮助你识别影响,进行相应调整。
  • 跨业务领域的分析:通过共享的维度,数据仓库能够实现不同业务领域之间的联合分析,比如对销售和生产数据的综合分析。

在这里插入图片描述

企业数据仓库总线矩阵有助于规划和组织数据仓库中的维度和事实表的结构,确保所有业务领域都能够使用共享维度进行分析。


整理不易🤣 您的支持就是我创作的最大动力💛

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[实战]推流服务SRS安装

业务场景 在Web浏览器端展示摄像头的视频数据。 协议 物联代理推流协议:rtmp 浏览器器拉流协议:http-flv 推流方案 1、Nginx加nginx-http-flv-modules模块 2、采用SRS服务器 推流服务SRS网站:https://ossrs.io/lts/zh-cn/ 推流服务…

PH热榜 | 2024-12-25

1. Assistive24 标语:为残障人士提供的免费辅助技术 介绍:Assistive24 是一款免费的 Chrome 浏览器扩展程序,可以帮助患有注意力缺陷多动障碍 (ADHD)、阅读障碍 (dyslexia) 和低视力等障碍的用户更方便地浏览网页。它提供语音导航、自定义…

Java中三大构建工具的发展历程(Ant、Maven和Gradle)

🐸 背景 我们要写一个Java程序,一般的步骤是编译,测试,打包。 这个构建的过程,如果文件比较少,我们可以手动使用java, javac,jar命令去做这些事情。但当工程越来越大,文件越来越多&#xff0c…

自学记录HarmonyOS Next DRM API 13:构建安全的数字内容保护系统

在完成了HarmonyOS Camera API的开发之后,我开始关注更复杂的系统级功能。在浏览HarmonyOS Next文档时,我发现了一个非常有趣的领域:数字版权管理(DRM)。最新的DRM API 13提供了强大的工具,用于保护数字内容…

Unity中如何修改Sprite的渲染网格

首先打开SpriteEditor 选择Custom OutLine,点击Genrate 则在图片边缘会出现边缘线,调整白色小方块可以调整边缘 调整后,Sprite就会按照调整后的网格渲染了。 如何在UI中使用? 只要在UI的Image组件中选择Use Sprite Mesh 即可 结果&#xff1…

跟着 8.6k Star 的开源数据库,搞 RAG!

过去 9 年里,HelloGitHub 月刊累计收录了 3000 多个开源项目。然而,随着项目数量的增加,不少用户反馈:“搜索功能不好用,找不到想要的项目!” 这让我意识到,仅仅收录项目是不够的,还…

Sashulin升级啦,开箱即用!

经过多年的不断投入,升级为了Sashulin基础软件系列,本系列包含: 1、Sashulin IDE 2025全域通用开发工具 通用型Java开发工具,并可以进行业务流可视化开发。 2、发布Sashulin Webserver 2025 将Html等网页文件发布成网站&#xf…

linux下搭建lamp环境(dvwa)

lamp简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管理系统或数据库服务器 PHP、Perl或Python,脚本语言 # ubuntu安装…

RAGFlow 基于深度文档理解构建的开源 RAG引擎 - 使用Ollama添加大模型

RAGFlow 基于深度文档理解构建的开源 RAG引擎 - 使用Ollama添加大模型 flyfish 当安装完ragflow之后,开始添加大模型 $ git clone https://github.com/infiniflow/ragflow.git $ cd ragflow $ docker compose -f docker/docker-compose.yml up -d浏览器打开http:…

NiChart 多模态神经影像(structural MRI,functional MRI,and diffusion MRI)处理和分析工具包安装

NiChart多模态神经影像部署 NiChart 本地安装Git clone 问题personal access token PAT 问题 NiChart 云端注册AWS验证问题 NiChart 是UPenn大学,Christos Davatzikos教授开发的一个多模态MRI影像,structural (sMRI), diffusion (dMRI), and …

路由策略

控制层流量 --- 路由协议传递路由信息时产生的流量 数据层流量 --- 设备访问目标地址时产生的流量 所谓的路由策略----在控制层面转发流量的过程中,截取流量,之后修改流量再转发或不转发的技术,最终达到影响路由器路由表的生成&#xff0c…

深度学习实战之超分辨率算法(tensorflow)——ESPCN

espcn原理算法请参考上一篇论文,这里主要给实现。 数据集如下:尺寸相等即可 针对数据集,生成样本代码preeate_data.py import imageio from scipy import misc, ndimage import numpy as np import imghdr import shutil import os import…

Dockerfile的用法

Dockerfile的用法 示例 `Dockerfile`使用 `Dockerfile` 创建 Docker 镜像`Dockerfile` 指令详解其他常用指令总结Dockerfile 是一个文本文件,包含了用于创建 Docker 镜像的一系列指令。这些指令描述了镜像的基础、所安装的软件、文件的复制、环境变量的设置以及其他配置。下面…

【GO基础学习】gin框架路由详解

文章目录 gin框架路由详解(1)go mod tidy(2)r : gin.Default()(3)r.GET()路由注册 (4)r.Run()路由匹配 总结 gin框架路由详解 先创建一个项目,编写一个简单的demo&#…

直流无刷电机驱动原理1--简介和例程演示

基础知识 BLDC(Brushless DC Motor,无刷直流电机) 和 PMSM(Permanent Magnet Synchronous Motor,永磁同步电机) 都是基于永磁体技术的无刷电机,但它们在结构、控制方式和应用场景上存在一些区别…

qt5.12.11+msvc编译器编译qoci驱动

1.之前编译过minGW编译器编译qoci驱动,很顺利就完成了,文章地址:minGW编译qoci驱动详解,今天按照之前的步骤使用msvc编译器进行编译,直接就报错了: 查了些资料,发现两个编译器在编译时,pro文件中引用的库不一样,下面是msvc编译器引用的库,其中编译引用的库我这里安装…

【C++动态规划】1458. 两个子序列的最大点积|1823

本文涉及知识点 下载及打开打包代码的方法兼述单元测试 C动态规划 LeetCode1458. 两个子序列的最大点积 LeetCode3290 和此题几乎相同。 给你两个数组 nums1 和 nums2 。 请你返回 nums1 和 nums2 中两个长度相同的 非空 子序列的最大点积。 数组的非空子序列是通过删除原数…

yolov4算法及其改进

yolov4算法及其改进 1、yolov4介绍2、mosaic与mish激活函数2.1、mosaic数据增强2.2、Mish激活函数3、backbone网络框架的改进4、PAN-FPN的介绍5、样本匹配和损失函数1、yolov4介绍 改进点: 输入端改进:Mosaic数据增加主干网络:CSPDarkNet53Neck:SPP、PANet损失函数:CIOU激活…

Astherus 联手 PancakeSwap 推出 asCAKE,CAKE 最大化收益的最优解?

Astherus 是本轮市场周期中最具创新性的 DeFi 协议之一,其通过推出 AstherusEx 以及 AstherusEarn 两个产品,正在基于真实收益启动 DeFi 市场的增长,并成为加密投资者捕获收益的最佳协议。PancakeSwap 是 BNB Chain 上最大的 DEX,…

创意无限!利用Cpolar和Flux.1实现远程AI图像生成功能

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址7. 固定远程访问公网地址前言 Flux.1 是一款免费开源的图像生成模型,通过ComfyUI,你可以轻松调用这款强大的工具。Flux…