数据仓库——事务、快照和累积快照事实表

2024-03-29 00:20

本文主要是介绍数据仓库——事务、快照和累积快照事实表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

事务、快照和累积快照

  • 事务事实表跟踪定义业务过程的个体行为,并且支持几种描述这种行为事实。可以提供丰富的分析型能力,时常充当原子数据的粒度化仓库
  • 快照事实表周期性地采样状态度量,这些度量与一系列事务的累积效果相当,但是这些事务的格式不易进行研
  • 累积快照事实表用来跟踪通过一系列处理步骤的个体项的进展情况,用于研究多数过程中里程碑或者事件的经过时间。这种事实表在单一行中关联多个不同的行为。

事务事实表

  • 事务事实表用于跟踪事件,通过存储事实和与之关联的维度细节,允许单独或聚集地研究行为。
  • 粒度
  • 稀疏性
  • 包含可加事实

事实表快照

状态度量: 度量一系列事务的效果称为状态度量,当状态度量很重要时,事务事实表是无效率的。
状态度量,通常可以从事务历史中构造出来,然而如果事务历史延伸到很远的过去,或者必须计算许多事务的状态,监控状态将是低效的办法。
无法使用事务事实表分析的原因:

  • 事务设计不符合标准
  • 有时不存储事务数据
  • 不要为挨个事务存储状态度量

快照模型

周期性事表快照简称事实表快照。事实表快照在确定的时间间隔中对问题的度量进行抽样,这样就可以容易地研究问题的度量值,而不需要聚集长期的事务历史。

事务事实表快照事实表
粒度可以以多种方式表达粒度通常以维度形式声明
事务事实表是稀疏的快照事实表是稠密的
事实是完全可加的事实包含至少一个用来展示半可加性质的事实
  • 用快照采用状态,快照事实表以预定的采用间隔采样状态度量。这种间隔联合一个或者多个维度,将被用来定义快照事实表的粒度。每行将包含记录所涉及状态的事实
  • 快照粒度,快照的粒度必须包括采样状态的周期以及将被采样的定义,通常在维度关系中指明
  • 稠密的,在快照中,不论是否存在活动,行都被记录,如果不这样做,确定状态将变得非常困难。快照事实表是稠密的,每个周期的信息被记录并与粒度声明一致,而不论是否发生任何行为
  • 半可加性。快照事实表中手机的状态度量通常是半可加的,半可加事实能够用其他方法按照周期来汇总,包括计算最小值、最大值和平均值等
  • 事务和快照模型能够很好的相互补充,如果都被建立起来,可以使用事务星型模式作为快照的数据源
  • 周期性快照不限制存储度量状态的事实。
  • 周期到日期度量,周期到日期度量通常不是存储在事务事实表中,快照事实表是周期到日期独恋在逻辑上存储的地方。
  • 指定周期维度,对于周期快照,考虑表示被汇总周期的时间维度,而不是使用表示周期结束日的日维度。
  • 快照与缓慢变化。周期快照仅仅为定义粒度的维度的每个自然键组合记录一行

累积快照事实表

累积快照事实表用来跟踪通过一系列处理步骤的个体项的进展情况,用于研究多数过程中里程碑或者事件的经过时间。这种事实表在单一行中关联多个不同的行为。
许多业务流程可以描述成一系列必经的阶段、步骤或状态。过程的效率往往是通过完成一个或者多个步骤所花费的时间来度量的。
间隔时间的研究要求关联多个状态,在事务模型中,每个状态变化都将记录在事实表的不同行中。但是事件彼此存在关联时就不起作用了。
事务模型存在的问题:

  • 过程有效性的关键度量之一,是花费在过程中的每个步骤上的总的时间。事务模型查询编写困难,并且性能低下
  • 开始与结束日期不是答案,当研究不同阶段或者不同里程碑花费时间时,描述处理步骤的事务模型是存在问题的。
    累积快照设计的粒度是依照在业务流程中可识别的实体来构造的。
  • 粒度,为了设计累积快照,必须可以区分被处理或者跟踪实体的唯一实例,对于考虑的实体的每个实例,都将定义一行粒度。累积快照的行在被插入后将定期更新。
  • 里程碑的完成日期,快照记录了每个被监视的处理阶段的完成日期。
  • 每个阶段间隔时间的事实,累积快照中的每一行都包含一组事实,从来度量每个阶段花费的天数。
  • 行的生命周期,累积快照事实表将会定期更新行,处理间隔时间的事实将随着日期增长,每当实现一个新状态时,将会涉及里程碑日期。
  • 使用累积快照,对研究花费在任何过程或者任何阶段的组合来讲,累积快照都是一种有效且强大的工具。
  • 累积快照不能替代事务模型,许多情况下,两者能够互为补充。
  • 关注关键状态里程碑,累积快照不必跟踪操作型系统中每个记录的状态变化,可以设计成通过业务来追踪关键里程碑或汇总级别的状态。
  • 多源过程信息,某些情况下,有关业务过程信息不可能在一个地方获得。可能给架构设计者和ETL开发人员带来额外挑战。
  • 非线性过程,许多业务过程是非线性或不可预见的,与采用标准严格的里程碑集合过程不同,这种过程可以包含可选的、交替的或者重复的步骤。这些情况不会妨碍累积快照的使用,但是在使用时需要在架构设计过程中附加严格的评估方法。不按照固定的可预见的里程碑处理过程仍然可以使用累积快照进行跟踪。需要谨慎定义在任何给定时间增长的事实的规则。如果一个特定状态完成了多次,那就需要确定使用哪个日期,这些选择应该由商业用户决定,而不是由设计者或开发人员确定。
  • 缓慢变化,当由累积快照定义维度表示的事务发生类型2变化时,在维度表中关于该事务有两行,最近运行的代理键应该用于事实表中,不要使用自然键,因为这将导致双重计算。

这篇关于数据仓库——事务、快照和累积快照事实表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/857101

相关文章

MySql 事务练习

事务(transaction) -- 事务 transaction-- 事务是一组操作的集合,是一个不可分割的工作单位,事务会将所有的操作作为一个整体一起向系统提交或撤销请求-- 事务的操作要么同时成功,要么同时失败-- MySql的事务默认是自动提交的,当执行一个DML语句,MySql会立即自动隐式提交事务-- 常见案例:银行转账-- 逻辑:A给B转账1000:1.查询

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

通用内存快照裁剪压缩库Tailor介绍及源码分析(一)

背景 我们知道内存快照是治理 OOM 问题及其他类型的内存问题的重要数据源,内存快照中保存了进程虚拟机的完整的堆内存数据,很多时候也是调查其他类型异常的重要参考。但是dump出来的堆转储文件.hprof往往很大,以 LargeHeap 应用为例,其 OOM 时的内存快照大小通常在512M左右,要有效的存储和获取都是一个问题。 线下拿到hprof文件相对容易,也可以预防OOM,但覆盖的场景十分有

spring事务属性的xml格式配置

实际是使用代理做的事务优化 <!--配置事务的属性--><tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!--匹配所有以add开头的方法--><tx:method name="add*" propagation="REQUIRED" /> <tx:metho

Spring Cloud整合Seata实现分布式事务

文章目录 1.Seata1.1 官网1.2 下载1.3 通过安装包运行seata1.3.1 解压seata-server-1.3.0.zip1.3.2 修改 conf/file.conf 配置文件1.3.3 修改conf/registry.conf配置文件1.3.4 添加seata配置信息到nacos1.3.5 配置seata服务端数据库表结构1.3.6 启动seata 2.Spring

分布式 事务的几种实现方案

背景 四月初,去面试了本市的一家之前在做办公室无人货架的公司,虽然他们现在在面临着转型,但是对于我这种想从传统企业往互联网行业走的孩子来说,还是比较有吸引力的。 在面试过程中就提到了分布式事务问题。我又一次在没有好好整理的问题上吃了亏,记录一下,还是长记性 !!! 先看面试过程 面试官先是在纸上先画了这样一张图: 让我看这张图按照上面的流程走,有没有什么问题?面试官并没有直接说出来这里面

分布式事务 全面解析

1 面试题 分布式事务了解吗?你们如何解决分布式事务问题的? 2 考点分析 只要聊到做了分布式系统,必问分布式事务,若你对分布式事务一无所知的话,确实很坑,起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。 现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配. 你做系统肯定要用事务,那你用事务的话,分布式系统之后肯定要用分布式事务. 先不说你搞过没有,起码你

数据仓库理论知识

1、数据仓库的概念          数据仓库(英文:Date Warehouse,简称数仓、DW),是一个用于数据存储、分析、报告的数据系统。数据仓库的建设目的是面向分析的集成化数据环境,其数据来源于不同的外部系统,其结果开放给不同外部应用使用,为企业提供决策支持; 2、数据仓库的主要特征 数据仓库是面向主题性(Subject-Oriented )、集成性(Integrated)、非易

为 Key-Value 数据库实现MVCC 事务

ACID是软件领域使用最广泛的技术之一,它是关系数据库的基石,是企业级中间件不可或缺的部分,但通常通过黑盒的方式提供。但是在许多情况下,这种古老的事务方式已经不能够适应现代大规模系统和NoSQL数据库的需要了,现代系统要求更高的性能要求,更大的数据量,更高的可用性。在这种情况下,传统的事务模型被定制的事务或者半事务模型所取代,而在这些模型中事务性并不像以往那样被看重。   在本文中我们会讨论一