维度建模示例

article/2025/9/28 10:09:26

以库存模块和零售模块这两个模块来谈一谈维度建模的相关事项
梳理库存业务中的表的构造与设计思想
梳理一下缓慢变化维的处理方法与优缺
这篇博客计划用周末来完成,只能简单的讨论一下建模概况,从维度建模这本书中摘录出一些重要的知识点,对于维度建模这本书的报告计划在5.1之前完成,希望结合具体的业务来分享一下

1.理清思路

对库存业务过程的梳理,我们发现有如下过程,向制造商发出购买订单,仓库库存产品,商店库存业务,零售业务

我们发现有如下重要的维度:商店,日期,产品 以及我们要建一张事实表来描述变化以及这张表应该有哪些属性才能描述特征和变化,(在此之前我们要考虑一张事实表是否能够描述真正的业务过程与包含的数据域,以及如果采用一张表面临的可迭代问题,维护性,缺陷)
我们建一张周期性快照表来描述我们的库存(每天的交易数据是离散的),这张周期性快照表有如下的属性:库存数量 交易总量,价值(我们借助这张表能够对企业库存业务高效率运营,例如我们可以分析出那个地区某类书籍买的书最多,对商店的库存进行区域优化),同时我们发现这张表每期更新只有80M的更新/新增(假设有100商店,60000的商品类型)

同时我们还要对仓库的明细事务进行分析,我们考虑建立一张事实表,仓库的事务可能包含如下步骤:

接收产品
将产品放入检验区
将产品从检验区提出
若检验存在问题则将产品返回供应商
产品入库
从库中选择产品
包装产品
将产品运送给客户
从客户处接收产品
将客户返回的产品
重新入库
从库存中删除产品

我们可以考虑使用事务事实表来描述明细过程,但是对于库存明细这种业务是多时间性质的,我们也可以采用累积快照表来描述明细的业务过程,如下:

仓库库存累积快照

累积快照表中的行的演进

事务事实表 周期性快照表 累积性快照表

不同事实表之间的比较

2.价值链集成

业务过程间共享维度

总线架构

零售商总体矩阵

3.维度建模

支架表

支架表是对雪花模型的改进,虽然没有雪花模型的清晰性,但是避免了星型模型的复杂性,在维度表上连接一张支架表,节省了空间,支架表和微型维度其实差不多

支架表的示例

桥接表(难点)

桥接表示例

桥接表示例二

多对多和多值设置因子的处理方法

4.缓慢变化维

保留原始值

恒久值 常量

重写

无法捕获历史变化,适用于一些常量,过去的量时没有统计的意义的,例如:生日等

增加新行

增加新行

设置行的失效和有效日期

增加新属性

增加新属性

不适应与多维数据库

增加微型维度

微型维度示例

微型维度与重写类型支架表

微型维度与重写类型支架表

双重类型一和类型二维度

双重类型一和类型二维度

维度示例

现在在看一遍,还是不明白这种复合缓慢变化维有什么特殊的作用

作者:隐约喜欢萌萌哒
链接:https://www.jianshu.com/p/3519f248ff46
来源:简书

学习资料

识别下方二维码,回复“资料全集”,即可获得下载地址。


http://chatgpt.dhexx.cn/article/KRjW3BIa.shtml

相关文章

浅谈维度建模

前言:本人作为BI方向相关的数据系统后端开发,虽然不是从事具体的数仓方面的工作,但是对维度建模过程有个大致了解,可加深对于系统现有的架构设计的理解(比如数据模型构建,指标库的作用)&#xf…

关系建模与维度建模

一、OLTP与OLAP 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-linetransaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是…

数仓维度建模实例

简介 本文将介绍维度建模理论和基于自己经验的实施步骤 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据....只有数据模型将数据有序的组织和存储起来之后,大数据才能得到高性能、低成本、高效率、高质量的使用。一般业务…

数据仓库-基础知识(维度建模)

一、数据仓库概述 1.1 数据仓库定义 数据仓库:Data Warehouse,是为企业所决策制定过程,提供所有支持类型的数据集合。用于分析性报告和决策支持。数仓是一个面向主题、集成的、相对稳定、反应历史变化的数据集合,随着大数据技术的…

数仓:维度建模

1.背景 数据仓库的核心是展现层和提供优质的服务。ETL 及其规范、分层等所做的一切都是为了一个更清晰易用的展现层。 2.数仓架构的原则: 1、底层业务的数据驱动为导向同时结合业务需求驱动 2、便于数据分析屏蔽底层复杂业务简单、完整、集成的将数据暴露给分析层…

数仓建模(维度建模)

目录 一、什么是建模?(为什么建模) 二、模型的好处 三、建模的方法 四、维度建模 4.1 基本概念 4.2 为啥选择维度建模(优缺点) 4.2.1 优点 4.2.2 缺点 4.3 维度建模-星型模型 4.4 维度建模-维度 4.4.1 维度之…

维度建模的三种模式

1.星型模式 星型模式是维度模型中最简单的形式,也是数据仓库以及数据集市开发中使用最广泛的形式。 星型模式由事实表和维度表组成,一个星型模式中可以有一个或多个事实表,每个事实表引用任意数量的维度表。 星型模式的物理模型像一颗星星的形…

维度建模概述

1、维度建模 维度建模以分析决策的需求出发构建模型,构建的数据模型为数据分析服务。它重点解决如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。 因此,说白了,所谓的维度建模就是一种组织数据仓库的形式、模型…

ETL自学之路-02(维度建模)

一、维度建模的基本概念 1.1维度建模的定义 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法,数据集市可以理解为是一种小型的数据仓库。 1.2 维度表(dimension) 维度表示你…

维度建模

维度建模 维度模型简介 维度建模被广泛接受为数据分析的首选技术,因为它同时满足了两个需求: 1.向用户交付可以理解的数据 2.提供快速查询的性能 维度建模实体建模第三范式(3NF)建模适合表连接以及聚合计算的查询请求&#xff1…

数据模型建设-维度建模详解

5.2 维度建模 维度建模是一种将大量数据结构化的逻辑设计手段,包含维度和指标,它不像ER模型目的是消除冗余数据,维度建模是面向分析,最终目的是提高查询性能,所以会增加数据冗余,并且违反三范式。 维度建…

绘制彩色图的颜色直方图

计数直方图 在Opencv中已经集成了关于彩色图像直方图计算的函数,形式如下: import cv2cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])参数 images:array-like类型,要计算的图像(单张或多张)&a…

matplotlib 图像颜色直方图

参考学习 定义 cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) ->hist imaes:输入的图像channels:选择图像的通道mask:掩膜,是一个大小和image一样的np数组,其中把需要处理的部分指定为1,不需要处理的…

OpenCV—python 颜色直方图与直方图均衡化

文章目录 一、颜色直方图1.1 使用opencv展示直方图1.2 使用matplotlib绘制 二、直方图均衡化2.1 全局直方图均衡化与自适应均衡化2.2 使用查找表来拉伸直方图2.3 直方图均衡化—RGB2YCrCb2.4 直方图均衡化—RGB2YUV 一、颜色直方图 1.1 使用opencv展示直方图 函数 cv2.calcHis…

颜色直方图和颜色矩

来源:http://www.xuebuyuan.com/2019161.html 1、颜色直方图 颜色直方图所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适于描述那些难以进行自动分割的图像。 …

颜色直方图 灰度图彩色图

1.读取照片 cv2.imread(图片路径,cv2.IMREAD_COLOR) 2.定义color变量(b,g,r) 代表三个通道 3.彩色图像为例 for i,col in enumerate(color):遍历…

基于MATLAB颜色直方图的图像检索

基于颜色直方图的图像检索 概述 在过去的十几年间,有许多知名机构都对图像检索系统进行了深入的研究,病开发出了相应的检索系统,例如IBM Almaden研究中心研制的QBIC系统,Virage公司研发的VIRAGE系统,麻省理工大学多媒体…

pyimagesearch-4 聪明的女孩:计算机视觉和图像搜索引擎使用颜色直方图的指南

原文链接 It’s…it’s a histogram. – Dr. Grant 好吧,也许这不是确切的引用。但是,如果格兰特博士知道颜色直方图的力量,我认为他会同样激动。 更重要的是,当电力耗尽时,直方图不会让游客吃东西。 那么&#xff…

OpenCV 学习笔记(颜色直方图计算 calcHist)

OpenCV 学习笔记(颜色直方图计算 calcHist) 最近在看一本OpenCV 的书,书名是 《OpenCV 3 Computer Vision Application Programming Cookbook (third edition)》,里面给了很多很实用的代码片段。最近这几篇…

Opencv绘制HSV颜色直方图

一. 使用Opencv绘制HSV颜色直方图 所用的函数 cvCvtColor 可在: 使用Opencv将RGB颜色空间转换到HSV颜色空间/灰度图 文章中查找相关介绍 所使用的结构体: CvHistogram 以及函数: cvCalcHist CvCreateHist cvGetMinMaxHistValue cv…