维度建模三种模式

维度建模三种模式


一、星型模型

最简单和常用的模型,它以一个事实表为中心,周围连接着多个维度表。事实表包含主要的业务数据,而维度表则用于描述事实表中的数据。

但由于其结构简单明了,查询效率较高,因此在冗余可以接受的前提下,实际运用中星型模型使用更多,也更有效率。

★优点: 简单易理解、易于查询和数据仓库的高性能,良好的数据完整性和灵活性,可以轻松地添加或删除维度属性。

★缺点: 处理大规模、复杂数据时可能会出现瓶颈,而且它可能会消耗较多的存储空间和带宽,时效性跟不上。

alt

二、雪花模型

雪花模型是对星型模型的扩展,雪花模型是对星型模型的扩展,一个事实表为中心,周围连接着多个"层级"区域的维度表。雪花模型通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能,避免了数据冗余。

然而,它增加了主键-外键关联的几率,导致查询效率低于星型模型,并且不利于开发。

★优点: 提高了数据的规范性和统一性,缓解了数据冗余和不一致问题,可以更准确地表示数据结构。

★缺点: 它的复杂度较高,可能会影响性能,也需要更多的存储空间。

alt

三、星座模型

星座模型是一种维度建模技术,它结合了星型模式雪花模式的优点。每个事实表只有一个中心,但维度分为 事实维度 和 外部维度 。

   事实维度:被拆分成更小的表,分别包含不同的度量指标属性

   外部维度:则通过复杂的关系连接到事实表上,是由多个星型雪花模型组成的复杂模型,它适用于多个主题或业务领域的数据建模。

重点说明: 在业务发展后期 , 数据中台与业务中台提供数据服务时,需要建设数据微服务化模型,都采用的是星座模式。

★优点: 高适应性、灵活性和可扩展性。它可以更好地支持复杂分析、查询和报告需求,并通过聚集、索引等优化技术提高查询性能。

★缺点: 它的建模难度较大,容易出现错误。

alt

总之,这些模型的选择取决于具体的业务需求和数据特点。

星型模型通常更易于理解和查询,数据关系简单,  对查询性能要求较高,

雪花模型在某些情况下可以提供更好的数据规范化, 数据关系复杂,且需要避免数据冗余

星座模型则适用于复杂的多主题数据环境,  需要处理多个事实表并共享维表信息

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于⼤数据的数据仓库-数据仓库建模基本理论 (内容整理⾃⽹络学习视频) ⼀、数仓建模的⽬标 访问性能:能够快速查询所需的数据,减少数据I/O。 数据成本:减少不必要的数据冗余,实现计算结果数据复⽤,降低⼤数据系统中的存储成本和计算成本。 使⽤效率:改善⽤户应⽤体验,提⾼使⽤数据的效率。 数据质量:改善数据统计⼝径的不⼀致性,减少数据计算错误的可能性,提供⾼质量的、⼀致的数据访问平台。 所以,⼤数据的数仓建模需要通过建模的⽅法更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。 ⼆、关系模式范式 关系型数据库设计时,遵照⼀定的规范要求,⽬的在于降低数据的冗余性和数据的⼀致性,⽬前业界范式有: 第⼀范式(1NF) 第⼆范式(2NF) 第三范式(3NF) 巴斯-科德范式(BCNF) 第四范式(4NF) 第五范式(5NF) 第⼀范式(1NF): 域都是原⼦性的,即数据库表的每⼀列都是不可分割的原⼦数据项。 例如下⾯这张表: ID ID 商品 商品 商家ID 商家ID ⽤户ID ⽤户ID 1 4件⽑⾐ B0001 U00001 "商品"字段就不是原⼦性的,可以分割成"4件"和"⽑⾐"。 第⼆范式(2NF): 在1NF的基础上,实体的属性完全依赖于主关键字,不能存在仅依赖主关键字⼀部分的属性,也就是不存在局部依赖。 例如下⾯这张表: 学⽣ID 学⽣ID 所属系 所属系 系主任 系主任 所修课程 所修课程 分数 分数 S001 物理系 张三 C001 90 S001 物理系 张三 C002 100 主键ID为"学⽣ID,所修课程",但是字段"所属系"只依赖于"学⽣ID",不符合2NF。 第三范式(3NF): 在2NF的基础上,任何⾮主属性不依赖于其它⾮主属性,也就是不存在传递依赖。 例如下⾯这张表: 订单ID 订单ID 商品ID 商品ID 商品颜⾊ 商品颜⾊ 商家ID 商家ID ⽤户ID ⽤户ID O00001 G0001 ⽩⾊ B0001 U00001 主键为"订单ID",但是字段"商品颜⾊"依赖于"商品ID",不符合3NF。 三、四种建模⽅法 1、ER实体模型 在信息系统中,将事务抽象为"实体"(Entity)、"属性"(Property)、"关系"(Relationship)来表⽰数据关联和事物描述,这种 对数据的抽象建模通常被称为ER实体关系模型。 实体:通常为参与到过程中的主体,客观存在的,⽐如商品、仓库、货位、汽车,此实体⾮数据库表的实体表。 属性:对主体的描述、修饰即为属性,⽐如商品的属性有商品名称、颜⾊、尺⼨、重量、产地等。 关系:现实的物理事件是依附于实体的,⽐如商品⼊库事件,依附实体商品、货位,就会有"库存"的属性产⽣;⽤户购买商品,依附实体 ⽤户、商品,就会有"购买数量"、"⾦额"的属性产品。 实体之间建⽴关系时,存在对照关系: 1:1:即1对1的关系 1:n:即1对多的关系 n:m:即多对多的关系 在⽇常建模中,"实体"⽤矩形表⽰,"关系"⽤菱形,"属性"⽤椭圆形。ER实体关系模型也称为E-R关系图。 应⽤场景: 1、ER模型数据库设计的理论基础,当前⼏乎所有的OLTP系统设计都采⽤ER模型建模的⽅式。 2、Bill Inom提出的数仓理论,推荐采⽤ER关系模型进⾏建模。 3、BI架构提出分层架构,数仓底层ods、dwd也多采⽤ER关系模型进⾏设计。 2、维度建模 维度建模源⾃数据集市,主要⾯向分析场景。Ralph Kimball推崇数据集市的集合为数据仓库,同时也提出了对数据集市的维度建模,将数 据仓库中的表划分为事实表、维度表两种类型。 事实表: 在ER模型中抽象出了有实体、关系、属性三种类别,在现实世界中,每⼀个操作型事件,基本都是发⽣在实体之间的,伴随着这种操作事 件的发⽣,会产⽣可度量的值,⽽这个过程就产⽣了⼀个事实表,存储了每⼀个可度量的事件。 维度表: 维度,顾名思义,看待事物的⾓度。⽐如从颜⾊、尺⼨的⾓度来⽐较⼿机的外观,从cpu、内存等⾓度⽐较⼿机性能。 维度表⼀般为单⼀主键,在ER模型中,实体为客观存在的事务,会带有⾃⼰的描述性属性,属性⼀般为⽂本性、描述性的,这些描述被称 为维度。 ⽐如商品,单⼀主键:商品ID,属性包括产地、颜⾊、材质、尺⼨、单价等,但并⾮属性⼀定是⽂本,⽐如单价、尺⼨,均为数值型描述性 的,⽇常主要的维度抽象包括:时间维度表、地理区域维度表等。 维度建模通常⼜分为星型模型和雪花模型。 星型模型: 雪花模型: 星型模型和雪花模型的主要区别在于对维度表的拆分,对于雪花模型,维度表的设计更加规范,⼀般符合3NF;⽽星型模型,⼀般采⽤降维 的操作,利⽤冗余来避免模型过于复杂,提⾼易⽤性和分析效率。 雪花、星型模型对⽐: 1、冗余:雪花模型符合业务逻辑设计,采⽤
推荐,数据仓库建设学习资料合集,包含建设规范、架构、工具及模型等资料。共38份。 2021数据仓库服务常见问题-华为-51页 2021云数据仓库专业服务-华为-168页 阿里云数据中台-金融行业新一代数据仓库解决方案 分布式数据仓库 构建可靠的数据仓库 模板-数据仓库整体设计方案 企业大数据平台数仓架构建设思路 商业银行数据仓库系统V2.0 数据仓库-数据集市-BI-数据分析 数据仓库工具箱 维度建模权威指南(第3版) 数据仓库技术架构及方案 数据仓库架构、模型、调度、指标建设方案 数据仓库建模与ETL的实践技巧 数据仓库建设规范模板 数据仓库设计-221页 数据仓库生命周期工具箱 数据仓库体系架构、主要过程与技术介绍 数据仓库之数据质量建设方案 数据仓库ETL工具箱 数据人进化宝典-813页(数据分析+数据仓库+数据架构+数据治理等等) 数据治理:数据仓库的数据质量管理规范 数据治理及数据仓库模型设计 搜狐智能媒体在数据仓库体系建设中的技术实践 元数据管理在数据仓库的实践应用 Hadoop数据仓库实践 IBM Netezza 数据仓库设备架构 SaaS模式云数据仓库实践手册 58交易营销数据仓库建设 数据仓库与数据挖掘: - 基于数据仓库的数据挖掘技术 - 数据仓库和数据挖掘的OLAP技术 - 数据仓库和数据挖掘综述 - 数据仓库与数据挖掘学习教材 - 数据仓库与数据挖掘(分类规则) - 数据仓库与数据挖掘(分类规则挖掘与预测) - 数据仓库与数据挖掘考试习题汇总 - 数据仓库与数据挖掘课件 - 数据仓库与数据挖掘应用 - 数据仓库与数据挖掘综述
数据仓库维度建模是一种设计数据仓库的方法,它基于维度模型。以下是一些常见的数据仓库维度建模规范: 1. 维度表:维度表包含与业务相关的描述性信息,例如时间、地点、产品、客户等。每个维度表通常有一个主键列,用于唯一标识每个维度成员,并包含其他属性列。 2. 级别:维度表可以包含多个层次或级别,从粗粒度到细粒度的层次。例如,在时间维度中,可以有年、季度、月份、日期等级别。 3. 事实表:事实表包含与业务指标相关的数据,例如销售额、库存量、订单数量等。事实表通常包含一个外键列,与维度表中的主键列关联起来。 4. 粒度:事实表的粒度定义了每个事实记录所表示的业务事件的详细程度。例如,每个事实记录可以表示一个销售交易或一天的销售总额。 5. 关系:通过外键和主键的关联,维度表和事实表建立起关系。维度表提供了对事实表中数据的描述性上下文。 6. 聚合:为了提高查询性能,可以在数据仓库中创建聚合表。聚合表是在事实表的基础上进行汇总计算得到的,通常具有更高的粒度和更少的记录。 7. 命名规范:为了保持一致性和易读性,建议采用一致的命名规范来命名维度表、事实表、列名等。 8. 数据质量:在维度建模过程中,需要关注数据质量,确保维度和事实数据的准确性和完整性。 以上是一些常见的数据仓库维度建模规范,根据具体业务需求和数据特点,可能还会有其他规范需要考虑和遵循。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值