
MOLAP и ROLAP кубы с примерами
MOLAP и ROLAP — это два различных подхода к многомерному анализу данных, которые используются в системах хранилищ данных.
В статье разберу их особенности и приведу примеры.
Что такое MOLAP и ROLAP
MOLAP или multidimensional online analytical processing подразумевает использование многомерных кубов, в которых данные предварительно агрегируются и хранятся в многомерном формате. Это позволяет быстро выполнять запросы, так как большинство данных уже обработано и организовано.
Особенности:
- Хранение данных: Данные хранятся в виде многомерных массивов.
- Производительность: Быстрее реагирует на запросы из-за предварительной агрегации.
- Инструменты аналитики: Часто используются специализированные инструменты для работы с MOLAP, такие как Microsoft Analysis Services или Oracle OLAP.
Пример:
Предположим, у вас есть данные о продажах компании, организованные по измерениям «Время» (день, месяц, год), «Продукт» и «Регион». В MOLAP-кубе данные о продажах могут храниться в виде трёхмерного массива, где по одной оси находятся годы, по другой – продукты, а по третьей – регионы. Это позволяет быстро получать ответ на запрос, например: «Сколько было продаж продуктов X в регионе Y в 2021 году?»
ROLAP или relational online analytical processing использует реляционные базы данных для хранения данных и выполнения запросов. В отличие от MOLAP, данные не агрегируются заранее, а извлекаются и обрабатываются в момент запроса.
Особенности:
- Хранение данных: Данные хранятся в реляционных таблицах.
- Гибкость: Может работать с большими объёмами данных.
- Производительность: Может быть медленнее, так как агрегирование данных происходит динамически во время запроса.
Пример:
В случае с ROLAP те же данные о продажах будут храниться в реляционных таблицах. У вас может быть таблица «Продажи», где каждая запись содержит данные о конкретной транзакции, а также таблицы «Продукты», «Регион» и «Время». Когда нужно узнать, сколько было продаж продукта X в регионе Y в 2021 году, система выполнит SQL-запрос, который агрегирует данные на лету.
Что такое кубы OLAP
Говоря простым языком OLAP куб, а точнее, его разновидности, это принцип работы BI слоя с информацией из базы данных. Давайте рассмотрим порядок работы с разными видами этих кубов. Допустим, у нас имеется база данных, в которую загружены показатели с разных источников — реклама, продажи, crm, склад, логистика и т.д.
MOLAP куб с примерами
При MOLAP (multidimensional online analytical processing) мы подключаемся к БД и выгружаем весь массив значений в кеш. Чаще всего это делают в Excel — ибо удобнее. И за счёт ресурсов компьютера работают со всем этим огромным количеством информации. Кратко можно назвать MOLAP кешированием всего объёма данных.
В своей работе я чаще всего делаю именно так, потому что для маркетолога-аналитика проверять различные срезы гипотез так попросту быстрее, но не без нюансов (вычислительные мощности и т.п.). Модель данных при этом может быть построена в Excel.
Про важность доступа к сырым данным для маркетолога я писал тут.

В мировой практике от таких кубов постепенно отказываются за счёт их “вычислительных” аппетитов.
ROLAP куб с примерами
ROLAP куб (relational online analytical processing) видели все, кто хоть раз работали с Power BI или другими подобными инструментами. В данном кубе пользователь, производя действия в дашборде (фильтры, сортировка и т.д.), автоматически отправляет в базу данных SQL запросы. В ответ база данных формирует информацию и отправляет её в кеш. Пользователь работает только с частичкой всей БД через кеш. Это и есть ROLAP куб, лежащий в БД.
В моей практике, как маркетолога в агентстве, работа через ROLAP кубы по большей части невозможна, т.к. клиентская БД обычно закрыта для доступа, поскольку в ней лежит всё подряд. И остаётся подключать Excel через MOLAP к отдельным вьюхам и работать с этими данными.
Сравнение MOLAP и ROLAP
Сравним кубы по нескольким параметрам:
- Хранение данных. MOLAP — многомерные массивы vs. ROLAP — реляционные таблицы.
- Производительность. MOLAP обычно быстрее для предопределённых запросов, ROLAP быстрее для динамических, сложных запросов к большим наборам данных.
- Использование. MOLAP лучше подходит для типовых отчётов и анализа, ROLAP — для больших объёмов данных с большими вариациями в запросах.
Оба подхода имеют свои сильные и слабые стороны, и выбор между ними зависит от конкретных требований и условий работы.
Заключение
Выбор между MOLAP и ROLAP зависит от потребностей бизнеса, доступной инфраструктуры и требований к аналитике. Обе технологии могут быть полезны в различных сценариях и могут взаимодействовать друг с другом в рамках комплексных систем бизнес-аналитики.