IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 关于维度建模中维度表的一些设计细节(持续更新) -> 正文阅读

[大数据]关于维度建模中维度表的一些设计细节(持续更新)

维度表的层次

  • 维度表进行一定的降维,一般情况加有一定的冗余是可以接受的。
  • 维度表应该设计成多层次的,方便下钻

维度表中的数字列

  • 一些数字类型 应该 依据具体的业务来判断其是否归入维度属性的分类。 比如一些商品的标准价格,可以用于计算以及过滤,分组等功能,这个和事实表中的商品标准价格在意义上是不同的: 事实表中的标准价格表示销售事物的价格,而维度属性则标记为当前情况的标准价格。

维度表中的空行,空值

  • 对于营销方面的维度表来说:例如优惠券等,因为事实表中可能会存在未参加促销的商品,所以应当在优惠券维度表补充一行代表不含促销的条件,避免事实表中出现空的促销key维度。
  • 在事实表中不同的技术可能对空值的处理不同,所以也可以减少不必要的转换。

维度表中的日期

  • 对于一些维度表中的日期:比如商店维度表中代表开店日期和改装日期如果业务又需求也应该记录下来,可以作为非标准的日期来提供一定的维度(利用view的技术)。

  • 日期维度是一种特殊的维度, 因为他几乎出现在所有的维度模型中。并且在事实表中,日期维度是大多数情况下也是首先需要考虑分区的一个条件。与多数其他维度不同,可以提前建立日期维度表,可以在表中表示,历史或未来不同日期,对与其他与业务相关的,说日期维度表是一个很小的表。

  • 日期维度表应该尽可能做得详细

    虽然我们可以用SQL的方式来实现日期的计算,例如: 计算某个日期是哪一周的哪一天,这个日期属于哪一周, 是否是节假日。

    但是这样子务必带来了计算上的转换的效率问题。并且有可能需要多次与其他日期相关的维度表去join。在大数据场景下,join就意味着shuffle。

  • 不同的数据库上的日期函数上的实现方式也有很大的不同,带来了很多不必要的问题

  • 对于一些 日期维度的文本属性的标识,比如是否为节假日,尽量不要使用编码的形式去代表他应该去转换为更有意义的,能够自我解西的一个标识。

    eg: Y/N 、 1 / 0 这样带来的问题就是:

    节假日标识销售总额
    N999
    Y2000

    这样是不明确的,下面的方案会更好,将节假日标识 直接使用 节假日、非节假日来表示。

    节假日标识销售总额
    非节假日999
    节假日2000

以上与其通过计算或者关联,拿到这一些额外信息,不如直接将日期维度表打宽,尽可能记录的详细。

新的维度属性

如果维度表中出现了新的维度属性,可以将这些属性做为新的列增加到维度,所有现存的应用是不受这些属性的影响的

但是业务如果需要对历史数据进行跟踪的变化,这其实就是一种缓慢的变化的维度了,可以使用拉链表解决。

新的维度

如果后续业务中出现新的维度,可在新的事实表上增加新的维度。

在事实表上增加新的外键列,并将从新的维度逐渐填写到该外键列上。

– by 俩只猴

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:05:11  更:2021-09-05 11:06:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:19:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码