Зачем использовать ROLAP вместо простого MySQL? - PullRequest
12 голосов
/ 10 ноября 2011

Есть ли какие-либо преимущества в производительности при использовании сервера ROLAP, такого как Mondrian, поверх базы данных MySQL, в отличие от простого запроса базы данных MySQL?

Я спрашиваю об этом в контексте, в котором большинство моихЗапросы будут относительно простыми (например, поиск всех продаж за определенный период), но размер базы данных довольно большой (сотни тысяч записей).

Моя идея состояла в том, чтобы использовать OLAP для ускорения запросов, но теперь я не понимаю, является ли это целью данной технологии, особенно в форме ROLAP.Пробуя API olap4j, я понял, что могу использовать его для выполнения запросов MDX, даже не имея реального сервера OLAP (просто имея реляционную базу данных и схему OLAP для него).Как это может быть полезным для производительности?

Спасибо

Ответы [ 2 ]

11 голосов
/ 10 ноября 2011

Зависит от того, как вы собираетесь его использовать.

OLAP - это инструмент для упрощения сложного анализа данных. Если ваши запросы статичны и просты, не используйте ROLAP. Это добавило бы ненужные накладные расходы.

С другой стороны, если вам необходимо выполнить сложный и подробный интерактивный анализ данных для отчетности и бизнес-аналитики, тогда обязательно используйте ROLAP.

ОБНОВЛЕНИЕ: Если вам нужен высокопроизводительный OLAP для MySQL, вы должны взглянуть на этот пост в блоге производительности MySQL , чтобы обсудить различия в производительности различных подходы и инструменты.

3 голосов
/ 10 ноября 2011

OLAP позволяет анализировать ваши данные в нескольких измерениях; каждое измерение возможно (если не всегда) является «иерархией» (то есть деревом). Это позволяет вам переходить от общей картины (высоко агрегированные данные) к деталям, когда это необходимо (детализация).

Кроме того, мощь языка MDX и / или вычисляемых показателей позволяет выполнять сложные запросы, достаточно сложные, если не невозможные, в чистом SQL.

...