数据库或数据仓库中的事实表和维度表?

我正在为一个接收事务性用户数据的数据库设计架构,目标是存储数据、转换数据并在仪表板上以图表的形式将其显示给用户。

我的理解是,我们对数据进行规范化以优化数据库中的存储,并将数据仓库中数据库中的数据非规范化为可用于数据可视化/分析的格式。

在网上,我看到 Fact 和 Dim 表属于数据仓库,但由于我的数据的性质,我目前将它们放在我的数据库中。我的理解有误吗?我会认为数据仓库将数据库中的 Fact 和 Dim 表连接起来并聚合或执行其他计算以进行分析?

我是数据库设计的新手,因此非常感谢任何指导!

fgvlty 回答:数据库或数据仓库中的事实表和维度表?

是的,将数据存储在“数据仓库”中以供以后绘制图表是很好的。

是的,“规范化”(到“Dim”表中)很好,但可能会过度。例如,不要标准化 DATE 或 DATETIME;弊大于利。

典型的“事实”表只需要很少的索引,可能只需要一个 PRIMARY KEY

通常,Fact 表中使用的数据需要汇总。那么即使是绘图也可能发生——绘制一百万个点是没有用的。你可以把它归结为一千,这样你就不会窒息绘图软件。

应该构建“汇总表”,然后逐步(或持续)维护。通常,汇总表包含事实表切片的每日计数和小计。 (“聚合”)然后,“报告”或图表的提取针对汇总表工作。除了比事实表少得多的行之外,此类表还具有使查询高效的索引。

更多讨论:http://mysql.rjweb.org/doc.php/datawarehouse(和 3 篇相关文章)。

为了进一步讨论,让我们看看 CREATE TABLE 为您的事实表和您需要的图表之一所做的尝试。

本文链接:https://www.f2er.com/48895.html

大家都在问