数据仓库—维度建模—维度表设计

维度表

维度表(Dimension Table)是数据仓库中描述业务过程中各种维度信息的表,用于提供上下文和描述性信息,以丰富事实数据的分析

维度表是维度建模的灵魂所在,在维度表设计中碰到的问题(比如维度变化、维度层次、维度一致性、维度整合和拆分等)都会直接关系到维度建模的好坏,因此良好的维表设计就显得至关重要,今天就让我们就一起来探究下关于维表设计的相关概念和一些技术。

前面我们介绍了数仓建模中的事实表,具体可以见数仓建模—事实表,除了事实表之外,我们也提到了宽表,可以看数仓建模—宽表的设计,今天我们介绍一下数仓中的维度表,以及在维度表设计和开发过程中,容易遇到的一些问题,开始之前我们先看一下如何识别维度,也就是什么是维度,只有正确的识别出维度,我们才能设计出维度表。

识别维度

在实际维度建模过程中,我们首选需要解决的问题就是到底哪些是维度或者什么事维度,维度的定义是什么,其实维度的定义很见到就是我们看待事物的角度,或者是我们衡量事实的粒度。

其实关于什么是维度,每个人都能回答出几个答案

  • 维度是描述事实的场景

  • 维度是字符串,事实是数字

  • 维度是数据分析的入口

  • 维度是数据的灵魂

  • 维度是描述事实的上下文

  • 维度是可group by的分组的

  • 维度是可写where限制条件的

在实际维度建模过程,清晰识别维度是非常关键,维度是数据分析的入口,保证数据仓库模型通用性、易用性和回答业务用户范围前提条件之一。

kimball认为,维度建模首先会将现实情况划分为测量和上下文开始,通常将指标的度量称之为“事实”,将产生度量的环境称之为“维度”。

度量离开了维度或上下文也没有意义的,如给一个数字 960,我们是无法知道这个数字的意义。

image-20210928161629562

但是,一旦给这个度量添加了上下文,其就有了意义,例如我国的国土面积是960万平方公里,其实这里还反映了一个问题那就是单位,既然是度量那就会有度量单位,所以我们在数据分析的时候要做一些操作例如单位的转换。

维度是事实的上下文,没有维度的事实是没有意义的,或者说是维度是我们看待数据的视角,下面我们还是通过一个小的例子,来看一下

“昨天早上张三在京东花费200元买了一个书包”, 这里时间维度(昨天早上)、地点维度(京东)、商品维度(书包)

维度是数字的主体,例如这里什么是960,中国的国土面积是960万平方公里,数字是维度的度量。

维度表

前面了解了如何识别维度,下面我们看一下维度表。

维度表一般为单一主键,在ER模型中,实体为客观存在的事物,会带有自己的描述性属性,属性一般为文本性、描述性的,这里的客观存在的事物和它的描述就是维度,这也就是为什么维度本身也会带有度量的原因,例如我们的用户的年龄是存放在维度表中的,而不是事实表,虽然它是一个度量。

维度建模的核心是数据可以抽象为事实和维度,维度即观察事物的角度,事实某一粒度下的度量词。

每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,维度表通常比较宽,是扁平型非规范表,包含大量的稳定的文本属性和数值属性。

维度表设计

维度的设计过程就是确定维度属性的过程,如何生成维度属性,以及所生成维度属性的优劣,决定了维度是用的方便性,成为数据仓库易用性的关键。

数据仓库的能力直接与维度属性的质量和深度成正比,其实这句话说明了维度表的重要性,维度设计的不好,数仓的数据服务能力就不好,具体表现为数据不准确、

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

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

相关文章

pyqt和opencv结合01:读取图像、显示

在这里插入图片描述 1 、opencv读取图像用于pyqt显示 # image cv2.imread(file_path)image cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 将图像转换为 Qt 可接受的格式height, width, channel image.shapebytes_per_line 3 * widthq_image QImage(image.data, width, hei…

OLTP 与 OLAP 系统说明对比和大数据经典架构 Lambda 和 Kappa 说明对比——解读大数据架构(五)

文章目录 前言OLTP 和 OLAPSMP 和 MPPlambda 架构Kappa 架构 前言 本文我们将研究不同类型的大数据架构设计,将讨论 OLTP 和 OLAP 的系统设计,以及有效处理数据的策略包括 SMP 和 MPP 等概念。然后我们将了解经典的 Lambda 架构和 Kappa 架构。 OLTP …

【脚本】多功能Ubuntu临时授予用户sudo权限管理工具

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 设计原理和初衷可以看这里:【技巧】Ubuntu临时授予用户sudo权限,并在一定时间后自动撤销_ubuntu jianshao sudo-CSDN博客文章浏览阅读404次。非常实用_ubuntu jianshao sudohttps://blog.c…

【微信小程序——开发DAY4(黑马程序员课程)】

学习目标 自定义小程序组件自定义组件(1.)创建自定义组件文件夹(2.)引用自定义组件(3.)组件和页面的区别(4.)自定义组件的隔离性——自定义组件不影响小程序的样式——自定义组件也只…

【系统分析师】计算机网络

文章目录 1、TCP/IP协议族1.1 DHCP协议1.2 DNS协议1.3网络故障诊断 2、网路规划与设计2.1逻辑网络设计2.2物理网络设计2.3 分层设计 3、网络接入3.1 接入方式3.2 IPv6地址 4、综合布线技术5、物联网5.1物联网概念与分层5.2 物联网关键技术 6、云计算7、网络存储技术&#xff08…

特征工程(IV)--特征选择

特征工程 有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。 特征工程是…

ssm051网上医院预约挂号系统+jsp

网上医院预约挂号系统设计与实现 摘 要 如今的信息时代,对信息的共享性,信息的流通性有着较高要求,因此传统管理方式就不适合。为了让医院预约挂号信息的管理模式进行升级,也为了更好的维护医院预约挂号信息,网上医院…

Echarts简单的多表联动效果和添加水印和按钮切换数据效果

多表联动 多表联动效果指的是在多个表格之间建立一种交互关系,以便它们之间的操作或选择能够相互影响。通常情况下,多表联动效果可以通过以下方式之一实现: 数据关联: 当在一个表格中选择或操作某些数据时,另一个表格…

matlab学习(三)(4.9-4.15)

一、空域里LSB算法的原理 1.原理: LSB算法通过替换图像像素的最低位来嵌入信息。这些被替换的LSB序列可以是需要加入的水印信息、水印的数字摘要或者由水印生成的伪随机序列。 2.实现步骤: (1)将图像文件中的所有像素点以RGB形…

域权限维持—黄金票据和白金票据

黄金票据和白金票据 前言 某老哥的一次面试里问到了这个问题,故来做一番了解 该攻击方式在BlackHat 2014被提出,演讲者为Alva Duckwall & Benjamin Delpy(gentilkiwi)进行了演示,该演讲提出了Kerberos协议实现过程中的设计…

【5G PHY】5G无线链路监测原理简述

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

bugku-web-文件包含2

页面源码 <!-- upload.php --><!doctype html><html><head><meta charset"utf-8"/><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-widt…