基于OneData的数据仓库建设事实表设计

这篇具有很好参考价值的文章主要介绍了基于OneData的数据仓库建设事实表设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

事实表中一条记录所表达的业务细节程度称为粒度。

1. 事实类型

作为度量业务过程的事实,有可加性、半可加性和不可加性三种类型:

可加性事实指可以按照与事实表关联的任意维度进行汇总。

半可加事实只能按照特定维度汇总,不能对所有维度汇总。

不可加性事实完全不具备可加性,比如比例事实。对于不可加性事实可考虑分解为可加的组件来实现聚合。

2. 事实表类型

最常见的事实表有三种类型:事务事实表、周期快照事实表和累积快照事实表。

事务事实表用来描述业务过程,表示对应时空上某点的度量事件,保存的是最原子的数据,也称为原子事实表。在实际使用中,一般作为明细层使用,例如下单明细、支付明细等。

周期快照事实表的一行,以具有规律性的时间间隔记录事实。如每日库存快照表、每日用户余额快照表。

累积快照事实表用来表述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,通常具有多个日期字段来记录关键时间点,当过程随着生命周期不断变化时,记录也会随着过程的变化而被修改。以事务事实表中提到的订单例子为例,可以做一个和订单相关的,涉及订单下单、推单、抢单、支付等各个环节的一张订单全生命周期快照表。

此外,还有一种无事实的事实表,单纯只记录某一动作发生,其事件的量化是非数字的,比较典型的例子是访问点击日志。

3. 事实表设计原则

  • 尽可能包含所有与业务过程相关的事实。
  • 只选择与业务过程相关的事实。
  • 分解不可加性事实为可加的组件。
  • 在选择维度和事实之前必须先声明粒度。
  • 在同一个事实表中不能有多种不同粒度的事实。
  • 事实的单位要保持一致。
  • 对事实的null值要处理,建议用0填充。
  • 使用退化维度提高事实表的易用性。

4. 事实表设计方法

  1. 选择业务过程及确认事实表类型。
  2. 声明粒度。
  3. 确定维度。
  4. 确定事实。
  5. 冗余维度。

5. 事实表

单事务事实表,针对每个业务过程设计一个事实表。这样方便对每个业务过程进行独立的分析研究。

多事务事实表,将不同的事实放到同一个事实表中,即同一个事实表包含不同的业务过程。

多事务事实表有两种方法进行事实处理:

  1. 不同业务过程的事实使用不同的事实字段进行存放;如果不是当前业务过程的度量,可以考虑用0值填充。
  2. 不同业务过程的事实使用同一个事实字段进行存放,但增加一列作为业务过程标签,记录该事务是否在当天完成。

关于多事务事实表具体采用哪种方式进行事实处理:

在实际应用中,当业务过程度量比较相似、差异不大时,可以采取第二种多事务事实表的设计方式,使用同一个字段来表示度量数据。但这种方式存在一个问题,在同一个周期内会存在多条记录。

当不同业务过程的度量差异较大时,可以选择第一种多事务事实表的设计方式,将不同业务过程的度量使用不同字段冗余到表中,非当前业务过程则置为0,这种方式存在的问题是度量字段0值会比较多。

具体使用单事务事实表还是多事务事实表,需要从以下几点分析:

  1. 业务过程

多个业务过程是否放到同一个事实表中,首先需要分析不同业务过程之间的相似性和业务源系统。

比如淘宝交易的下单、支付和成功完结三个业务过程存在相似性,并且都来自于一个应用系统-交易系统,适合放到同一个事务事实表。

  1. 粒度和维度

在考虑是采用单事务表还是多事务表时,一个关键点是粒度和维度。

在确定好业务过程后,需要基于不同的业务过程确定粒度和维度,当不同业务过程的粒度相同,同时拥有相似维度时,可以考虑采用多事务事实表。如果粒度不同,必定是存存储在不同事务表中的。

  1. 事实

如果单一业务过程的事实较多,同时不同业务过程的事实又不相同,则考虑使用单事务事实表,处理更加清晰;

若使用多事务事实表,则会导致事实表零值或空值字段较多。

  1. 下游业务使用

单事务事实表对于下游用户而言更容易理解,关注哪个业务过程就使用相应的事务事实表;而多事务事实表包含多个业务过程,用户使用时往往较为困惑。

6. 周期快照事实表

事务事实表可以很好的跟踪一个事件,并进行度量分析。

然后,当需要一些状态度量时,比如账户余额、商品库存、卖家累积交易额等,则需要聚集与之相关的事务才能进行识别计算,也就是周期快照事实表。

周期快照事实表在确定的间隔内对实体的度量进行抽样,以研究实体的度量值,而不需要聚集长期的事务历史。

7. 累积快照事实表

对于类似于研究事件之间时间间隔的需求,事务事实表处理逻辑复杂且性能差,采用累积快照事实表可以很好解决。

快照事实表中收集到到状态度量都是半可加到,不能根据时间维度获得有意义到汇总结果。

数仓在进行维度建模时,对于事务事实表和快照事实表往往都是成对设计,互相补充,以满足更多下游统计分析需求,特别是在事务事实表基础上可以加工快照事实表。文章来源地址https://www.toymoban.com/news/detail-438772.html

到了这里,关于基于OneData的数据仓库建设事实表设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《数据仓库》一文读懂数据仓库建设

    数据仓库建设思维导图 1.数仓架构 ​ 我们在谈到数据仓库,都会提到数仓架构,那么数仓架构到底是什么呢?首先, 架构 就是把一个整体工作按需切分成不同部分的内容,由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一

    2024年02月16日
    浏览(36)
  • 数据仓库(3)-模型建设

    本文从以下9个内容,介绍数据参考模型建设相关内容。 OLTP:全称OnLine Transaction Processing,中文名联机事务处理系统,主要是执行基本日常的事务处理,比如数据库记录的增删查改,例如mysql、oracle OLAP:全称OnLine Analytical Processing,中文名联机分析处理系统,支持复杂的分析操

    2024年02月01日
    浏览(37)
  • 数据仓库建设-数仓分层

    数据仓库能够帮助企业做出更好的决策,提高业务效率和效益;在数据仓库建设时,绕不开的话题就是数仓分层。 1. 降低数据开发成本 通用的业务逻辑加工好,后续的开发任务可以基于模型快速使用,数据需求的响应速度也会更快。 2. 降低任务运维成本 业务发展过程中,数

    2024年02月16日
    浏览(42)
  • 数据仓库建设指导说明

    数据仓库 :是一种数据管理系统,旨在为整个组织的商务智能和分析提供支持。数据仓库通常包含大量数据,包括历史数据。数据仓库中的数据一般来自应用日志文件和事务应用等广泛来源。数据仓库存储结构化数据,其用途通常已明确定义。 数据湖 :让组织存储大量结构

    2024年02月12日
    浏览(40)
  • 最最最全数据仓库建设指南,速速收藏!

    开讲之前,我们先来回顾一下数据仓库的定义。 数据仓库(Data Warehouse)是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。这个概念最早由数据仓库之父比尔·恩门(Bill Inmon)于1990年在《建立数据仓库》一书中提出,近年来却被愈发广泛的

    2024年03月20日
    浏览(37)
  • 盘点数据仓库建设需要知道的那些事

    @ 目录 建设规范 为何要有规范 规范如何落地 有哪些规范 数仓分层 分层原则 常见分层 主题域划分原则 数据模型设计原则 数据类型规范 数据冗余规范 表规范 处理规范 命名规范 生命周期管理 指标管理 指标定义 指标构成 指标分类 命名规范 无规矩不成方圆,建立规范的目

    2024年02月04日
    浏览(74)
  • 【数仓建设系列之一】什么是数据仓库?

    一、什么是数据仓库? 数据仓库(Data Warehouse,简称DW)简单来讲,它是一个存储和管理大量结构化和非结构化数据的存储集合,它以主题为向导,通过整合来自不同数据源下的数据(比如各业务数据,日志文件数据等),解决企业数据孤岛,为企业提供统一的数据视图。通过构建

    2024年02月12日
    浏览(35)
  • 最详细数据仓库项目实现:从0到1的电商数仓建设(数仓部分)

    数据仓库是一个为数据分析而设计的企业级数据管理系统 ,它是一个系统,不是一个框架。可以独立运行的,不需要你参与,只要运行起来就可以自己运行。 数据仓库不是为了存储(但是能存),而是为了统计分析 数据仓库可集中、整合多个信息源的大量数据,借助数据仓

    2024年03月23日
    浏览(39)
  • 基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)

    💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 2023-2024年最值得选的微信小程序毕业设计

    2024年02月21日
    浏览(55)
  • 数据中台建设方案-基于大数据平台

    数据中台建设方案 -基于大数据平台- 通过对客户大数据应用平台服务需求的理解,根据建设目标、设计原则的多方面考虑,建议采用星环科技Transwarp Data Hub(TDH)大数据基础平台的架构方案,基于Transwarp Operating System(简称TOS)云平台方式部署构建。 通过建立大数据集成平台

    2023年04月17日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包