Я немного знаю о внутренностях базы данных. Я на самом деле реализовал небольшой простой механизм реляционной базы данных, используя структуры ISAM на дисках и индексы BTree и все такое. Это было весело и очень образованно. Я знаю, что я гораздо более осведомлен о тщательном проектировании схем баз данных и написании запросов сейчас, когда я знаю немного больше о том, как RDBMS работают под капотом.
Но я ничего не знаю о многомерных моделях данных OLAP, и мне было трудно найти какую-либо полезную информацию в Интернете.
Как хранится информация на диске? Какие структуры данных содержат куб? Если модель MOLAP не использует таблицы, столбцы и записи, то... что? В частности, в высокоразмерных данных, какие структуры данных делают модель MOLAP настолько эффективной? Имеются ли в реализациях MOLAP что-то похожее на индексы RDBMS?
Почему серверы OLAP намного лучше обрабатывают специальные запросы? Те же самые агрегаты, которые могут занимать часы для обработки в обычной реляционной базе данных, могут обрабатываться в миллисекундах в OLTP-кубе. Какова основная механика модели, которая делает это возможным?