传统星型架构与Snowflake中的宽表性能比较

雷切尔·麦圭根(Rachel McGuigan)

在为雪花数据仓库设计数据模型时,关于哪种类型的模型将具有最佳性能,是否存在一般规则?具体来说,比较传统的星型架构与宽表

典型的事实表具有到存储描述等字段的维度的代理键。如果结构进一步被非规范化并且这些描述被移动(或移至)事实表怎么办?这更符合“一个大表”方法。更改任何维度或事实的值都需要在“事实”表中添加一条新记录,这显然会产生更多数据”

埃里克·罗什

答案在某种程度上取决于您的具体情况。设计架构时,通常必须权衡从许多不同的源/表中提取数据的难易程度/速度/可恢复性,而该模型必须易于用户理解(例如,编写复杂的分析查询)并在负载下表现良好。

我发现以星/雪花格式维护核心数据模型可以独立提取/转换/整合所有对应的事实和维度表。

但是,我还有另一个转换/非规格化层,可将模型压平为可用于分析的数据集。根据数据集的大小和数据的新鲜度要求,可以通过在视图外添加一个简单的CTAS语句即可完成此任务,该视图汇集了必要的数据+交换(此解决方案可以在不中断分析查询的情况下随时运行)

出于性能方面的考虑,扁平化表对于实时连接Snowflake的BI工具和分析师​​至关重要。对于不是SQL掌握者的分析人员,它抽象出了所有基础联接的复杂性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章