Подтвердить что ты не робот

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

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

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

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

Спасибо

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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