我对数据库内部了解一些。我之前实际上已经实现了一个小型、简单的关系数据库引擎,使用磁盘上的 ISAM 结构和 BTree 索引以及所有类似的东西。这很有趣,而且很有教育意义。我知道我对仔细设计数据库模式和编写查询更加了解,因为我对 RDBMS 如何在幕后工作有了更多了解。
但是我对多维 OLAP 数据模型一无所知,而且我很难在互联网上找到任何有用的信息。
信息如何存储在磁盘上?多维数据集包含哪些数据结构?如果 MOLAP 模型不使用包含列和记录的表,那么……什么?尤其是在高维数据中,什么样的数据结构让 MOLAP 模型如此高效?MOLAP 实现是否使用类似于 RDBMS 索引的东西?
为什么 OLAP 服务器在处理即席查询方面表现得如此出色?在普通关系数据库中可能需要数小时才能处理的相同类型的聚合可以在 OLTP 多维数据集中以毫秒为单位进行处理。使这成为可能的模型的基本机制是什么?