星型模式和雪花模式

简介: 最近一直在关注商业智能BI,对于其中的建模方面涉及到常见的雪花模式和星型模式,在此简单将两种模式进行说明: 多维数据--由多个多维数据模式--每个多维数据模式都由一个事实表和一组维表组成1 星型模式--最常见--事实表为中心--多个维表(属性...

最近一直在关注商业智能BI,对于其中的建模方面涉及到常见的雪花模式和星型模式,在此简单将两种模式进行说明:

 

多维数据--由多个多维数据模式--每个多维数据模式都由一个事实表和一组维表组成

1 星型模式--最常见--事实表为中心--多个维表(属性表)分布四周

2 雪花模式--由星型模式发展而来--复杂一些--事实表再分层次,有几个小中心

 

1 星型模式--中心的实体是实体表--星角小实体是各个维度或属性--与中心表通过pk/fk相连

          --1调高查询效率; 2直观--但非如OLTP那样正规化

2 雪花模式--随着事实表和维表的增加变化而来,增加了层次,将某些维表扩展成事实表

          --优点1在一定程度上减少了存储空间;2规范化的结构更容易更新和维护。

          --缺点1比较复杂,用户不容易理解;2浏览内容相对困难;3额外的连接将使查询性能下降。

          --在数据仓库通常不推荐“雪花化”。因为在数据仓库中,查询性能相对OLTP系统来说更加被重视

         

总结:雪花模式正规化;数据冗余少;有些数据需要连接才能获取,可能效率较低;规范化操作较复杂,导致设计及后期维护复杂;实际应用中,可以采取上述两种模型的混合体:如:中间层使用雪花结构以降低数据冗余度,数据集市部分采用星型以方便数据提取及和分析。

 

目录
相关文章
|
SQL HIVE
49 Hive修改表
49 Hive修改表
291 0
49 Hive修改表
|
4月前
|
运维 Kubernetes 数据可视化
helm-diff:显示Helm升级变更的diff插件
helm-diff:Helm插件,解决Kubernetes应用升级前难以知晓具体资源变更的痛点。通过生成当前部署版本与升级计划的差异对比,将抽象升级操作转化为可视化资源变更,支持升级前预览,让每一次变更清晰可见,提升应用管理可控性。
189 4
|
存储 算法 Java
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
|
消息中间件 数据库
消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
消息中间件系列教程(18) -RabbitMQ-基于RabbitMQ解决分布式事务(思想)
353 0
|
SQL 大数据
常见大数据面试SQL-每年总成绩都有所提升的学生
一张学生成绩表(student_scores),有year-学年,subject-课程,student-学生,score-分数这四个字段,请完成如下问题: 问题1:每年每门学科排名第一的学生 问题2:每年总成绩都有所提升的学生
|
存储 监控 安全
《SelectDB 新一代日志存储分析平台解决方案》白皮书重磅发布|立即下载
作为基于 Apache Doris 打造的现代化数据仓库,SelectDB 不拘泥于传统数仓的限制,针对日志数据的特点引入了多项创新性技术,使用户可基于 SelectDB 构建开放、高性能、低成本、统一的日志存储分析平台, 截至目前已在近百家行业内知名企业中落地。
423 0
《SelectDB 新一代日志存储分析平台解决方案》白皮书重磅发布|立即下载
|
运维 Kubernetes 安全
评测文章:阿里云容器服务ACK
阿里云容器服务(Alibaba Cloud Container Service for Kubernetes,简称 ACK)是一个全托管的 Kubernetes 容器管理服务。它可以帮助企业在云上高效地部署、管理和扩展容器化应用。本文将详细评测 ACK 的功能、优势及其应用场景,帮助读者更好地理解和使用这一服务。
|
Java Scala C#
Java 17 新特性揭秘:密封类的华丽登场,面向对象编程再进化
Java 17 新特性揭秘:密封类的华丽登场,面向对象编程再进化
323 0
|
存储 SQL OLAP
雪花模式(Snowflake Schema)
雪花模式(Snowflake Schema)是一种常用于数据仓库设计的数据模型,是在星形模式(Star Schema)基础上进行维度表的规范化拆分的扩展形式。与星形模式不同,雪花模式将一些维度表进一步规范化为多个维度表,以减少冗余和数据存储空间。
1256 1
|
开发工具 git
如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!
我在其他的代码托管平台(不是github)有一套代码,不同代码托管平台之间没有相互迁移的功能,怎么将仓库代码提交到github仓库呢?我会讲解适合于所有不同托管平台Git仓库之间的迁移方法,所以就不要老是抱怨着为什么没有外部仓库迁移过来的功能了。
639 0
如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!