维度模型 VS 非归一化模型

Posted

技术标签:

【中文标题】维度模型 VS 非归一化模型【英文标题】:Dimensional model VS De-normalized model 【发布时间】:2018-05-31 12:06:07 【问题描述】:

我只是在数据仓库的上下文中问这个问题。

维度模型和去规范化模型是相同的还是不同的? 据我从 DW 爱好者那里听说,没有所谓的归一化或反归一化数据模型。

但我的理解是,分解维度,即雪花是维度模型。而具有扁平层次结构维度的模型称为非规范化数据模型。两者都是数据仓库中的数据建模概念。

我需要你的专家意见。

我们可以称之为没有代理键但具有主键的数据模型 - 来自操作 (OLTP) 系统的代码以将 Fact-Dimension 连接在一起?

【问题讨论】:

【参考方案1】:

由于维度表的处理方式,维度模型通常被认为是“非规范化”的。

具有“雪花”维度的数据仓库仍然可以称为维度模型,但这不是 Kimball 的建议,大多数人在想到维度建模时都会想到他的方法。

分解维度(即雪花)是对这些表进行规范化,维度建模(如 Kimball 所述)建议尽可能避免雪花,尽管出于各种原因,人们当然有时会这样做。具有扁平层次维度的模型是非规范化的数据模型,这是人们谈论维度模型时的主要意思。

对于没有代理键的系统:也可以称为数据仓库,您也可以将其称为维度模型,但与 Kimball 推荐的方法相反(无论好坏!) .

【讨论】:

好吧。解开了我的疑惑。如果我们不在我们的数据模型中维护 SCD 数据,仍然推荐使用代理? 当然,有很多理由使用代理键。

以上是关于维度模型 VS 非归一化模型的主要内容,如果未能解决你的问题,请参考以下文章

四元数和归一化

机器学习经典模型简单使用及归一化(标准化)影响测试

Keras深度学习实战——批归一化详解

如何在 Keras 回归模型中包含特征的归一化?

每日一题:树模型为什么不需要归一化?

抛弃归一化,图像识别模型准确率达到了SOTA,训练速度也提升了8.7倍