数据仓库基本概念-缓慢变化维

数据仓库系列 - 缓慢渐变维度SCD (Slowly Changing Dimension) 常见的三种类型及原型设计 开篇介绍 在从OLTP业务数据库向DW数据仓库抽取数据的过程中,特别是在第一次导入之后的每一次增量抽取往往会遇到这样的问题:业务数据库中的一些数据发生了更改,到底要不要将这些变化也反映到数据仓库中?在数据仓库中,哪些数据应该随之变化,哪些可以不用变化?考虑到这些变化,在数据仓库中的维度表又应该如何设计以满足这些需要。 很显然在业务数据库中数据的变化是非常自然和正常的,比如顾客的联系方式... 阅读详情

1.1     缓慢变化维

1.1.1      概念

维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。【Note】:就是属性会变化的维度,可以理解为Time variant。

1.1.2      处理缓慢变化维的方法通常分为三种方式

1.1.2.1          直接覆盖

第一种方式是直接覆盖原值。这样处理,最容易实现,但是没有保留历史数据,无法分析历史变化信息。第一种方式通常简称为“TYPE 1”。

1.1.2.2          增加一个维度,记录会变成多条

第二种方式是添加维度行。这样处理,需要代理键的支持。实现方式是当有维度属性发生变化时,生成一条新的维度记录,主键是新分配的代理键,通过自然键可以和原维度记录保持关联。第二种方式通常简称为“TYPE 2”。

1.1.2.3          只记录前一次的值

第三种方式是添加属性列。这种处理的实现方式是对于需要分析历史信息的属性添加一列,来记录该属性变化前的值,而本属性字段使用TYPE 1来直接覆盖。这种方式的优点是可以同时分析当前及前一次变化的属性值,缺点是只保留了最后一次变化信息。第三种方式通常简称为“TYPE 3”。

解读大数据领域数据仓库的缓慢变化维处理 本文旨在全面解析数据仓库中缓慢变化维(Slowly Changing Dimension, SCD)的处理技术。我们将涵盖SCD的基本概念、分类方法、实现技术,以及在大数据环境下的特殊考量和优化策略。本文不仅介绍理论知识,还提供实际的代码实现和数学建模,帮助读者深入理解这一关键技术。本文首先介绍SCD的基本概念和背景知识,然后详细讲解六种主要的SCD处理方法。接着,我们将通过Python代码示例展示具体实现,并建立数学模型分析各种方法的优缺点。最后,讨论大数据环境下的特殊考量、工具推荐以及未来发展趋势。 阅读详情

相关推荐

【数仓】数仓中的维度、原子指标、派生指标、衍生指标、指标分类、缓慢变化维等的含义

从业务角度讲,实体是为了满足分析的需要,抽象出来的概念,从业务中拆分出一个个实体,可以是现实存在的业务对象,如用户,商家,商品,也可以是现实没有的,如虚拟的业务对象,活动,会员等等维度是度量的基础,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为一个实体对象。 在划分数据域、构建总线矩阵时,需要结合对业务过程的分析定义维度。业务过程是指企业的业务活动事件,如下单、支付、退款都是业务过程。通常业务过程是企业活动中的事件,因此业务过程是一个不可拆分的行为事件。原子指标是对指标统计口径、具体算法的抽

m0_54252387的博客 1万+

什么是SCD?

渐变维度什么是渐变维度?渐变维度 (SCD) 是在数据仓库中随着时间的推移存储和管理当前数据和历史数据的维。它被视为并实现为跟踪维记录历史过程中最关键的 ETL 任务之一。SCD 分为三种类型,您可以使用 Warehouse Builder 定义、部署并加载这三种类型的 SCD。SCD 分为哪三种类型?SCD 的三种类型分别为:Type 1 SCD — 覆盖在 Type

RainyLin-SunnyLin的专栏 7763

数仓中的维度、原子指标、派生指标、衍生指标、指标分类、缓慢变化维等的含义

1 基本概念 1.1 实体 从业务角度讲,实体是为了满足分析的需要,抽象出来的概念,从业务中拆分出一个个实体,可以是现实存在的业务对象,如用户,商家,商品,也可以是现实没有的,如虚拟的业务对象,活动,会员等等 1.2 维度 维度是度量的基础,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为一个实体对象。 在划分数据域、构建总线矩阵时,需要结合对业务过程的分析定义维度。 1.3 业务过程 业务过程是指企业的业务活动事件,如下单、支付、退款都是业务过程。通常业务过程是企业活动中的事件,因此业务过程

penriver的博客 1万+

[分享]微软BI专题-渐变维度转换及其实现

 在SQL Server 2005中,BI(Business Intelligence,商业智能)模块功能得以大大的增强。其中有一个重要的模块,被称为SQL Server Integrated Services(SSIS),即SQL Server数据库集成服务,其主要作用是对业务数据库或OLTP数据库中的数据进行抽取、转换和加载(Extract-Transform- Load,ETL)到数据仓库(

jackfor001的专栏 1548

CAD制图

CAD制图可以提高设计效率和准确性,并方便文档的存档和交流,是现代工程设计中不可或缺的一部分。·CAD三维开发是指使用计算机程序和工具来创建、编辑和操作三维模型、图形和设计的过程。它在工程、建筑、制造和游戏等领域广泛应用。CAD三维开发可能涉及到复杂的图形算法、性能优化、并行计算等方面的内容,因此需要深入学习和实践,以提高开发的效率和质量。

RZer的博客 1651

遥感大模型的深度学习从CNN到Vision Transformer以及混合架构的演进之路

深度学习,特别是以卷积神经网络(CNN)和Transformer为代表的“大模型”技术,正以其强大的表征学习能力,深刻地重塑着遥感智能解译的整个技术栈与认知范式。本文将系统性地梳理遥感大模型从局部卷积的奠基,到全局注意力的革命,再到二者融合的混合架构演进这一波澜壮阔的历程。我们将深入剖析每个阶段的核心技术原理,结合遥感数据特性与实际应用案例,详细阐述其在分类、检测、分割等核心任务中的具体应用。

panshengwu的博客 1138

数据仓库_数据仓库_缓慢渐变维度实现的几种思路

数仓缓慢渐变维度表设计 缓慢渐变维度: 维度数据会随着时间发生变化,变化速度比较缓慢,这种维度数据通常称作缓慢渐变维; 由于数据仓库需要追溯历史变化,尤其是一些重要的数据,所以历史状态也需要采用一定的措施进行保存。 大致分为以下几种实现思路 1) 全量快照: 每天保存当前数据的全量快照数据,该方案适合数据量较小的维度,使用简单的方式保存历史状态。 ...

迎难而上 1555

【鼠标在不点击的情况下,直接移动到QT控件上不显示提示信息】

有时明明已经调用了setToolTips方法,鼠标移动到QT控件上仍然不会有提示信息,这时候就需要具体分析下。重点就是标红的这段话,大概意思就是。.h文件中加入鼠标移动事件的定义。.cpp文件中实现该事件。

ZTH_G的博客 2423

数据仓库实践杂谈(十六)——渐变维

渐变维也叫缓慢渐变维度。这个概念提出来,其实也就直接意味着,我们分析的角度并不是一成不变,而是会变化的。前面谈增量/拉链的时候,更多讨论“事实”数据的变化。业务每天都在发生这个是必然的。但对应的分析维度也一定会变化。

cfy_fantasyxx的博客 2538

ISP图像处理Verilog仿真框架搭建(附代码)

基于Verilog的图像处理仿真框架搭建

路漫漫其修远兮,吾将上下而求索 1896

F280049C Buffered Digital-to-Analog Converter (DAC)

使用DAC模块很简单,只需要配置参考电压,并写入DACVALS寄存器一个数字值即可。参考电压可配置为外部参考VDAC和内部参考电压1.65V和2.5V,并结合增益作为DAC模块最终的参考电压DACREF。举个例子,配置参考电压为内部参考电压1.65V,增益设置为2,则参考电压DACREF=3.3V,若向DACVALS写入数字值2048,则输出的DAC模块的输出带电压DACOUT=DACVALS×DACREF4096=1.65VDACOUT=

xht2403267701的博客 2369

20170923数据仓库学习总结

mysql中事务: 事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务。 事务的四大特性(ACID): 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 数据仓库1.数据仓库 定义1:数据仓库是一种信息系统,它能给一个组织或机构提供商务智能(business intelligen

jelly_shen的博客 1525

(Cascade extended state observer)级联ADRC的simulink仿真和程序---送给中国研究学者的精华版

(Cascade extended state observer)级联ADRC的simulink仿真和程序---送给中国研究学者的精华版

weixin_44312889的博客 3778

数据仓库-1- 概述

数据仓库是一种面向商务智能活动的数据管理系统,用于分析和报告来自多个来源的结构化和半结构化数据。(内容相对空泛,后续优化)

IfNotExists的博客 188

【QNX+Android虚拟化方案】00 - 系列文章链接汇总

【QNX+Android虚拟化方案】00 - 系列文章链接汇总

|~~~热爱生活、努力学习的小伙汁~~~| 1万+

DBC中如何实现报文传输类型属性的配置

AUTOSAR中CAN报文的传输类型主要有三种,周期型,事件型和混合型。周期型:按固定时间间隔自动发送,无需额外的触发条件。事件型:当信号值变化或满足内部条件时立即发送。混合型:默认按周期发送,但事件触发时可提前发送。

sunchengl的博客 303

大数据--数据仓库--维度设计

目录 第二章:维度设计 2.1 维表层建设原则 2.1.1 维度的基本概念 2.1.2 维度的设计方法 2.1.3 确定维度属性 2.2 维度模型分类 2.2.1 星型模型 2.2.2 雪花模型 2.2.3 星座模型 第二章:维度设计 2.1 维表层建设原则 2.1.1 维度的基本概念 维度是维度建模的基础和灵魂。在维度建模中,将度量称为“事实”,将环境描述为“维度”。维度是用于分析事实所需要的多样环境。例如,在分析交易过程中,可以通过买家,卖家,商品和时间等维...

数据挖掘+大数据研发+算法学习 740

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数据仓库中的维度(原创)

维度 维度在数据仓库中主要对事实指标进行过滤和重新组织提供指导。可以将用户对事实的查询结果按照维度指标进行筛选,只允许与维度指标相关的数据返回给用户。维度一般具有如下特性:可以形成一个维度体系,具备访问和过滤事实的能力,能够提供相关的非标准实体,包括一个完整的维度体系编码、关键词以及相关的表示,可以映射到用户所需要信息的列。在物理数据仓库中是较小的表,可...

weixin_34405354的博客 416

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数仓学习笔记

数据建模:范式建模 & 维度建模,精通数仓建模方法论、卓越业务理解能力(了解业务过程、熟悉各类数据生命周期和数值属性,熟悉数据赋值业务方式——这一项会在项目中积累,且具有环境特质,不同企业、不同行业应用模式区别会很大,考验研发人员业务和数据分析决策敏锐度)需要根据业务同学的使用方式来定制,如果业务同学没有给出明确的使用规范,则需要数据开放同学细化层级,以适用不同形式的应用。主题的定义,业务数据的高度抽象——可能跨数据类型(即异构),反映到存储引擎这一层,就是跨表、跨存储引擎。凡此总总,略过不表。

cytng的博客 789

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

数据仓库 桥接表_数据仓库-基本框架和内容

数据仓库:维度建模数据分层命名规范元数据管理数据模型设计前提设定: 物理世界的每一个度量事件 与对应的 事实表行 具有一对一的关系内涵:数据组织,存储和使用的方法注意方面: 功能实现 质量管理 性能效率 存储成本和收益 可扩展和方便维护适应变化,一致性,及时, 安全 可追溯适应变化: 业务快速发展, 人员快速变化, 业务功底不足要什么:指标和度量: 原子型比例 比率 变化型 排名型1.维度...

weixin_39576104的博客 736

基于Hive数据仓库的标签画像实战!

Hive数据仓库建立用户画像首先需要建立数据仓库,用于存储用户标签数据。Hive是基于Hadoop的数据仓库工具,依赖于HDFS存储数据,提供的SQL语言可以查询存储在HDFS中的数据。开发时一般使用Hive作为数据仓库,存储标签和用户特征库等相关数据。"数据仓库之父" W.H.Inmon 在《Building the Data Warehouse》(中文版《数据仓库(原...

a934079371的博客 451

增加维度_第十章 维度设计

10.1 维度设计基础 10.1.1 维度的基本概念度量称为“事实”,环境称为“维度”。维度所包含的表示维度的列,称为维度属性。获取维度属性,从报表中获取;与业务人员交谈获取。一般遇到类似“group by”的思维或者语句就可以看作是维度或维度属性。维度使用主键标识其唯一性,主键确保与之相连的任何事实表之间存在引用完整性。主键有两种:代理键和自然键,都是用于标识某维度的具体值。代理键不具有业务含义...

weixin_35775988的博客 566

C++学习笔记--STL(映射:map)

一、map就是从键(key)到值(value)的映射。二、关于map的方法 begin() – 返回指向map头部的迭代器 clear() –删除所有元素 count() –返回指定元素出现的次数 empty() –如果map为空则返回true end() –返回指向map末尾的迭代器 equal_range() –返回特殊条目的迭代器对 erase() –删除一个元素

leyezhiqiu的博客 748

维度建模的基本理论

维度建模 围绕三个问题来展开 1、怎么组织数据仓库中的数据? 2、怎么组织才能使得数据的使用最为方便和便捷? 3、怎么组织才能使得数据仓库具有良好的可扩展性和可维护性? 维度建模两大派系 Bill Inmon(数据仓库之父) 的企业信息化工厂模式和 Ralph Kimball (商业智能之父)的维度建模模式 Ralph kimball维度建模 基本理论 一般过程 维度表审计 事实表设计 维度建模关键概念 1、度量和环境(产...

Cincinnati_De的博客 3554

通俗易懂讲数据仓库之【缓慢变化维】

        本篇博客,博主为大家带来的是关于数据仓库中一个非常重要的知识点缓慢变化维的讲解!         码字不易,先赞后看 文章目录缓慢变化维1. 什么是缓慢变化维(SCD)1.1 缓慢变化维简介1.2 举例说明2. SCD问题的几种解决方案SCD解决方案 - 保留原始值SCD解决方案 - 改写属性值SCD解决方案 - 增加维度新行SCD

大数据梦想家 1万+

数仓建设 - 缓慢变化维的10种处理方式

顾名思义,缓慢变化维(Slowly Changing Dimension)就是变化相对缓慢(相对与快速变化的事实表来说)的维度。 在维度建模理论中,有8种处理方式,包括基础的5种以及混合的3种。 再加上大数据时代的2种极限型,共10种,具体如下: 1、基础型 1.1、方法0: 保留原始值 维度属性值不做更改,保留原始值。 此方式什么也不做,所以称之为方式0。 比如商品上架售卖时间:一个商品上架售卖后可能由于缺货下架,补充库存后又再次上架,此种情况产生了多个商品上架售卖时间。如果重点关注的是商品首次上架售

雾岛与鲸的博客 1万+
上一篇: 数据仓库基本概念-星型模型和雪花模型
下一篇: 数据仓库基本概念-事实表的三种分类
Chobits1988
博客等级 码龄18年 5粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值