数仓知识02:星型模型、雪花模型、星座模型

构建数仓的过程中,我们会接触到“星型模型”、“雪花模型”、“星座模型”的概念,对于在这个领域没有相关知识积累的人,可能会感觉到很困惑,今天就对这三个名词进行概念讲解,并简单说一下如何选择,期望大家看完能够有所帮助。

1. 星型模型、雪花模型、星座模型 基础概念

  • 星型模型

星型模型是所有维度表都是连接在一个事实表上面,雪花模型是将维度表拆分地更加详细,是多层次的。

在星型模型的维度表里面,一张维度表储存了众多存在冗余的信息,为什么冗余,在哪里冗余,有一个简单的例子:

地域维表
国家a    GDP
国家b    GDP
国家a    省份a    GDP
国家a    省份b    GDP
国家a    省份c    GDP
国家a    省份a    市级a    GDP
国家a    省份a    市级b    GDP
国家a    省份a    市级c    GDP
  • 雪花模型

 在雪花模型的表中,数据是这样存储:

国家表
国家a    GDP
国家b    GDP

国家a省份表
省份a    GDP
省份b    GDP
省份c    GDP

国家a省份a市表
市级a    GDP
市级b    GDP
市级c    GDP

这样有一部分信息只需要存储一次,减少了冗余信息。

  • 星座模型

 星座模型基本上是很多数据仓库的常态,因为很多数据仓库都是多个事实表的。所以星座不星座只反映是否有多个事实表,他们之间是否共享一些维度表。

星座模型并不和前两个模型冲突。

2. 星型模型、雪花模型区别

星型模型雪花模型
特点非正规化;
多维数据集中的每一个维度都与事实表连接(通过主键和外键);
不存在渐变维度;
有冗余数据;
查询效率可能会比较高;
不用过多考虑正规化因素,设计维护较为简单
正规化;
数据冗余少;
有些数据需要连接才能获取,可能效率较低;
规范化操作较复杂,导致设计及后期维护复杂;

3. 模型的选择

首先就是星座不星座这个只跟数据和需求有关系,跟设计没关系,不用选择。星型还是雪花,取决于性能优先,还是避免冗余、灵活更优先。

在实际开发的过程中,不会绝对选择一种,根据情况灵活组合,甚至并存(一层维度和多层维度都保存)。我们可以在数据仓库架构中同时使用这些模型的混合体。比如中间处理层,可以用雪花模型降低冗余度,在数据集市层,采用星型模型方便提取数据,提高查询效率。

整体来看,更倾向于维度更少的星型模型。尤其是hadoop体系,减少join就是减少shuffle,性能差距很大。(关系型数据可以依靠强大的主键索引)

参考资料:

雪花模型、星型模型和星座模型

数据仓库架构星型模型VS雪花模型!

星型模型和雪花型模型比较

全方位解读星型模型,雪花模型及星座模型

了解星型架构及其对 Power BI 的重要性

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、课程简介随着技术的飞速发展,经过多年的数据积累,各互联网公司已保存了海量的原始数据和各种业务数据,所以数据仓库技术是各大公司目前都需要着重发展投入的技术领域。数据仓库是面向分析的集成化数据环境,为企业所有决策制定过程,提供系统数据支持的战略集合。通过对数据仓库中数据的分析,可以帮助企业改进业务流程、控制成本、提高产品质量等。二、课程内容本次精心打造的数仓项目的课程,从项目架构的搭建,到数据采集模块的设计、数仓架构的设计、实战需求实现、即席查询的实现,我们针对国内目前广泛使用的Apache原生框架和CDH版本框架进行了分别介绍,Apache原生框架介绍中涉及到的技术框架包括Flume、Kafka、Sqoop、MySql、HDFS、Hive、Tez、Spark、Presto、Druid等,CDH版本框架讲解包括CM的安装部署、Hadoop、Zookeeper、Hive、Flume、Kafka、Oozie、Impala、HUE、Kudu、Spark的安装配置,透彻了解不同版本框架的区别联系,将大数据全生态系统前沿技术一网打尽。在过程中对大数据生态体系进行了系统的讲解,对实际企业数仓项目中可能涉及到的技术点都进行了深入的讲解和探讨。同时穿插了大量数仓基础理论知识,让你在掌握实战经验的同时能够打下坚实的理论基础。三、课程目标本课程以国内电商巨头实际业务应用场景为依托,对电商数仓的常见实战指标以及难点实战指标进行了详尽讲解,具体指标包括:每日、周、月活跃设备明细,留存用户比例,沉默用户、回流用户、流失用户统计,最近连续3周活跃用户统计,最近7天内连续3天活跃用户统计,GMV成交总额分析,转化率及漏斗分析,品牌复购率分析、订单表拉链表的设计等,让学生拥有更直观全面的实战经验。通过对本课程的学习,对数仓项目可以建立起清晰明确的概念,系统全面的掌握各项数仓项目技术,轻松应对各种数仓难题。四、课程亮点本课程结合国内多家企业实际项目经验,特别加入了项目架构模块,从集群规模的确定到框架版本选型以及服务器选型,手把手教你从零开始搭建大数据集群。并且总结大量项目实战中会遇到的问题,针对各个技术框架,均有调优实战经验,具体包括:常用Linux运维命令、Hadoop集群调优、Flume组件选型及性能优化、Kafka集群规模确认及关键参数调优。通过这部分学习,助学生迅速成长,获取前沿技术经验,从容解决实战问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值