数据仓库的数据结构,到底是星型、雪花模型、还是三范式?三范式和星型、雪花是什么关系?是不是包含他们
发布网友
发布时间:2022-04-29 21:29
我来回答
共2个回答
热心网友
时间:2022-04-29 22:59
1. 星型模式
星形模式(Star Schema)是最常用的维度建模方式。星型模式是以事实表为中心,所有的维度表直接连接在事实表上,像星星一样。星形模式的维度建模由一个事实表和一组维表成,且具有以下特点:a. 维表只和事实表关联,维表之间没有关联;b. 每个维表主键为单列,且该主键放置在事实表中,作为两边连接的外键;c. 以事实表为核心,维表围绕核心呈星形分布;
2. 雪花模式
雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用
雪花模式
3.星座模式
星座模式是星型模式延伸而来,星型模式是基于一张事实表的,而星座模式是基于多张事实表的,而且共享维度信息。前面介绍的两种维度建模方法都是*表对应单事实表,但在很多时候维度空间内的事实表不止一个,而一个维表也可能被多个事实表用到。在业务发展后期,绝大部分维度建模都采用的是星座模式。
星座模型
热心网友
时间:2022-04-30 00:17
首先,你说的数据结构设计包括了两种,一个是数据库设计,一个是数据仓库设计
针对数据库设计一般用的是三范式。因为数据库的数据会用于频繁的增删改查,因此出于减少系统压力考虑,会尽量减少冗余,从而提升系统频繁读写数据的效率。
而星型、雪花型则是数据仓库的设计模式。与数据库的使用目的不同,数据仓库更多的是存储历史数据,不会有频繁的读写。其主要是用于从历史数据中进行分析,进而获取指导性的生产指引,生成报表等等。而这时数据库设计中的范式拆表以提升效率的方法这时却会适得其反(因为历史数据的量相当庞大,而往往数据分析、BI等又需要从多个表中检索数据来进行,这时大表之间的频繁交互会使分析效率变得相当低,所以往往会考虑合并表的方法,故意制造冗余)。
当然,以我个人的经验,就算是数据库设计,也很少会把表设计到三范式。因为一旦表的数据量变得庞大时,表与表之间交互的时间代价会比冗余数据的代价大得多。追问麻烦看下这个网址关于 数据仓库和数据集市区别的说明。
http://book.51cto.com/art/201205/338215.htm
其中提到 数据仓库是三范式的,数据集市是星形、雪花模型的。
按照你的说法,他说数据仓库是三范式的,是不是说错了?
数据仓库的数据结构,到底是星型、雪花模型、还是三范式?三范式和星型...
雪花模式(Snowflake Schema)是对星形模式的扩展。雪花模式的维度表可以拥有其他维度表的,虽然这种模型相比星型更规范一些,但是由于这种模型不太容易理解,维护成本比较高,而且性能方面需要关联多层维表,性能也比星型模型要低。所以一般不是很常用 雪花模式 3.星座模式 星座模式是星型模式延伸而来,星...
数据仓库建模,星型模型大致了解,就是事实表对应许多维表;对雪花型模型...
雪花型结构是一种正规化结构,他取除了数据仓库中的冗余数据。比如有一张销售事实表,然后有一张产品维度表与之相连,然后有一张产品类别维度表与产品维度表连。这种结构就是雪花型结构。雪花型结构取除了数据冗余,所以有些统计就需要做连接才能产生,所以效率不一定有星型架构高。正规化也是一种比较复杂...
数仓分层建模
维度建模与分层架构数仓采用维度建模策略,如星型、雪花和星座模型。雪花模型允许维度表嵌套,星座模型则共享维度信息。ODS层(操作数据层)作为原始数据备份,遵循数据库三范式设计原则,可能进行简单数据处理。DW层(数据仓库层)进一步加工数据,包含DWD(明细层)、DWS(轻度汇总层)和DIM(维表层)。四...
请问数据仓库都用什么建立?
ER建模:即实体关系建模,由数据仓库之父BIll Inmon提出,核心思想是从全企业的高度去设计三范式模型,用实体关系描述企业服务。主张的是自上而下的架构,将不同的OLTP数据集中到面向主题的数据仓库中。维度建模:由Kimball提出,核心思想是从分析决策的需求出发构建模型。这种模型由事实表和维表组成,即星...
收藏!数据建模最全知识体系解读
星型模型是最简单且常用的模型,其中事实表与维度表通过主键外键相关联,适合大数据处理。雪花模型是星型模型的扩展,通过层次化减少数据冗余。星座模型基于多张事实表与共享维度表,适用于复杂数据关系。数据仓库设计通常采用星型模型,通过大量冗余减少表查询次数,提高查询效率。建模原则包括合理分层、核心与...
一百多个数据还要分成四类可以建模吗
第二类是Inmon提倡的三范式数据仓库建模,它和操作型数据库系统的三范式建模在侧重点上有些不同。第三类是Kimball提倡的数据仓库的维度建模,我们一般也称之为星型结构建模,有时也加入一些雪花模型在里面。维度建模是一种面向用户需求的、容易理解的、访问效率高的建模方法,也是笔者比较喜欢的一种建模方式...
维度建模的简介
例如,销售信息可以创建为一个模型,库存可以创建为另一个模型,而客户帐户也可以创建为另一个模型。每个模型捕获事实数据表中的事实,以及那些事实在链接到事实数据表的维度表中的特性。由这些排列产生的架构称为星型模式或雪花模式,已被证实在数据仓库设计中很有效。维度建模将信息组织到结构中,这些结构...
企业如何更好的搭建数据仓库?
1 数据仓库 数据仓库是为管理人员进行决策提供支持的一种面向主题的、集成的、非易失的并随时间而变化的数据集合。数据仓库是一种作为决策支持系统和联机分析应用数据源的结构化数据环境。从目前数据仓库的发展来讲,数据可以存放于不同类型的数据库中,数据仓库是将异种数据源在单个站点以统一的模型组织的...
漫谈纬度表如何设计(一)
店铺纬度表等等。当然从纬度表也能在衍生出从纬度表,一般来将为了后续方便使用,不进行多层join关系,一般就设计成两层就好,也就是常说的星型模型,如果需要遵循三范式那样来设计的话,就可以设计成雪花模型,层数就大于2了。这样虽然使用不便,但是更容易突出核心,从纬度的变化也不容易影响核心纬度。
数据建模
在ER模型中,企业级的抽象设计需满足1-5NF范式,确保数据的完整性和无冗余。而维度建模则以分析为导向,通过增加数据冗余提高查询性能,星型模型以事实表为核心,维度表为支撑,是处理大数据的理想选择。雪花模型和星座模型则在此基础上扩展,通过层次化的维表设计,进一步优化数据结构和性能。原则与步骤:...