前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据仓库(03)数仓建模之星型模型与维度建模

数据仓库(03)数仓建模之星型模型与维度建模

原创
作者头像
张飞的猪
修改2022-09-21 13:47:56
7410
修改2022-09-21 13:47:56
举报
文章被收录于专栏:数据仓库

维度建模是一种将数据结构化的逻辑设计方法,也是一种广泛应用的数仓建模方式,它将客观世界划分为度量和上下文。度量是常常是以数值形式出现,事实周围有上下文包围着,这种上下文被直观地分成独立的逻辑块,称之为维度。它与实体-关系建模有很大的区别,实体-关系建模是面向应用,遵循第三范式,以消除数据冗余为目标的设计技术。维度建模是面向分析,为了提高查询性能可以增加数据冗余,反规范化的设计技术。

上面的解释看起来是比较抽象,一下子可能不是很容易懂。我们先来了解一下事实和维度,基于上面再来分析一下。

  事实,表示的是某一个业务度量。比如说订单的金额,订单中出售商品的数量。维度模型中的事实表存放的就是这些业务度量,也就是业务过程中事件的性能度量结果。《数据仓库工具箱》中有这样一段描述:

物理世界的每一个度量事件与对应的事实表行具有一对一的关系,这思想是维度建模的基本原则,其他的工作都是以此为基础建立的。

  事实就是一个具体发生的业务过程的状态,以及用来描述该具体的业务过程的指标构成的一行记录,多行记录就构成一张事实表。比如一个订单就是一个事实,而多个事实聚集而成的一张二维表就是事实表。

  维度,维度是事实不可或缺的组成部分,维度就是事实的上下文,也就是用来描述事实发生时某个方面对应的状态。像是何时、何地、何人、发生了什么、怎么做、为什么这么做等。举个具体的例子,比如在18点,小明下了一个苹果的订单,那么在这里下了订单是事实,18点是时间维度,小明是用户维度,苹果是商品维度,通过这些谓词,我们就可以了解具体发生了什么,这个也是我们多为分析的一个基本朴素的思想。这些一个一个具体的维度聚集而成的二维表就是维度表,一般维度都是有限的。

  下面是一个具体的维度建模的例子,以订单为例。

维度建模
维度建模

基于上面的理解,我们就可以比较好的了解我们的维度建模了。这里我给出我个人的描述,这样会比较好理解一些。

维度建模,就是将我们的每一个业务过程,拆分为事实表和维度表,事实表对应着具体的指标度量,维度表对应着事实的描述,状态,也就事实对应的环境。

  这种结构,将事实表置于中心,多个维度围绕着事实,如上图,这种结构呈现星状,所以这种模型,就叫星型模型。多个星型模型聚集在一起就叫星座模型。

  从多个维度分析数据,也就叫做多维立方体分析,这里就不做过多介绍,后续在其他文章中介绍。

  下面这个图可以用于理解星型模型与多维立方体分析。

星型模型
星型模型

**需要数据仓库资料可以点击这个领取数据仓库(13)大数据数仓经典最值得阅读书籍推荐**

参考文章:

数据仓库(01)什么是数据仓库,数仓有什么特点

数据仓库(02)数仓、大数据与传统数据库的区别

数据仓库(03)数仓建模之星型模型与维度建模

数据仓库(04)基于维度建模的数仓KimBall架构

数据仓库(05)数仓Kimball与Inmon架构的对比

数据仓库(06)数仓分层设计

数据仓库(07)数仓规范设计

数据仓库(08)数仓事实表和维度表技术

数据仓库(09)数仓缓慢变化维度数据的处理

数据仓库(10)数仓拉链表开发实例

数据仓库(11)什么是大数据治理,数据治理的范围是哪些

数据仓库(12)数据治理之数仓数据管理实践心得

数据仓库(13)大数据数仓经典最值得阅读书籍推荐

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档