5 关于数据仓库维度数据处理的方法探究系列——缓慢变化维处理——全历史记录...
它的操作方式与覆盖方式相同之处在于对新增数据的处理,只是根据原主键进行判断后进行数据的插入处理,代理主键利用数据库的 Identity类型字段进行自动生成。
CREATE TABLE t_tmp_xxx
CREATE PROCEDURE p_dem_xxx
-- 如果原表为空,构造缺省值
-- 根据主键插入在维度表中找不到的基础数据
-- 根据主键插入在维度表中找到但是已经发生变化的的基础数据
END
它的操作方式类似版本号方式,为每条记录预留 1000个变化空间或者为步增方式递增。新记录的插入代理主键的产生类似版本号方式,以 1000为倍数增加,而其新记录标志设置为 1,而当为旧数据时,一旦发现数据被更改过,则把该修改后的数据新插入目标,代理主键值取旧数据代理主键 +1或者取最大值然后 +1,并同时找到旧数据,更新其标志位为 0。
CREATE PROCEDURE p_dem_xxx
-- 如果原表为空,构造缺省值
-- 根据主键插入在维度表中找不到的基础数据
-- 根据主键更新在维度表中找到但是已经发生变化的的基础数据的标志位为 0
-- 根据主键插入在维度表中找到但是已经发生变化的的基础数据
END
全历史记录的方式是缓慢变化维的最为强大的一种记录方式,由于其设计的精妙,可以完全冗余发生的在抽取过程中出现的灾难事故及数据恢复工作,即使在运行过程中发生了断电等事故,我们完全不需要去关系,抽取到底进行到那个步骤,抽取了多少,目标插入了多少。。。。。。我们只要在环境恢复后,重新运行抽取,即可重新完成数据的整合。
-- 如果原表为空,构造缺省值
-- 根据主键插入在维度表中找不到的基础数据
-- 根据主键更新在维度表中找到但是已经发生变化的的基础数据的结束时间为当前
-- 根据主键插入在维度表中找到但是已经发生变化的的基础数据
END
5 关于数据仓库维度数据处理的方法探究系列——缓慢变化维处理——全历史记录...相关推荐
- 6 关于数据仓库维度数据处理的方法探究系列——缓慢变化维处理——记录最新记录及上一次历史...
此种方式是缓慢变化维中较为折中的做法,但需要表结构随之适应.它的原理是把目标表字段扩充一倍,其中一组用来记录最新的记录信息,另一组用来记录上一次的历史记录.新记录插入时,将其插入到最新记录的位置,一旦 ...
- 3 关于数据仓库维度数据处理的方法探究系列——缓慢变化维概述和原理
缓慢变化维 Slowly Changing Dimensions( A typical slowly changing dimension is a product dimension in whic ...
- 2 关于数据仓库维度数据处理的方法探究系列——无变化维度处理
无变化维度一般都是比较简单的维度,都是经过一次性处理后就不再变化的数据:通常这些维度都是一些常识数据 (如性别,重要程度 )和分段数据 (为了减少单层维度的数量,按照一定业务标准进行的人为分组 ). ...
- 1 关于数据仓库维度数据处理的方法探究系列——维的概述
在数据仓库中,维度是数据仓库概念的一个重要基础,因此维度的抽取和处理是一个重要的环节,对于不同的维度根据业务需求以及客观原因有许多不同的处理方式,以下将以SQLServer2000语法为例展开. 1 ...
- 8 关于数据仓库维度数据处理的方法探究系列——父子维
父子维度通俗的话来讲,这个表是自反的,即外键本身就是引用的主键:类似这样的关系,如公司组织结构,分公司是总公司的一部分,部门是分公司的一部分,当然如果定义得好的话员工是部门的一部分:通常公司的组织架构 ...
- blog-数据仓库维度建模系列--缓慢变化维(SCD)的思考(一)
缓慢变化维(Slowly Changing Dimensions) 缓慢变化维是维度技术中用于描述维度变化情况的一种分类. 什么是SDC? 在现实的实施中 先说一下缓慢变化维的概念.缓慢变化维(Slo ...
- 吴乙己的数仓指南_5.1维度建模技巧之SCD2类型缓慢变化维搭建
目录 0.引言 1.SCD类型 2.举个栗子 3.SCD2 3.1 什么是SCD2 3.2 如何使用SCD2 3.3 如何实现SCD2 3.3.1 获取维度基准 3.3.2 按情况分治打标 3.3.3 ...
- Kettle使用_22 维度更新 缓慢变化维 拉链表
Kettle使用_22 维度更新 Type2 拉链表 需求:通过Kettle实现对员工维度数据的更新和插入. 解决方法:通过维度查询更新组件实现. 注:补充部分有SQL版Type2实现代码. Prev ...
- 大数据学习(三十一)数据仓库如何处理缓慢变化维
以下内容结合了<大数据之路-阿里巴巴大数据实践>书中的内容,就如何处理缓慢变化维话题进行展开. 前言:维度的属性也是会发生变化的,只不过相较于事实表而言,变化的速度是极其缓慢的,那我们是否 ...
最新文章
- android中实现view的更新有两组方法
- pycharm goland clion 常用快捷键 使用技巧
- LA3177长城守卫
- 浅谈 Python 程序和 C 程序的整合
- c语言标识符的规范,初识C语言-声明和使用变量、标识符的命名规范以及基本数据类型...
- 这里90%的程序员根本就不算程序员。
- matlab图像拼接_FPGA大赛【四】具体模块设计图像缓存
- 数据可视化的十大优点
- 按照ISO26262标准检验建模规范:基于模型的软件开发质量工具
- 张宇1000题高等数学 第四章 一元函数微分学的计算
- 啊哈C语言 第二章 【代码】【习题答案】
- Python题库——答案
- win10子系统安装php,win10 ubuntu 子系统安装php
- lan口配置 petalinux_【Xilinx-Petalinux学习】-02-建立PetaLinux工程
- 电路中的输入输出阻抗以及阻抗匹配
- 亚马逊账号关联怎么办?多账号如何自查?
- docker删除镜像及容器
- r语言 C4.5 剪枝是用什么算法_推荐收藏 | 决策树,逻辑回归,PCA算法面经
- mysql的日志文件
- 毕业设计效果展示:改良的CP-VTON(ICP-VTON)模型
热门文章
- FFT [TPLY]
- ASP.NET MVC Display Mode 移动端视图 配置对微信内置浏览器的识别
- MySQL语法大全_自己整理的学习笔记
- C# 多态(接口、虚方法、抽象类)的理解
- 微信小程序的多选改变样式_微信小程序button选中改样式-实现单选/多选
- androidx和android的区别,【译】使用AndroidX代替Android支持库
- java客户服务器程序预约口罩_团队作业(二):Github实训:口罩预约
- python print 换行_Python小课堂第21课:规整一下我们的输出之打印格式化与字符串...
- 基于单片机的倒车雷达系统设计c语言,基于AT89C2051单片机实现超声波倒车雷达系统的设计...
- ‘fopen‘: this function or variable may be unsafe.