Зачем использовать ROLAP вместо простого MySQL?

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

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

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

Спасибо

2 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам