Открыть сервис

Онлайн-аналитическая обработка

Онлайн-аналитическая обработка (OLAP, от англ. Online Analytical Processing) — это технология оперативного анализа многомерных данных, предназначенная для быстрого выполнения сложных запросов, агрегации и визуализации информации в системах поддержки принятия решений. В отличие от оперативной обработки транзакций (OLTP), OLAP ориентирована на анализ исторических и сводных данных, а не на управление текущими операциями. Основная цель OLAP — предоставить пользователям (аналитикам, руководителям) возможность интерактивно исследовать данные в различных разрезах и иерархиях.

История

Концепция OLAP была впервые сформулирована в 1970-х годах, но термин ввёл Эдгар Кодд в 1993 году в статье «Providing OLAP (On-Line Analytical Processing) to User-Analysts». Кодд определил 12 правил, которым должна соответствовать OLAP-система, включая многомерность, прозрачность, доступность, поддержку иерархий и динамическое управление разреженными матрицами. Однако первые коммерческие продукты, такие как Essbase (разработка компании Arbor Software, ныне Oracle), появились ещё в 1980-х годах.

В 1990-х годах развитие OLAP шло по двум основным направлениям: реляционные (ROLAP) и многомерные (MOLAP) системы. В 2000-х годах с ростом объёмов данных и распространением облачных технологий появились гибридные решения (HOLAP) и OLAP-сервисы в составе платформ бизнес-аналитики (BI), таких как Microsoft Analysis Services, SAP BW, IBM Cognos. В России OLAP-технологии активно внедрялись с середины 2000-х годов в банковском секторе, ритейле и государственном управлении.

Классификация

OLAP-системы классифицируются по способу хранения данных и архитектуре.

По способу хранения данных

  • MOLAP (Multidimensional OLAP) — данные хранятся в многомерных кубах (массивах). Обеспечивает максимальную скорость запросов за счёт предварительной агрегации, но требует больше места для хранения и длительного времени загрузки. Примеры: Oracle Essbase, Microsoft Analysis Services (многомерный режим).
  • ROLAP (Relational OLAP) — данные хранятся в реляционных базах данных (обычно в схеме «звезда» или «снежинка»). Запросы выполняются динамически с помощью SQL. Масштабируется лучше, но медленнее при сложных агрегациях. Примеры: MicroStrategy, SAP BW (реляционный режим).
  • HOLAP (Hybrid OLAP) — комбинирует подходы: детальные данные хранятся в реляционной БД, а агрегаты — в многомерном кэше. Позволяет балансировать между производительностью и объёмом хранилища. Примеры: Microsoft Analysis Services (гибридный режим), SAP BW.

По архитектуре

  • Серверные OLAP — обработка выполняется на выделенном сервере, клиент получает только результаты запросов. Наиболее распространённый вариант в корпоративных системах.
  • Клиентские OLAP — данные загружаются на клиентскую машину и обрабатываются локально (например, в Microsoft Excel с надстройкой Power Pivot). Ограничены объёмом оперативной памяти.

Устройство и характеристики

Многомерная модель данных

Центральным понятием OLAP является куб (гиперкуб) — многомерная структура, в которой данные организованы по измерениям и мерам.

  • Измерения (dimensions) — категории, по которым анализируются данные (например, время, регион, продукт, клиент). Каждое измерение может содержать иерархии (год — квартал — месяц — день).
  • Меры (measures) — числовые показатели, подлежащие анализу (объём продаж, прибыль, количество единиц).
  • Ячейки куба — пересечение всех измерений, содержащее значение меры.

Операции OLAP

  • Срез (slice) — фиксация одного измерения для получения двумерного подмножества (например, данные за один месяц).
  • Вращение (pivot)изменение порядка измерений для перегруппировки данных.
  • Детализация (drill-down) — переход от обобщённых данных к более детальным (например, от года к кварталу).
  • Обобщение (roll-up) — агрегация данных вверх по иерархии (от дня к месяцу).
  • Свёртка (dice) — выбор подмножества данных по нескольким измерениям.

Производительность

Ключевыми характеристиками OLAP-систем являются:

  • Время отклика — обычно не более нескольких секунд для интерактивных запросов.
  • Поддержка многопользовательского доступа — одновременная работа десятков и сотен аналитиков.
  • Масштабируемость — способность обрабатывать кубы объёмом от десятков гигабайт до нескольких терабайт.

Применение

OLAP-технологии широко используются в бизнес-аналитике для решения следующих задач:

В России OLAP-решения внедряются в крупных компаниях, таких как «Сбербанк», «Газпром», «РЖД», а также в ритейлерах (X5 Group, «Магнит»). Для государственных нужд используются платформы, соответствующие требованиям импортозамещения, например, «Форсайт. Аналитическая платформа» (разработка компании «Форсайт»).

Примеры

Реляционный OLAP (ROLAP)

В системе ROLAP данные хранятся в реляционной базе, организованной по схеме «звезда». Центральная таблица фактов содержит меры и внешние ключи к таблицам измерений. Например, таблица фактов «Продажи» может содержать столбцы: id_времени, id_продукта, id_магазина, сумма_продажи. Измерения — «Время», «Продукты», «Магазины» — хранятся в отдельных таблицах. Запрос на сумму продаж за 2023 год по всем магазинам выполняется через SQL-соединение таблиц.

Многомерный OLAP (MOLAP)

В MOLAP куб предварительно вычисляется и сохраняется в виде многомерного массива. Например, куб «Продажи» может иметь размерности: время (365 дней), продукты (1000 наименований), магазины (50). Ячейка на пересечении «2023-01-15», «Молоко», «Магазин №5» содержит значение 1500 рублей. Агрегаты (суммы по месяцам, годам) вычисляются заранее, что ускоряет запросы.

Критика

Несмотря на широкое распространение, OLAP-системы имеют ряд недостатков:

  • Сложность моделирования — построение кубов требует глубокого понимания предметной области и тщательного проектирования измерений.
  • Ограниченная гибкость — добавление новых измерений или мер часто требует перестройки куба и длительной загрузки данных.
  • Проблемы с большими данными — традиционные OLAP-системы плохо масштабируются на объёмы данных в десятки и сотни терабайт, что привело к появлению альтернатив, таких как Apache Kylin и Druid.
  • Высокая стоимость — лицензирование коммерческих OLAP-серверов (Oracle, IBM, SAP) может быть дорогим, особенно для малого и среднего бизнеса.

В ответ на эти ограничения в 2010-х годах получили развитие технологии OLAP на основе колоночных БД (например, ClickHouse, Vertica) и in-memory OLAP (SAP HANA, Microsoft SQL Server с технологией xVelocity), которые обеспечивают высокую производительность без предварительной агрегации.

Источники

  • Кодд Э. Ф. Providing OLAP (On-Line Analytical Processing) to User-Analysts: An IT Mandate. — 1993.
  • Кимбалл Р. The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling. — 3rd ed. — Wiley, 2013.
  • Инмон Б. Building the Data Warehouse. — 4th ed. — Wiley, 2005.
  • Томас К. OLAP Solutions: Building Multidimensional Information Systems. — Wiley, 1997.
  • Материалы корпорации Microsoft (документация по SQL Server Analysis Services).
  • Материалы компании Oracle (документация по Oracle Essbase).
  • Открытые данные о внедрениях BI-систем в РФ (TAdviser, CNews).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →