只是想知道数据实际上是如何存储在多维数据库中的。
我看到的所有参考资料都显示了一个三维的立方体,只是为了想象它的美好,但实际上它必须是二维的,具有外键关系仪式?
谢谢,
终于找到了我自己问题的答案,发布了这篇文章,以便对其他可能有类似疑问或想了解多维数据库的人有所帮助。
与使用ER模型(用于OLTP查询)的关系数据库不同,多维数据库(用于OLAP查询)使用Star Schema或Snowflake Schema对大量数据进行分析研究。
这些模式由一个事实表和多个维度表组成。无论维度的数量(即维度表)如何,这里的数据也以简单的二维格式存储,具有相同的主键-外键概念。
更多技术细节:所有维度表都有自己的主键。维度表中的行数预计会更少(与事实表相比),但列数预计会更多,从而提供该维度的所有细节。
事实表由上述所有维度表的主键作为外键组成,并具有所有可能的组合。
基本示例:尺寸表"a":
主键……此维度的许多其他列
A1
A2
尺寸表"b":
主键……此维度的许多其他列
B1
B2
事实表:(所有维度表中PK的所有组合)
表"a"中的外键表"b"中的外键
A1 B1
A1 B2
A2 B1
A2 B2
因此,事实表中的行数非常高(与维度表相比),但列数与维度表的数量几乎相同。
使用此事实表并基于查询,可以从所需的维度表中检索不同组合的数据,这些数据可用于分析研究。