КубЛаб

Что такое OLAP и зачем он бизнесу

Почему отчёты из учётной системы тормозят и как аналитическая модель решает эту проблему.

Статья 1 из 3 в рубрике, 2 мин чтения

Почти в каждой компании однажды наступает момент, когда отчёт по продажам за год строится двадцать минут, а учётная система в это время тормозит у всех сотрудников. Причина не в слабом сервере, а в том, что учётная база устроена для другой работы. OLAP — способ решить эту проблему.

Две разные задачи: учёт и анализ

Учётная система (1С, CRM, складская программа) записывает события: продажу, отгрузку, платёж. Таких операций тысячи в день, каждая затрагивает несколько строк, и база оптимизирована именно под это. Такой режим работы называют OLTP (online transaction processing).

Аналитический запрос устроен наоборот. «Выручка по регионам и товарным группам по месяцам за три года» читает миллионы строк, но ничего не меняет. Если выполнять его в учётной базе, он мешает пользователям, а сам работает медленно, потому что учётная база хранит данные в удобном для записи, а не для подсчёта виде.

OLAP (online analytical processing) — подход, при котором данные для анализа хранятся отдельно и в другой форме: заранее подготовленными, связанными и частично посчитанными. Термин предложил Эдгар Кодд в 1993 году, но сама идея стала массовой с появлением серверов вроде Microsoft SQL Server Analysis Services (SSAS).

Что получает бизнес

  • Скорость. Отчёт, который в учётной базе строился минуты, в аналитической модели открывается за секунды, потому что агрегаты посчитаны заранее или хранятся в сжатом виде в памяти.
  • Одна версия правды. Формула «валовой прибыли» или «среднего чека» описывается в модели один раз. Финансовый отдел и отдел продаж больше не спорят, чья таблица в Excel правильная.
  • Самостоятельность пользователей. Модель подключается к Excel и Power BI как сводная таблица: пользователь сам выбирает разрезы и показатели, не дожидаясь, пока ИТ напишет новый запрос.
  • Разграничение доступа. Региональный менеджер видит только свой регион, хотя пользуется той же моделью, что и директор.

Из чего состоит решение

Типичная архитектура выглядит так:

  1. Источники — учётные системы, CRM, файлы.
  2. Хранилище данных (DWH) — отдельная база, куда данные регулярно загружаются, очищаются и приводятся к единым справочникам.
  3. Аналитическая модель — OLAP-куб или табличная модель SSAS поверх хранилища. Здесь живут меры, иерархии и правила доступа.
  4. Клиенты — Excel, Power BI, веб-отчёты.

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

Когда OLAP точно нужен

  • Отчёты строятся долго, и это мешает работе учётной системы.
  • Одинаковые показатели считаются по-разному в разных отделах.
  • Аналитики тратят дни на выгрузки и сведение таблиц в Excel.
  • Руководству нужен ежедневный срез без участия программиста.

В следующей статье разберём, как устроен сам куб: что такое измерения, меры и почему «срез» — не просто метафора.