星型模式和雪花模式

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

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

 

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

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

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

 

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

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

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

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

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

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

         

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

 

目录
相关文章
|
缓存 算法 JavaScript
分享一个开源一个新的雪花算法(雪花漂移)
  IdGenerator介绍   用一种全新的雪花漂移算法,让ID更短、生成速度更快。   核心在于缩短ID长度的同时,还能保持每毫秒并发处理量(50W/0.1s),且能保持伸缩能力。   需求来源   1.作为架构设计的你,想要解决数据库主键唯一的问题。   2.你希望这个主键是用最少的存储空间,索引速度更快。   3.你还会考虑在分库分表(合库合表)的时候,主键值能直接使用,并能反映业务时序。
801 0
|
存储 算法 Java
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
1593 0
雪花算法(snowflake) :分布式环境,生成全局唯一的订单号
|
1月前
|
边缘计算 自动驾驶 5G
5G的网络拓扑结构典型模式
5G的网络拓扑结构典型模式
236 4
|
3月前
|
监控 安全 UED
星型拓扑的缺点是什么?
【8月更文挑战第4天】
215 16
星型拓扑的缺点是什么?
|
5月前
|
存储 算法 Java
分布式唯一ID解决方案-雪花算法
分布式唯一ID解决方案-雪花算法
54 0
|
6月前
|
缓存 算法 关系型数据库
深度思考:雪花算法snowflake分布式id生成原理详解
雪花算法snowflake是一种优秀的分布式ID生成方案,其优点突出:它能生成全局唯一且递增的ID,确保了数据的一致性和准确性;同时,该算法灵活性强,可自定义各部分bit位,满足不同业务场景的需求;此外,雪花算法生成ID的速度快,效率高,能有效应对高并发场景,是分布式系统中不可或缺的组件。
1671 2
深度思考:雪花算法snowflake分布式id生成原理详解
|
6月前
|
算法 Java 数据中心
分布式ID生成系统之雪花算法详解
在当今的云计算和微服务架构盛行的时代,分布式系统已成为软件开发的重要组成部分。随着系统规模的扩大和业务的复杂化,对数据一致性和唯一性的要求也越来越高,尤其是在全局唯一标识符(ID)的生成上。因此,分布式ID生成系统应运而生,成为保证数据唯一性和提高系统可扩展性的关键技术之一。雪花算法(Snowflake)是Twitter开源的一种算法,用于生成64位的全局唯一ID,非常适用于分布式系统中生成唯一标识符。下面我们将深入探讨雪花算法的原理、结构和实现方式。
260 2
 分布式ID生成系统之雪花算法详解
|
算法 Oracle 关系型数据库
设计思想赏析-分布式id生成算法-雪花算法
设计思想赏析-分布式id生成算法-雪花算法
利用Dynamo和自适应常规模型建立多联空心板桥
利用Dynamo和自适应常规模型建立多联空心板桥
利用Dynamo和自适应常规模型建立多联空心板桥
|
Rust 自然语言处理 算法
【算法】1791. 找出星型图的中心节点(多语言实现)
有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。 给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。
【算法】1791. 找出星型图的中心节点(多语言实现)