Никита Малов.

Основатель и управляющий партнёр
аналитической компании ДОВОДАналитика рынков · OSINT

Факты. Решения.
Развитие бизнеса.

OLAP-кубы: что это простыми словами

Коротко

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

Что такое OLAP-куб

OLAP (OnLine Analytical Processing) — оперативная аналитическая обработка данных: анализ в реальном времени, когда ответ на вопрос приходит за секунды, а не после ночной выгрузки. Куб — способ так данные хранить.

Представьте таблицу продаж, у которой каждая строка — один чек. В ней есть дата, магазин, товар, клиент и сумма. Куб — это та же информация, но разложенная по граням: по времени, по магазину, по товару. Выбираете грань «товар» и грань «месяц» — получаете продажи каждого товара по месяцам. Меняете месяц на регион — получаете ту же цифру по регионам.

Слово «куб» здесь условное: граней может быть три, пять или двадцать. Важно, что показатели раскладываются по любым сочетаниям признаков, а не по одному заранее заданному.

Из чего состоит куб

  • Измерения — признаки, по которым смотрите цифры: время, регион, товар, клиент, канал продаж, менеджер. Внутри измерения бывают уровни: год → квартал → месяц → день, страна → город → магазин.
  • Меры — числовые показатели, которые считают: выручка, прибыль, количество продаж, число клиентов. По ним и работают сумма, среднее, минимум и максимум.
  • Таблица фактов — строки с событиями: чек, заказ, отгрузка. В ней записано, что произошло, когда, с кем и на какую сумму.
  • Иерархии — порядок уровней внутри измерения. Они позволяют смотреть цифру сверху, по стране, и проваливаться вниз, до отдельного магазина.

Что с кубом делают на практике

Срез — выбрать одно значение признака: продажи только за март или только по Москве. Вращение — поменять признаки местами: смотреть товары по месяцам, а потом месяцы по товарам. Свёртка и детализация — подняться с магазина до города и спуститься обратно до конкретной точки.

Отсюда главная польза для собственника: один и тот же куб отвечает на десятки вопросов без новой выгрузки. Какой товар приносит прибыль в каждом регионе, какой канал растёт третий месяц, у какого менеджера падают продажи в определённой категории.

Чем куб отличается от выгрузки в Excel

OLAP-кубВыгрузка в таблицу
Новый разрезСразу, без пересчётаЗаново сводить формулами или сводной
Объём данныхХранит миллионы строкТяжелеет и виснет на больших файлах
Кто собираетНастроено один раз, дальше обновляетсяКаждый раз руками, у каждого своя версия
Риск ошибкиСчитает одна модельКаждая копия файла считается по-своему

Какие бывают виды OLAP

  • MOLAP — данные лежат в самом кубе, в многомерной структуре. Самый быстрый вид: сервер сразу берёт нужные значения из куба. Минус — куб занимает много места на диске и в памяти, а запись обычно идёт в одном потоке при чтении из многих.
  • ROLAP — данные остаются в обычной реляционной базе, куб работает поверх неё. Гибче и дешевле по хранению, но отвечает медленнее.
  • HOLAP — смешанный: сводные значения хранятся в кубе, детальные — в реляционной базе. Компромисс между скоростью и объёмом.

Частые вопросы

OLAP-куб — это программа или файл?

Это модель данных и способ её хранения. Строят кубы в аналитических системах, например в Microsoft Analysis Services, а смотреть их можно в Excel, в панели или в отчёте. Сам по себе куб — не отчёт, а источник, из которого отчёт собирают.

Нужен ли куб компании с небольшим оборотом?

Пока все цифры помещаются в одну таблицу и сводятся за минуту, куб не нужен. Он окупается, когда данных много, вопросы повторяются каждый день и на каждую выгрузку уходит полдня.

Чем OLAP отличается от OLTP?

OLTP — системы, которые ведут текущие операции: касса, CRM, склад. Они записывают каждый чек и заявку. OLAP — системы, которые эти записи анализируют: считают суммы и сравнения по признакам. Одна и та же компания пользуется обеими.

Куб показывает данные в реальном времени?

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

Можно ли построить куб на данных из CRM и 1С?

Да, это обычный путь: данные из CRM, учёта и рекламных кабинетов сводят в одно хранилище, а поверх строят куб. Сложность в том, чтобы свести справочники — товары, клиентов, каналы — к единым спискам.

Почему куб отвечает быстро?

Потому что сводные значения посчитаны заранее и лежат готовыми. Запрос не пересчитывает миллионы строк, а берёт уже готовую цифру по нужной грани.

Посчитать рядом

Когда цифры есть, а картины нет

Чтобы куб и панель показывали прибыль, а не просто выручку

Куб отвечает на вопрос «сколько», но не на вопрос «заработали ли». Выручка по регионам и товарам видна, а прибыль после себестоимости, рекламы и доставки — нет, пока эти расходы не сведены к тем же признакам.

Я собираю цифры бизнеса на одном экране: выручку, заявки, деньги и маржу, которые обновляются сами. Куб и панель стоят на одних и тех же данных, поэтому собственник видит бизнес за пять минут в день.

Читать об услуге «Панель собственника»

Другие термины