星型模式与雪花模式

时间:2016-12-07 05:51:09

标签: database business-intelligence

在商业智能的角度来看,这是一个常见的问题,但我正在寻找一个统计答案。

我们可以根据关系数据库做出决定来进行其中一种设计吗?我的意思是,数据量中是否存在适合其中一种模式的数学比例?

3 个答案:

答案 0 :(得分:1)

星图与雪花图..选择什么: 好吧,这完全取决于项目要求和方案。

如果我们想更深入地研究Dimensional Analysis,那么SnowFlake将是一个不错的选择,因为如以上答案中所建议,它具有参照完整性,并且由于其规范化的行为而不会包含数据冗余。例如:如果我们想找出谁吸引了银行发起的特定计划的客户。!

如果指标分析的目的更多,那么Star是最佳选择。例如:如果我们要查找客户每周/每月/每季度/每年在特定计划中花了多少钱。公司赚了多少利润等等。

如上所述,Star模式的复杂度较低,因为没有。的连接和运行速度要快得多,与雪花相比,查询执行要好得多。

但是同样,这些是根据项目需要使用的。

我希望这个答案会有所帮助。 任何建议,指导都将受到高度赞赏……:)

答案 1 :(得分:0)

星型模式存储非规范化数据,而雪花存储规范化数据。

通常,snow flake会保留关系数据库中的引用完整性,这意味着您将拥有许多通过主键/外键链接的维度。另一方面,星型模式将具有将所有链接表合并为一个维度的扁平结构。

星型模式不那么复杂,并且比雪花模式具有更好的性能。在BI透视图中,星型模式应该是前进的方式。只有在必要时才能使用雪花。

答案 2 :(得分:0)

在关系数据库中,基本上有2种类型的模式(我意识到还有其他极端情况):3NF和Star模式。 3NF通常在交易系统中找到,而星型模式则在分析模式中找到。 在星型模式中,可以在一个尺寸上生成雪花,但这通常是不好的做法,应该避免。如果您有一个非常特定的用例,并且您有知识和经验知道解决该问题的唯一方法就是使用Snowflake,那就没问题-但是构建Snowflakes是因为您不知道如何设计Star模式不会成功好结局! 因此,雪花数量有限的Star模式可能是可以的,但是雪花数量很多的设计不是Snowflake模式-这只是设计不当的Star模式