当前位置:首页 > 热点 > 数仓模型设计详细讲解

数仓模型设计详细讲解

2026-11-14 [销售动态] 来源:人文荟萃网

前言

今天给大家分享下数仓中的模型设计,一个好的数仓项目首先看一下它的架构以及他所用到的模型,它们使用的模型也都是非常巧妙的,好了,我们话不说到直接开始。

一、维度建模基本概念

维度模型是数据仓库领域大师Ralph Kima数仓ll所倡导,他的《数据仓库工具箱》,是数据仓库工程领域最流行的数仓建模经典。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响模型应性能。

维度建模是专门应用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种小型数据仓库。

1.1 事实表

发生在现实世界中的操作型事件,其所产生的可度量数值,存储在事实表中。从最低的粒度级别来看,事实表设计行对应一个度量事件,反之亦然。

事实表表示对分析主题的度量。比如一次购买行为我们就可以理解为是一个事实。

图中的订单表就是一个事实表,可以理解他就是在现实中发生的一次操作型事件,每完成一个订单,就会在订单中增加一条记录。

事详细实表的特征:表里没有存放实际的内容,他是一堆主键的集合,这些ID分别能对应到维度表中的一条记录。事实表包含了与各维度表相关联的外键,可与维度表关联。事实表的度量通常是数值类型(条/个/次),且记录数会不断增加,表数据规模讲解迅速增长。

1.2 维度表

维度表示要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别进行分析,或按区域分析。这样的按..分析就构成一个维度。上图中的用户表、商家表、时间表这些都属于维度表。这些表都有一个唯一数仓的主键,然后在表中存放了详细的数据信息。

例如:交易金额分析分析

男性用户的订单金额、联想商品的订单金额、第一季度的订单金额、手机的订单金额、家里下单的订单金额

例如:学生分析

姓张的同学有多少、男性的同学有多少、江苏的同学模型有多少、身高小于170cm的同学有多少、年龄小于23岁的同学有多少。

每个维度表都包含单一的主键列。维度表的主键可以作为与之关联的任何事实表的外键,当然,维度表行的描述环境应与事实表行完全对应。维度表通常比较宽,是扁平型非规范表设计,包含大量的低粒度的文本属性。

总的说来,在数据仓库中不需要严格遵守规范化设计原则。因为数据仓库的主导功能就是面向分析,以查询为主,不涉及数据更新操作。

事实表的设计是以能够正确记录历史信息为准则。

维度表的设计是以能够以合适详细的角度来聚合主题内容为准则。

二、维度建模三种模式

2.1 星型模型

星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。

星形模式的维度建模由一个事实表和讲解一组维表成,且具有以下特点:

维表只和事实表关联,维表之间没有关联; 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键; 以事实表为核心,维度表围绕核心呈星形分布

2.2 雪花模式

雪花模式(Snowflake Sc数仓hema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用。

&模型nbsp;

2.3 星座模式

星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。

前面介绍的两种维度建模方法都是多维表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一设计个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。

总结

好了本篇文章就分享到这里了,本篇文章主要讲解了维度模型三种模式,在设计数仓的时候尽量将表设计为星星模型和雪花模型这样的话我们在实现功能详细的时候就比较简单,原因是星星模型和雪花模型架构基本上是一对多的。信自己,努力和汗水总会能得到回报的。我是大数据老哥,我们下期见~~~。

  

(责任编辑:会员注册)

推荐文章
  • 数据分析能力分级模型,你在哪一级?

    数据分析能力分级模型,你在哪一级? 每天都在跑数,烦 跑完了数,业务爱看不看,更烦 好不容易提个建议,业务方当耳边风,烦烦烦 很多做数据的新人都有这个困惑,今天陈老师给大家解这个局。这里问题的核心在于:如果不能按自己的建议做项目,是不是...[详细]
  • lol上票是什么梗

    lol上票是什么梗 lol上票什么意思?上票嘛,就是从主播间开始流行的一种词汇,好像是从bzzd那开始流行的,指的是投出自己的投降票,比如15上票,意思就是15投了,对队友说就是表明自己不想玩了,15...英雄联盟怎么买...[详细]
  • 每日互动大数据发布:2021年二季度5G手机报告

    每日互动大数据发布:2021年二季度5G手机报告 新浪科技讯 7月15日晚间消息,数据智能服务商每日互动(股票代码300766)新鲜出炉了《2021年二季度5G手机报告》,为5G手机市场出具了一份大数据年中小结报告。报告显示,2021年二季度,5G手...[详细]
  • 标签: 微信 腾讯 AI智能体 元宝

    标签: 微信 腾讯 AI智能体 元宝 云梦级6月2日云梦级消息,据伦敦《金融时报》报道,腾讯即将为微信推出内嵌式人工智能智能体。微信是国内全民普及的超级应用,14 亿用户日常的社交聊天、出行打车、生活支付等各类需求都依托该软件完成。 据两...[详细]
  • 阿里云联合南京大学等发起BizDevOps共促计划,助力企业提升组织效能

    阿里云联合南京大学等发起BizDevOps共促计划,助力企业提升组织效能 12月23日,2022阿里云研发效能峰在线上举行,会上阿里云宣布与南京大学、招商银行、思特沃克、极客邦等“产学研媒”联合发起BizDevOps共促计划,旨在打破业务、开发与运维之间的壁垒,助力企业提升...[详细]
  • 标签: 罗永浩 ADHD 发布会 老罗

    标签: 罗永浩 ADHD 发布会 老罗 云梦级12月31日云梦级消息,今日凌晨,在十字路口之 2025 年度科技创新分享大会结束后,罗永浩在微博上表示,因为 ADHD(注意缺陷与多动障碍) 的关系,1.我的发布会没有一场是彩排过的,全是没有...[详细]
  • 标签: 李博杰 DeepSeek PineAI 华为天才少年

    标签: 李博杰 DeepSeek PineAI 华为天才少年 云梦级7月7日云梦级消息,前华为“天才少年”李博杰 7 月 6 日在社交平台公开吐槽 DeepSeek 的面试流程,提及流程较慢且繁琐,面试官存在态度问题,质疑他抄袭,他感到“被严重冒犯”。 李博杰是...[详细]
  • 阿里云新加坡可用区C机房发生火灾

    阿里云新加坡可用区C机房发生火灾 9月10日消息,阿里云发布《新加坡可用区 C 网络访问异常》公告。北京时间2024年09月10日10:20,阿里云监控发现新加坡地域可用区C 网络访问出现异常,部分云产品服务出现异常,阿里云工程师正在...[详细]
  • 标签: GoogleI/O2026 Gemini3.5Flash TPU8i Antigravity2.0

    标签: GoogleI/O2026 Gemini3.5Flash TPU8i Antigravity2.0 云梦级5月20日云梦级消息,在今日的 2026 谷歌 I/O 开发者大会上,谷歌发布了包括Gemini全家桶在内的诸多新品。以下是 Google CEO Sundar Pichai 在 Google...[详细]
  • 阿里通义万相预告Wan 2.2-S2V模型:解锁AI视频音频同步生成

    阿里通义万相预告Wan 2.2-S2V模型:解锁AI视频音频同步生成 近日,阿里通义万相团队在社交媒体平台X上发布预告,即将推出其最新的AI模型—— Wan2.2-S2V 。这款新模型的核心亮点在于,它不仅具备强大的视频生成能力,还能同步生成音频,实现了 视频与音频的深...[详细]