繁体   English   中英

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

[英]Fact and Dim tables in Database or Data Warehouse?

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

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

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM