数据仓库——维度表特性

企业信息化工厂

  • 数据集市中的一致性,由于企业信息化工厂的数据集市是从集成仓库中获得信息的,因此至少从维度建模的角度来看,一致性维护的问题减少了。尽管合并不同数据源的问题依然在,但是负担主要在设计者身上。尽管压力降低了,但是数据集市的设计者仍然应该计划并用文档说明一致性。
  • 跨数据集市的一致性,因为数据集市是为部门级用户组织分析型数据库,跨数据集市的一致性要求也被放宽了。如果有过程维度不一致情况下,需要开发另外的数据集市。在企业信息化工厂体系结构中,数据集市内的一致性是非常重要的,没有必要规划跨数据集市的一致性,尽管这样做能够消除因支持跨功能分析而进行的额外的开发。

独立型数据集市

  • 与不一致性共存,通常商业目标需要考虑利益问题,但没有足够的资金开发企业级的一致性战略,或者有没支持战略规划阶段的政策都是常见的。
  • 一致性实践,如果团队能够确定具有企业范围的维度,全面考虑满足的企业需求和需要它们的操作源,开发的维度效果就比较好,这些维度能在区分其他的区域需求被具体化,而不是将他们设计限制于开发的解决方案。
  • 维度改装,将已经存在的数据仓库基础设施可通过改装维度成为一致性维度。设计模式为,将不一致的维度中的每一行映射到对应企业维度模型的表中。添加企业维度模型中缺少的附加属性。在独立型数据集市中,采用映射的方法重新分配事实表外键以便能够引用一致性维度。表面合理,但是简短的说明并没有考虑到数据的不一致性,并且完全忽略了对查询独立型数据集市的前端应用程序的影响问题。在数据方面,在两个不一致维度表行间建立一对一匹配是不可能的。同样严峻的考验来自于对前端报表和应用程序的影响。内容的变化也可能受影响

维度表的功能内容

维度表的集合是星型模型的关联部分

  • 维度表键
  • 维度表很宽
  • 文本属性
  • 维度表中的某些属性经常不会与其中的其他属性直接相关
  • 非规范化,维度表是扁平的,不是规范化的
  • 上钻与下钻,维度表中的属性提供了获取从高层次汇总的信息到低层次细节信息的能力
  • 多层次结构
  • 更少的记录

维度表的数据内容

提供丰富和全面的维度属性集合,每个新增的数据都将会显著地提高分析的可能性。

  • 公共组合,在操作型系统中,经常采用的方法是将数据元素尽可能分解为构成其内容的U盾哦个组件。采用这种方法,可以将不同组件按照需要加以合并,例如客户姓名可以分解并以first_name、middle_initial、last_name的方式存储。与操作型模式不同,维度模式还应包含这些组件的各种组合。
  • 代码与描述符,在操作型系统中,通常将某一领域中的可列值以代码的形式表示,同时使用另外的表来描述这些代码。这样做的目的是方便对可列值得维度并提高存储效率。从分析 和应用的角度考虑,代码和描述都是可用的维度。
  • 标志以及标志值,在操作性系统中,如果列的值为布尔类型,通常将它作为标志。在维度设计时,这些标志可用于过滤查询,或者分组事实,通过采用描述型的值存储标志,可以方便地使用标志。
  • 多列组合字段,操作型系统通常包含由多个部分组合而成的字段列,每个部分各自具有不同的含义。在维度设计时,全部的属性江北存储,用于分割该数据的多个子属性也将被存储,如果这些子属性是代码,那么还要增加对应的描述值。
  • 带有数字值的维度,如果一个属性通常用于聚集或者汇总,那么它就是事实,如果通常被用于提供聚集或者汇总的环境,那么它就是维度。
  • 行为维度与混合属性,利用行为模式分析事实是一种强有力的分析技术。基于事实计算得到的维度称为行为维度。行为分组作为维度。若对行为分组的更新不太频繁,采用这样的方法将会起到很好的效果。如果行为分组在每次使用时都需要更新,该方法可能更加合理。但是问题在于需要耗费更多的时间,因为在每次执行报表时都需要计算分组情况。

行为维度

行为问题是一种基于队过去维度成员行为进行分组或过滤事实的方法,行为维度将事实转换为维度,以确保获得请打的分析能力,不需要使用复杂查询或者详细处理的分析。
在查询期间将事实转换为维度

  1. 识别问题中设计的每个维度成员的过去行为
  2. 将这些信息作为研究当前行为的查询的一部分
    由于处理的需要,采用此种方式的查询不能很好的执行。为解决此问题,通常需要在批量处理窗口起家指定行为表报,以便在用户请求时,该报表已经被缓存并为查看做好准备。当然这种方式破坏了正常循环获得答案。差生了新问题。但是注意,中断用户不能将行为报表组合到一起。
设计并使用行为维度
  1. 与另一个维度的过去关联,行为属性可用于获取维度行信息的历史关联,这些信息通常存储在另外一个表中。如果没有行为维度,过去的关联只能通过查询事实表获得,通常关联的维度是日期,并被添加到维度表中表示过去的重大事件。
  2. 历史事实,行为属性也能捕获维度表中关于有效存放事件具有历史意义的事实,就想在属性名称上所体现,历史事实可以用来过滤,聚合,或者是获得订单查询结果。
  3. 分类事实,尽管历史事实在查询限制方面是有效的,如果需要用来推进分组,它就变得不那么有效。
行为维度设计要素

必须仔细考虑维护的含义。维度具有缓慢变化特征将导致表大小快速增长,而且他们频繁地更新将给ETL带来巨大的压力。
行为属性的更新频率使ETL负担过重,需要最新信息的情况极少发生,可以通过查询事实来生成报表。

维度表中的组合维度

维度属性分组到维度中,用于表示引用信息的主要分类。杂项维度将那些本身没有相似性的属性收集起来,如果将规范化理论应用到维度表中,结果称为雪花模式。即使不采用规范化理论,雪花模式也仍然可以作为特定软件工具使用。维度设计完全接纳对信息的冗余存储。

  • 基于相似性的组合维度,维度表包含组合维度属性以表示引用信息的主要分类,这些分类往往带有强烈的业务特征。
  • 无相似性的杂项维度,在某些情况下,创建一个不存在实际关系的维度表时有用的,采用该技术有益于需要控制快速变化维度表的生长速度的情况。
  • 雪花模式及其支架表,维度表中存在大量冗余,使用实体关系建模时,采用规范化理论从关系设计中消除此类冗余。不要采用规范化理论知道维度表的设计工作。需要采用雪花模式和支架表的情况是一种特例而不能当做规则来使用
  • 冗余带来的好处,性能、可用性和一致性。在进行维度设计时应该容忍冗余的存在,详尽地存储每一个维度属性,将大大提高系统性能,增强可用性,确保在多个应用中保持一致。规范化理论更适合于操作型系统而不是分析型系统

维度表特性

与实体关系模型不同,维度模型不能揭示相互关联的属性之间的关系,上下文关系易于传递给事实表,而天然存在的相关性则由维度表中共存的属性表示。

关联维度属性的两种方法

  • 描述环境的明确的关系,每个事实表都有一个引用维度表的外键,这些引用为事实表提供了维度环境,这些链接也可以看做提供了维度表之间存在的关系
  • 描述亲和性的隐含关系,维度模型还包含不能通过连接而明确的关系。维度属性之间的关系可能隐含在他们的共存的表中,这些关系只在单独的环境中存在,表示自然亲和性不是基于过程活动的关系。

如何确定连个维度是否属于同一维度

最好的方法是考虑属性在何处相关,在何处使用。例如考虑是否具有自然的亲和性,或者在不同环境中是否有关系,或者那些趋向于共享稳定关系的属性可能被储存在一起,或者那些仅存在事件、事务或条件等情况下相关的属性,可以将他们归入不同的事实表中,存在疑惑不定时,可以考虑不同设计方法的可浏览性。
基于亲和性分组维度,通常根据自然亲和性将维度分组为不同的表,另一方面,一些属性只能基于事务或活动发生关联。当连个维度属性共享一个自然亲和性关系,并且同时出现在一种环境中,他们属于同一个维度表。当他们的关系由事务或活动来决定,并且存在于不同的环境中,应该将他们放置在不同的维度表中。
可浏览性测试,如果难以确定连个属性是否属于同一维度表,可以考虑他们的被使用的情况。

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

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

相关文章

【Go】六、函数

文章目录 1、函数的定义2、内存分析3、注意点4、函数数据类型5、自定义数据类型(起别名)6、支持对返回值命名 1、函数的定义 语法: func 函数名(形参列表)(返回值类型列表){执行语句..return 返回值列…

mac系统使用经验

mac安装brew brew是macos下的一个包管理工具,类似与centos的yum,ubuntu的apt-get等。 自动脚本(全部国内地址)(在Mac os终端中复制粘贴回车下面这句话) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/H…

PHP实现单列内容快速查重与去重

应用场景:excel一列内容比如身份证号&#xff0c;可能有重复的&#xff0c; 则用此工具快速查询那些重复及显示去重后内容。 使用&#xff1a;粘贴一列数据&#xff0c;然后提交发送。 <?php $tm "单列查重去重(粘贴Excel中1列内容查重)!";function tipx($str…

无人驾驶矿卡整体解决方案(5g物联网通信方案)

​无人驾驶矿卡是智能矿山的重要组成部分,通过远程操控替代人工驾驶,可以显著提高采矿效率和作业安全性。但要实现无人驾驶矿卡,需要依赖于可靠高效的通信网络,来传输现场视频、控制指令和运行数据。以下是某大型煤矿在部署无人驾驶矿卡时,所采用的星创易联物联网整体解决方案。…

关于gson解析把int类型转成浮点型的问题

在进行开发的时候&#xff0c;通过gson进行数据解析的时候会把数值型转成浮点类型&#xff0c;造成数据处理错误的问题&#xff0c;网上关于解决这个问题的方法一大堆&#xff0c;但是 没有几个是能够解决这个问题的。 首先在获取到json数据时&#xff0c;你看到的是整数类型都…

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起&#xff0c;互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域&#xff0c;传统的…

网络服务第三次作业

综合练习&#xff1a;请给openlab搭建web网站 网站需求&#xff1a; 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料 和缴费网站&#xff0c;基于&#xff0c;www.openlab.com/data网站访问…

Leetcode 1143:最长公共子序列

Leetcode原题 Leetcode 1143:最长公共子序列 题目标签 字符串 | 动态规划 题目描述 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。一个字符串的 子序列 是指这样一个新的字符串&…

Unity 镜头动画

在Unity中&#xff0c;新建摄像机并用Animation组件去记录和控制视角&#xff0c;实现镜头动画的过程主要包括以下几个步骤&#xff1a; 新建摄像机 创建摄像机&#xff1a; 打开Unity项目&#xff0c;在Hierarchy视窗中右键点击&#xff0c;选择GameObject -> Camera来创…

暴力枚举--烤鸡

题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡&#xff08;本是同畜牲&#xff0c;相煎何太急&#xff01;&#xff09;Hanke 吃鸡很特别&#xff0c;为什么特别呢&#xff1f;因为他有 10 种配料&#xff08;芥末、孜然等&#xff09;&#xff0…

ruoyi使用笔记

1.限流处理 RateLimiter PostMapping("/createOrder") ApiOperation("创建充值订单") RateLimiter(key CacheConstants.REPEAT_SUBMIT_KEY,time 10,count 1,limitType LimitType.IP) public R createOrder(RequestBody Form form) {//业务处理return …

YOLOV8逐步分解(2)_DetectionTrainer类初始化过程

接上篇文章yolov8逐步分解(1)--默认参数&超参配置文件加载继续讲解。 1. 默认配置文件加载完成后&#xff0c;创建对象trainer时&#xff0c;需要从默认配置中获取类DetectionTrainer初始化所需的参数args&#xff0c;如下所示 def train(cfgDEFAULT_CFG, use_pythonFalse…

python的神奇bug2

今天测试出一个很诡异的bug&#xff0c; 这个错误还真的很难发现 测试1 a [1,10,100] for i in a:print(i)if(i10):a[20,30,-1]一般来说我们在进行迭代时&#xff0c;a这个值时不能改动的&#xff0c;但是现在的问题时如果我不小心给改动了呢&#xff0c;结果如下 也就是说…

基于JSPM的美食推荐管理系统

背景 互联网的迅猛扩张彻底转变了全球各类组织的运营模式。自20世纪90年代起&#xff0c;中国各级政府和企事业单位便开始探索运用网络系统来处理管理事务。然而&#xff0c;早期的网络覆盖不广、用户接受度不高、相关网络法规不健全以及技术发展不成熟等因素&#xff0c;都曾…

智慧商场数字化创新需要有数字能力帮手

商场和商圈是是促进流通创新、培育新兴消费的载体。很多实体店为适应消费升级需求新变化&#xff0c;加快运用现代信息技术&#xff0c;建设智慧商店&#xff0c;创新消费场景。蚓链运用现代信息技术&#xff08;互联网、物联网、5G、大数据、人工智能、云计算等&#xff09;&a…

1.7.1 python 作业 15道

1、求出1 / 1 1 / 3 1 / 5……1 / 99的和 (1分之一1分之三1分支5....) sum0 for i in range(1,100,2): sum 1/i sum; print(sum) 2、用循环语句&#xff0c;计算2 - 10之间整数的循环相乘的值 &#xff08;2*3*4*5....10) sum 1 for i in range(2,11): sum sum *…

达梦数据库新手上路排坑

数据库安装 这个没啥说的&#xff0c;按照官网教程操作&#xff0c;我使用的是docker进行安装 下载文件docker文件 官方下载地址- load -i dm8****.tar (注意修改为当前下载的文件)达梦官方文档注意修改为当前版本 docker run -d -p 5236:5236 --name dm8 --privilegedtrue -…

HarmonyOS 应用开发之PageAbility组件

PageAbility组件概述 PageAbility是包含UI、提供展示UI能力的应用组件&#xff0c;主要用于与用户交互。 开发者通过DevEco Studio开发平台创建PageAbility时&#xff0c;DevEco Studio会自动创建相关模板代码。PageAbility相关能力通过单独的featureAbility实现&#xff0c;…

STL —— vector(1)

博主首页&#xff1a; 有趣的中国人 专栏首页&#xff1a; C专栏 本篇文章主要讲解vector使用的相关内容 1. vector简介 vector 是 C 标准库中的一个容器类模板&#xff0c;它提供了动态数组的功能&#xff0c;可以方便地管理和操作元素的集合。下面是关于 vector 的一些基本信…

基于单片机智能家居控制系统设计

**单片机设计介绍&#xff0c;基于单片机智能家居控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能家居控制系统设计旨在实现家居设备的自动化控制和智能化管理&#xff0c;提高家庭生活的便利性和舒…