5. Kimball维度建模常用术语及概念(一)

news/2024/4/24 23:06:53/文章来源:https://blog.csdn.net/liuqiker/article/details/129103413

文章目录

      • 维度建模过程相关概念
        • 1. 收集业务需求与数据实现
        • 2. 协作维度建模研讨
        • 3. 四步骤维度设计过程
        • 4. 业务过程
        • 5. 粒度
        • 6. 描述环境的维度
        • 7. 用于度量的事实
        • 8. 维度模型
      • 事实表技术术语
        • 1. 事实表结构
        • 2. 可加、半可加、不可加事实
        • 3. 事实表中的空值
        • 4. 一致性事实
        • 5. 事务事实表
        • 6. 周期快照事实表
        • 7. 累积快照事实表
        • 8. 无事实的事实表
        • 9. 聚集事实表
        • 10. 合并事实表

维度建模过程相关概念

1. 收集业务需求与数据实现

  开始维度建模工作前,项目组需要通过与业务代表交流,理解业务需求(包括关键性能指标、商业问题、决策制定过程等),同时,与源系统专家交流数据实际情况,分析数据访问、及分析可行性。

2. 协作维度建模研讨

  维度模型应该由主题专家与企业数据管理代表合作设计而成。工作由数据建模者负责,但模型应该通过与业务代表开展一系列高级别交互讨论而获得,而不应该由不懂业务需求的人来设计。

3. 四步骤维度设计过程

  维度模型设计期间主要涉及4个主要的决策:
  (1) 选择业务过程;
  (2) 生命粒度;
  (3) 确认维度;
  (4) 确认事实;
  要回答上述问题,需要考虑业务需求以及底层数据源。按照业务过程、粒度、维度、事实声明的流程,确定表明和列名、示例领域值以及业务规则,业务数据管理者必须参与详细的设计活动,以确保涵盖正确的业务。

4. 业务过程

  业务过程是组织完成的操作型活动,多数事实表都会关注某一业务过程的结果。过程的选择是非常重要的,因为它定义了他特定的设计目标以及对粒度、维度、事实的定义。每个业务过程对应企业数据仓库总线矩阵的一行。

5. 粒度

  在选在维度或事实前必须声明粒度,且每个候选维度或事实必须与定义的粒度保持一致。在所有维度设计中强制实行一致性是保证BI应用性能和易用性的关键。
  在从给定的业务过程获取数据时,原子粒度是最低级别的粒度。我们强烈建议从原子粒度的数据开始设计,因为只有原子粒度数据能够承受无法预期的用户查询。

6. 描述环境的维度

  维度提供围绕某一业务过程事件所设计的“谁、什么、何时、何处、为什么、如何”等背景。维度表是数仓的灵魂,因其包含确保DW/BI系统能够被用作业务分析的入口和描述性标识。

7. 用于度量的事实

  事实是来自业务过程事件的度量,基本上都是以数量值表示。一个事实表行与按照事实表粒度描述的度量事件之间存在一对一关系,因此事实表对应一个物理可观察的事件。

8. 维度模型

  维度模型对数据关系发生变化具有灵活的适应性。当发生以下变化时,不需要改变现存的BI查询或应用:
  当事实与存在的事实表粒度一致时,可以创建新列;
  通过建立新的外键列,可以将维度关联到已经存在的事实表上;
  可以在维度表上通过建立新列添加属性;
  可以使事实表的粒度更原子化,方法是在维度表上增加属性,然后以更细的粒度重置事实表;

事实表技术术语

1. 事实表结构

  事实表的设计完全依赖于物理活动,不收可能产生的最终报表的影响。除数字度量外,事实表总是包含外键,用于关联与之相关的维度,也包含可选的退化维度键和时间戳。查询请求的主要目标是基于事实表开展计算和聚集操作。

2. 可加、半可加、不可加事实

  最灵活、最有用的事实是完全可加的,可加事实可以按照与事实表关联的任何维度汇总。
  半可加事实可以对某些维度汇总,但不能对所有维度汇总。“差额”是常见的半可加事实,除了时间维度外,可以跨所有维度进行加法操作。
  最后,一些事实是完全不可加的,例如“比率”。对非可加事实,一种好的方法是,存储非可加事实的完全可加分量,并在计算出最终的非可加事实前,将这些分量汇总到最终的结果集合中。

3. 事实表中的空值

  事实表中可以存在空度量值,然而,事实表中的外键不能存在空值。一旦遇到外键(维度)未知或无法应用的情况,需要用默认值(代理键)而不是空值填充。

4. 一致性事实

  如果需要比较或计算不同事实表中的度量值,则必须保证这些事实表的定义是一致的,如果它们不兼容,则应该有不同的命名用于告诫用户和BI应用。

5. 事务事实表

  事务事实表的一行对应空间或时间上某点的度量事件,仅当存在度量时才会建立行。它总是包含一个与维度表关联的外键,也可能包含精确的时间戳和退化维度键。度量数字事实必须与事务粒度保持一致。

6. 周期快照事实表

  周期快照事实表中的每行汇总了发生在某一标准周期,如某天、周、月的多个度量事件。粒度是周期性的,而不是个体事务。这些事实表的外键是均匀的,即使周期内没有活动发生,也会在事实表中为每个事实插入包含0或空值的行。

7. 累积快照事实表

  累积快照事实表的行汇总了发生在过程开始和结束之间可预测步骤内的度量事件。管道或工作流过程(例如,订单)具有定义的开始点,标准中间过程,定义的结束点,它们在此类事实表中都可以被建模。

8. 无事实的事实表

  无事实事件的存在是为了记录一些列某一时刻发生的多为实体。如,在给定的某天发生的学生参加课程事件,本身没有度量,但记录了事件的多维外键。

9. 聚集事实表

  聚集事实表是对原子粒度事实表数据进行简单的数字化上卷操作,目的是为了提高查询性能。

10. 合并事实表

  通常,来自多个业务过程的,以相同粒度表示的事实可以合并为一个单一的合并事实表,这样做会增加ETL的负担,但降低了BI应用的分析代价。合并事实表特别适合那些经常需要共同分析的多过程度量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_72664.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

numpy的常见数据类型

常见数据类型介绍Python 原生的数据类型相对较少, bool、int、float、str等。这在不需要关心数据在计算机中表示的所有方式的应用中是方便的。然而,对于科学计算,通常需要更多的控制。为了加以区分 numpy 在这些类型名称末尾都加了“_”。类型…

ES mapping 详解

nested 类型??? _all _routing; ES-mapping Elasticsearch根据业务创建映射mapping结构分析:keyword和text(一)_elasticsearch keyword mapping_周全全的博客-CSDN博客 0.Mapping样例 {"mapping…

【MySQL进阶】 锁

😊😊作者简介😊😊 : 大家好,我是南瓜籽,一个在校大二学生,我将会持续分享Java相关知识。 🎉🎉个人主页🎉🎉 : 南瓜籽的主页…

[手把手教你]实现简单的登录跳转以及tab栏的动态渲染

需求:实现login登录页输入用户名和密码, 匹配失败显示提示信息, 成功则跳转到index主页index页面中各组件通过嵌套路由实现,点击一级菜单可以动态显示二级菜单1.使用vite搭建项目安装初始化npm init vuelatest选择配置进入项目目录,安装模块npm i, 启动项目npm run dev2.项目目…

S5P6818_系统篇(2)源码编译及烧录

源码获取 源码获取和操作流程 1.下载liunux下的系统制作脚本,可以烧录系统和构建镜像 git clone https://github.com/friendlyarm/sd-fuse_s5p6818.git 如果出现git错误可使用如下方法: git config --global http.sslverify false 2.阅读该工具rea…

软件测试5年,一路走来的艰辛路程

前言 不论你是什么时候开始接触测试这个行业的,你首先听说的应该是功能测试。通过一些测试手段来验证开发做出的代码是否符合产品的需求?当然你也有自己对功能测试的理解,但是最近两年感觉功能测试好像不太受欢迎,同时不少同学真的…

Linux 基础知识之文件系统

目录一、文件系统1.文件种类2.Linux和Windows文件后缀的不同3.查看文件类型3.绝对路径与相对路径二、系统分区三、目录结构一、文件系统 1.文件种类 Linux中一切皆文件。目光所及,皆是文件。文件的种类共有七种,每种文件都有自己的独特标识:…

SCADA-1-组态前期需求调研篇

近期有朋友找到我,说scada组态系统开源的很少,不少开发者借此售卖这种软件,我回了句:这有什么难的,不就是拖拖拽拽,再绑定上数据源,实现动态效果嘛。。。(先装了个X)一、…

【C++】类和对象入门必知

面向过程和面向对象的初步认识类的引入类的定义类的访问限定符封装类的作用域类的实例化类对象模型this指针C语言和C实现Stack的对比面向过程和面向对象的初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解…

3717: yuyu学数数

描述yuyu开始学数数了,她要爸爸给他一些火柴棍,她要拼出很多数来。yuyu每次说要拼什么数字,爸爸就得想想要给她几根,好累啊,于是就只好写程序了。输入输入数据有多组,每组占一行,每行一个非负整…

版本控制软件SVN

SVN学习 1 版本控制软件定义及用途 版本控制软件是为适应软件配置管理的需要,控制软件的修改,减少混乱,提高软件生产效率,其是软件质量保证的重要环节软件配置管理是对软件修改进行标识、组织和控制的技术,用来协调和…

数据结构:循环队列的实现(leetcode622.设计循环队列)

目录 一.循环队列简单介绍 二.用静态数组实现循环队列 1.数组循环队列结构设计 2.数组循环队列的堆区内存申请接口 3.数据出队和入队的接口实现 4.其他操作接口 5.数组循环队列的实现代码总览 三.静态单向循环链表实现循环队列 1.链表循环队列的结构设计 2.创建静…

Linux服务:Nginx服务配置及相关模块

目录 一、Nginx配置文件 1、主配置文件解析 2、子配置文件启用 二、子配置文件使用 1、创建虚拟主机实验 2、基于端口虚拟主机实验 三、Nginx模块 1、access模块 2、自定义错误页面 3、状态页开启 一、Nginx配置文件 1、主配置文件解析 ①yum安装主配置文件位置&…

攻击者失手,自己杀死了僵尸网络 KmsdBot

此前,Akamai 的安全研究员披露了 KmsdBot 僵尸网络,该僵尸网络主要通过 SSH 爆破与弱口令进行传播。在对该僵尸网络的持续跟踪中,研究人员发现了一些有趣的事情。 C&C 控制 对恶意活动来说,最致命的就是夺取对 C&C 服务…

Anaconda环境配置

1.进入清华大学镜像网站Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,下载稳定版Anaconda3-5.2.0,如下图。2.放到整理好的文件夹中,双击安装包进行安装。3.安装过程中需要改变的默认值如下&#xff…

【数据库】redis数据持久化

目录 数据持久化 一, RDB 1, 什么是RDB 2,持久化流程 3, 相关配置 案例演示: 4, 备份和恢复 1、备份 2、恢复 3,优势 4, 劣势 二,AOF 1,什么是A…

说说 React 中 fiber、DOM、ReactElement、实例对象之间的引用关系

原生组件 fiber 原生组件 fiber,指的就是 type 为 “span”、“div” 的 fiber。 1.fiber.stateNode 指向真实 DOM 节点;2.node["__reactFiber$" randomKey] 指向对应 fiber,使用随机数是防止和业务代码的属性名冲突,…

Scala模式匹配详解(第八章:基本语法、模式守卫、模式匹配类型)(尚硅谷笔记)

模式匹配第 8 章 模式匹配8.1 基本语法8.2 模式守卫8.3 模式匹配类型8.3.1 匹配常量8.3.2 匹配类型8.3.3 匹配数组8.3.4 匹配列表8.3.5 匹配元组8.3.6 匹配对象及样例类8.4 变量声明中的模式匹配8.5 for 表达式中的模式匹配8.6 偏函数中的模式匹配(了解)第 8 章 模式匹配 Scal…

论文解读 | [AAAI2020] 你所需要的是边界:走向任意形状的文本定位

目录 1、研究背景 2、研究的目的 3、方法论 3.1 Boundary Point Detection Network(BPDN) 3.2 Recognition Network 3.3 Loss Functions 4、实验及结果 论文连接:https://ojs.aaai.org/index.php/AAAI/article/view/6896 1、研究背景 最近,旨在…

深度解读 | 数据资产管理面临诸多挑战,做好这5个措施是关键

日前,大数据技术标准推进委员会(中国通信标准化协会下(CCSA)的专业技术委员会,简称TC601)发布《数据资产管理实践白皮书》(6.0 版)(以下简称:报告&#xff09…