OLAP 系统中的星形雪花模式

时间:2021-05-11 14:03:23

标签: database data-warehouse snowflake-schema

我的印象是,在 OLAP 中,我们尝试以非规范化的方式存储数据,以减少连接次数并使查询处理速度更快。避免数据冗余的规范化更适用于 OLTP 系统。
但话说回来,两种常见的建模方法(星型和雪花模式)本质上是规范化模式。
你能帮我把这些点联系起来吗?

2 个答案:

答案 0 :(得分:0)

当人们使用“规范化”一词时,他们通常指的是处于或至少接近于第三范式 (3NF) 的事物。

除非您对规范化一词的意思有显着不同,否则 Star 或 Snowflake 模式都不会被规范化。为什么你认为它们被标准化了?

答案 1 :(得分:0)

实际上,这是非常有洞察力的,并且绝大多数人都接受了。事实是,一颗星是部分非规范化的——维度表是高度非规范化的;它们通常来自将许多相关表合并为一个。然而,精心设计的事实表是规范化的 - 每条记录都是由单个唯一主键标识的一组值,主键由一组外键的交集组成。

正如您所猜测的那样,雪花模式更加规范化。他们有效地获取维度表并将它们分解成小的值,这些值在需要时全部连接在一起。虽然对于这比明星好还是差一直存在争论,但许多人认为这些都是廉价的加入,并且根据您的想法,可能值得。

最初,雪花是作为一种节省磁盘空间的方式出售的,因为它们确实比维度表占用的空间更少,但现在磁盘空间很少成为问题。

我个人更喜欢一种混合方法,它允许我构建几个级别的维度表,最终可以为我的原子级数据和聚合事实表提供引用完整性。