交易事实表、周期快照事实表和累积快照事实表
https://blog.csdn.net/zlcd1988/article/details/40039921
在数据仓库领域有一个概念叫Transaction fact table,中文一般翻译为“事务事实表”。事务事实表是维度建模的数据仓库中三种基本类型事实表中的一种,另外两种分别是周期快照事实表和累积快照事实表。
事务事实表与周期快照事实表、累积快照事实表使用相同的一致性维度,但是它们在描述业务事实方面是有着非常大的差异的。
事务事实表记录的事务层面的事实,保存的是最原子的数据,也称“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。一旦事务被提交,事实表数据被插入,数据就不再进行更改,其更新方式为增量更新。
事务事实表的日期维度记录的是事务发生的日期,它记录的事实是事务活动的内容。用户可以通过事务事实表对事务行为进行特别详细的分析。
通过事务事实表,还可以建立聚集事实表,为用户提供高性能的分析。
2) 在数据仓库领域有一个概念叫Periodic snapshot fact table,中文一般翻译为“周期快照事实表”。
周期快照事实表以具有规律性的、可预见的时间间隔来记录事实,时间间隔如每天、每月、每年等等。典型的例子如销售日快照表、库存日快照表等。
周期快照事实表的粒度是每个时间段一条记录,通常比事务事实表的粒度要粗,是在事务事实表之上建立的聚集表。周期快照事实表的维度个数比事务事实表要少,但是记录的事实要比事务事实表多。
周期快照事实表的日期维度通常是记录时间段的终止日,记录的事实是这个时间段内一些聚集事实值。事实表的数据一旦插入即不能更改,其更新方式为增量更新。
3)在数据仓库领域有一个概念叫Accumulating snapshot fact table,中文一般翻译为“累积快照事实表”。
累积快照事实表和周期快照事实表有些相似之处,它们存储的都是事务数据的快照信息。但是它们之间也有着很大的不同,周期快照事实表记录的确定的周期的数据,而累积快照事实表记录的不确定的周期的数据。
累积快照事实表代表的是完全覆盖一个事务或产品的生命周期的时间跨度,它通常具有多个日期字段,用来记录整个生命周期中的关键时间点。另外,它还会有一个用于指示最后更新日期的附加日期字段。由于事实表中许多日期在首次加载时是不知道的,所以必须使用代理关键字来处理未定义的日期,而且这类事实表在数据加载完后,是可以对它进行更新的,来补充随后知道的日期信息。
举例来说,
订货日期
预定交货日期
实际发货日期
实际交货日期
数量
金额
运费
特点 |
交易事实 |
周期快照事实 |
累积快照事实 |
时间/时期 |
时间 |
时期 |
时间跨度较短的多个时点 |
粒度 |
每行代表一个交易事件 |
每行代表一个时间周期 |
每行代表一个业务周期 |
事实表加载 |
新增 |
新增 |
新增和修改 |
事实表更新 |
不更新 |
不更新 |
新事件产生时更新 |
时间维 |
业务日期 |
时期末 |
多个业务过程的完成日期 |
事实 |
交易活动 |
时间周期内的绩效 |
限定多个业务阶段内的绩效 |
交易事实表、周期快照事实表和累积快照事实表相关推荐
- Spark与Iceberg整合查询操作-查询快照,表历史,data files Manifests 查询快照,时间戳数据...
1.8.6 Spark与Iceberg整合查询操作 1.8.6.1 DataFrame API加载Iceberg中的数据 Spark操作Iceberg不仅可以使用SQL方式查询Iceberg中的数据, ...
- sql 表变量 临时表_何时使用SQL临时表与表变量
sql 表变量 临时表 It is very beneficial to store data in SQL Server temp tables rather than manipulate or ...
- sql server表分区_SQL Server 2016增强功能– SQL截断表和表分区
sql server表分区 The idea behind this article is to discuss the importance and the implication of SQL P ...
- 06_clickhouse、表和列的TTL规则与实践、表和列的TTL、列级TTL、表级TTL、列级TTL示例、表级TTL示例
3.表和列的TTL规则与实践 3.1.表和列的TTL 3.2.列级TTL 3.3.表级TTL 3.4.列级TTL示例 3.5.表级TTL示例 3.表和列的TTL规则与实践 3.1.表和列的TTL 定义 ...
- 如何根据对象获取到对应的表名_Hands-on! 如何给 TiDB 添加新系统表
作者:黄东旭 "TiDB,你已经是一个成熟的数据库了,该学会用自己的 SQL 查自己的状态了." 对于一个成熟的数据库来说,通过 SQL 来查询系统本身的状态再正常不过,对于 My ...
- sql 时态表的意义_SQL Server 2016中的时态表的概念和基础
sql 时态表的意义 In this article I'll cover all aspects of a new SQL Server 2016 feature, Temporal Tables ...
- windows注册表_改进Windows的20个最佳注册表技巧
windows注册表 Hacking the registry allows you to tweak many things in Windows, such as the adding and r ...
- java 卡表,关于jvm:聊一聊Java垃圾回收与卡表技术
文章收录地址:Java-Bang 专一于零碎架构.高可用.高性能.高并发类技术分享 在读博士的时候,我已经写过一个统计 Java 对象生命周期的动态分析,并且用它来跑了一些基准测试. [腾讯云]云产品 ...
- mysql 收货地址表,没法到达的快递地址 一次偷懒表设计带来的惨痛教训
无法到达的快递地址 一次偷懒表设计带来的惨痛教训 前段时间,商城在做促销活动的时候,我们的测试人员也买了一些商品,但是时隔多天一直没有收到快递,很是纳闷.经过开发同学的确认,该订单的邮递地址为:北京市 ...
最新文章
- dSploitzANTI渗透教程之启动zANTI工具
- 由浅入深:自己动手开发模板引擎——解释型模板引擎
- 程序员第一次相亲,因请女方吃肯德基而被怒删!
- 在Centos 5.2下编译安装LAMP
- 如何生成WebPart的部署文件(wsp文件)
- UNION 和UNION ALL的区别
- [转]使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger
- 点击list view中一行内容可以在combox中显示_在后台添加新的产品/文章分类,如何在模板中显示产品列表/文章列表?如何调用分类?...
- android studio飞机大战游戏带注释源码教程(多线程)
- PS学习笔记6-选区工具
- 面板模型混合效应模型_树助混合效应模型
- 利用Data URL(data:image/jpg;base64,)加速网页加载的方法
- html图片有的不显示不出来的,css背景图片不显示有哪些原因?
- java实现中文数字与阿拉伯数字互相转换
- 低功耗蓝牙(BLE)开发——如何妥善处理包大小(MTU)限制
- python k近邻算法_python中的k最近邻居算法示例
- 网络广告CPC、CPM和CTR的定义和关系
- 【产品经理】 产品经理进阶之路(十一):怎么看微信的公众号和百度的直达号,哪个更有优势
- Costco已来华,会员制电商是否迎来爆发增长期?
- 组合电路、触发器、时序电路、寄存器