Зачем использовать ROLAP вместо простого MySQL?
Есть ли какие-либо преимущества в производительности при использовании сервера ROLAP, такого как Mondrian, поверх базы данных MySQL, по сравнению с простым запросом базы данных MySQL?
Я спрашиваю об этом в контексте, в котором большинство моих запросов будут относительно простыми (например, поиск всех продаж за определенный период), но размер базы данных довольно большой (сотни тысяч записей).
Моя идея состояла в том, чтобы использовать OLAP для ускорения запросов, но теперь я не понимаю, является ли это целью данной технологии, особенно в форме ROLAP. Пробуя API olap4j, я понял, что могу использовать его для выполнения запросов MDX, даже не имея реального сервера OLAP (просто имея реляционную базу данных и схему OLAP для него). Как это может быть полезно с точки зрения производительности?
Спасибо
2 ответа
Это зависит от того, как вы собираетесь его использовать.
OLAP - это инструмент для упрощения сложного анализа данных. Если ваши запросы статичны и просты, не используйте ROLAP. Это добавило бы ненужные накладные расходы.
С другой стороны, если вам необходимо выполнить сложный и подробный интерактивный анализ данных для отчетности и бизнес-аналитики, тогда обязательно используйте ROLAP.
ОБНОВЛЕНИЕ: Если вам нужен высокопроизводительный OLAP для MySQL, вы должны взглянуть на этот пост в блоге производительности MySQL для обсуждения различий в производительности различных подходов и инструментов.
OLAP позволяет анализировать ваши данные в нескольких измерениях; каждое измерение возможно (если не всегда) является "иерархией" (т. е. деревом). Это позволяет вам переходить от общей картины (высоко агрегированные данные) к деталям, когда это необходимо (детализация).
Кроме того, мощь языка MDX и / или вычисляемых показателей позволяет выполнять сложные запросы, достаточно сложные, если не невозможные, в чистом SQL.