事实表
事实表,通常我们可以认为它就是数据表
它是指,发生在现实世界中的各种事件所形成的数据,如:
等等,一系列现实世界的操作,会反映在事实表中的记录之上。
维度表是事实表的补充。维度表的主键可以关联到事实表的外键之上。
维度表描述的是,现实事件信息的补充。
比如,在事实表中仅仅记录了你购买商品的时间戳,但是维度表可以对这个时间戳进行信息补充,如:
等等一系列额外数据的补充。
又好比,你订单中购买了商品,在事实表中可能记录的只是商品ID,但是基于维度表(商品细节),可以补充:
等等一系列补充。
一般情况下,维度表也会分为:
小型维度表,就是如前面对日期做补充的维度表,这类维度表,一年的日期只需要365行数据数据字典表设计,就可以对海量的数据进行补充。
大型维度表,就是如前面对商品做补充的维度表,商品越多,维度表内容越多。通常,大型维度表更会愿意被称为:
指标
指标就是对数据分析的需求,或者说是目标Schema。
比如,某个指标是:月热销商品TOP10,这个指标就是一个目标。
在数仓开发中,开发某个指标,就是针对某个目标进行数据建模、分层、处理。
宽表
宽表是指一种大表,是将事实表和维度表进行合并形成的表。
比如日期维度,将对应的日期维度的列,直接添加到事实表中,或者商品维度的列也同步加入到事实表中。
那么这样事实表的列就非常的多,它所涉及到的维度基本都涵盖在了一张表中,俗称All in one。
对于这样的表,就称为宽表
基于宽表,我们可以针对这一个表完成许多业务指标的开发。
常见的三种维度建模设计星形模型
星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。
星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:
a. 维表只和事实表关联,维表之间没有关联;
b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;
c. 以事实表为核心,维表围绕核心呈星形分布;
星形模式
雪花模型
雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高数据字典表设计,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。
雪花模型
星座模型
星座模型是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。
前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。
星座模型
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99
2.本站所有项目来源于投稿或购买自其他第三方,若本站侵犯了您的权益请 联系站长 进行删除处理。