Знакомство с OLAP: что это и как работает
Рассказываем об основах популярной технологии бизнес-аналитики.
 
 
Хранилища данных можно разделить на три основных типа: SQL (реляционные), NoSQL (нереляционные) и OLAP. Они различаются между собой структурой хранения информации и областью применения.
OLAP-системы используются реже всего. Но без них не обойтись, если компания планирует работать с аналитическими системами, постоянно обрабатывающими огромные объёмы данных — терабайты и петабайты информации.
Содержание
Что такое OLAP
Оперативная аналитическая обработка данных (OLAP) — это технология, позволяющая в режиме реального времени получить определённый срез данных для их последующего анализа.
Звучит сложно, но давайте посмотрим на работу OLAP в жизни. Представим, что в агентстве недвижимости аналитикам необходимо оценить количество продаж и их доходность, чтобы выявить самые выгодные сделки за последний год. Благодаря этому они смогут понять, какие факторы влияют на стоимость недвижимости, а значит, и на прибыль компании, чтобы их оптимизировать.
Выгружать данные вручную долго, так как информация о сделках и финансовые показатели компании хранятся в разных хранилищах. Аналитику придётся вручную доставать нужные данные и пытаться найти между ними взаимосвязи.
OLAP-системы автоматизируют этот процесс и могут работать с разными хранилищами, содержащими разные типы данных, формируя общую выгрузку с учётом заданных критериев. И это не всё. После выгрузки информацию можно визуализировать для отчёта или поиска взаимосвязей между показателями.
Всё это возможно благодаря способности OLAP преобразовывать данные в OLAP-кубы и работать с ними.
Что такое OLAP-куб
В OLAP-системах информация хранится либо в реляционных базах, либо в виде специальных многомерных OLAP-кубов. Причём исходные данные для построения последних могут браться из обычных БД.
OLAP-куб — это многомерный массив данных. Каждая его грань содержит информацию только по одному признаку.
Разберём эту структуру на примере агентства недвижимости. Компания может хранить информацию о сделках в виде обычной таблицы с фамилиями риелторов и числом заключённых ими договоров. На выходе получаются привычные строки и столбцы:

Иллюстрация: Skillbox Media
Но представим, что мы хотим посмотреть на то, как сделки каждого риелтора разбиты по месяцам года. Добавим в схему третье измерение:

Иллюстрация: Skillbox Media
Это уже простой OLAP-куб с тремя показателями. Его можно усложнять и дальше, добавляя новые метрики. Например, информацию о месторасположении недвижимости по районам города.
Важно!
OLAP-кубы бывают разные. Некоторые из них хранят в себе и первичные данные, и результаты их предварительной обработки. А некоторые — только полученные после предварительного анализа агрегаты данных. При этом исходная информация хранится в связанных с кубом таблицах.
OLAP-куб используется для получения срезов данных по своим измерениям. Благодаря этому аналитик получает возможность не собирать информацию вручную из разрозненных таблиц, а обращаться только к одному источнику.
При этом такие срезы по разным показателям формируются автоматически при предварительной обработке данных. Это ускоряет выполнение запросов к хранилищу.
Какие типы OLAP существуют
В OLAP-системах используют один из трёх вариантов хранения данных: MOLAP, ROLAP или HOLAP. Рассмотрим каждый из них.
MOLAP (multidimensional OLAP). Первичные данные и результат их обработки хранятся в виде классических OLAP-кубов, описанных в предыдущем разделе. Это самый быстрый метод из всех трёх — пользователь сразу извлекает по запросу любой срез хранящейся информации.
Но у подхода есть ограничение. Результат предварительной обработки данных — это таблицы, которые занимают большой объём памяти на сервере. Поэтому если первичной информации много, то MOLAP может не подойти.
ROLAP (relational OLAP) — исходные данные и результат их обработки хранятся в реляционных базах данных, а не в OLAP-кубе. Система проще по структуре, так как информация находится в обычных SQL-таблицах, но медленнее, чем MOLAP. Для получения каждого среза приходится отправлять несколько запросов к разным таблицам.
HOLAP (hybrid OLAP) — гибридная схема, объединяющая MOLAP и ROLAP. Первичная информация хранится в реляционной БД, а результат её анализа — в многомерном кубе. Этот вариант применяется чаще всего, так как использует сильные стороны обоих подходов.
Из чего состоит OLAP-система
В любой OLAP-системе есть несколько компонентов: хранилище, ETL-инструменты, сервер и аналитические инструменты.
Хранилище — место сбора и хранения данных, которые используются в анализе. В зависимости от принятой в компании системы — MOLAP, ROLAP или HOLAP — информация хранится в виде многомерных кубов, реляционных баз данных или в смешанном варианте.
ETL-инструменты (extract, transform, load) — набор средств извлечения, преобразования и загрузки данных в хранилище. Благодаря им информация собирается, предварительно обрабатывается и сохраняется в MOLAP, ROLAP или HOLAP для последующего анализа.
Сервер управляет всей системой OLAP, а также извлекает с помощью ETL-методов информацию и обрабатывает её, формируя агрегаты данных.
Аналитические инструменты нужны для взаимодействия между пользователями и хранилищем. Например, они обрабатывают запрос аналитика и передают его в хранилище, получая ответ в нужном виде. К ним относят Oracle Essbase, Microsoft SQL Server Analysis Services, ClickHouse от «Яндекса» и другие системы.
Преимущества OLAP
Популярность технологии оперативной обработки данных связана с её особенностями:
Пользователь имеет неограниченный доступ к данным. Он может получить любую информацию в полном объёме в любой момент.
Данные хранятся в одном месте, поэтому нет необходимости учитывать особенности работы с каждым отдельным хранилищем, настраивать их взаимодействие и вручную искать конкретную информацию.
Высокая скорость предоставления данных, так как они хранятся в предобработанном виде. Другие системы, где информация собирается из разных БД, требуют больше времени для формирования ответа на запрос.
Уровень детализации точно настраивается. Пользователь OLAP-системы сам определяет точность и глубину выдаваемых данных. Например, можно сделать обобщённый запрос о том, сколько всего было проведено сделок в компании за год. А можно добавить в него информацию о каждой конкретной сделке: дате, сумме, с кем она была проведена и так далее.
Где используется OLAP
OLAP — это инструмент, используемый в Business Intelligence. Такие системы собирают информацию из разных источников, обрабатывают её и представляют в виде удобных отчётов.

Что можно сделать с помощью OLAP:
- изучить потребности клиентов и оценить востребованность товаров в онлайн-магазине;
- оценить эффективность логистики и оптимизировать маршруты;
- управлять ресурсами компании, находя свободные и предупреждая их дефицит с помощью изменений в закупках;
- подготовить финансовые, товарные и другие виды отчётов;
- найти причины снижения выручки и прибыли, определить механизмы их устранения и так далее.
Поэтому технология оперативной аналитической обработки данных используется для решения различных задач в:
- складском учёте товаров;
- онлайн- и офлайн-продажах;
- организации логистики товаров;
- маркетинговых исследованиях;
- учёте качества обслуживания клиентов и других.
Что запомнить
Подведём итоги того, что мы сегодня узнали:
- OLAP (оперативная аналитическая обработка данных) — это BI-технология, позволяющая в режиме реального времени анализировать данные, полученные из разных источников.
- В её основе лежат OLAP-кубы — многомерные массивы данных, объединяющие в себе информацию из большого числа таблиц с её предварительной обработкой.
- OLAP-системы используются в логистике, онлайн- и офлайн-продажах, работе с клиентами и других сферах, где требуется собирать и анализировать большой объём данных для поиска лучших бизнес-решений.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
Data Science с нуля: пробуем профессии на практике за 5 дней
Вы разберётесь в трёх главных направлениях data science: машинном обучении, разработке на Python и визуализации данных. Решите, какая сфера вам ближе, и выполните 4 реальные задачи с данными.
Пройти бесплатно 
          Все
                                Все
                             Истории
                                        Истории Дизайн
                                    Дизайн Код
                                    Код Геймдев
                                    Геймдев Бизнес
                                    Бизнес Маркетинг
                                    Маркетинг Управление
                                    Управление Кино
                                    Кино Музыка
                                    Музыка Проектная фотография
                                    Проектная фотография Развитие
                                    Развитие Здоровье
                                    Здоровье Деньги
                                    Деньги Образование
                                    Образование EdTech
                                    EdTech Корп. обучение
                                    Корп. обучение Блог Skillbox
                                    Блог Skillbox Глоссарий
                                        Глоссарий Спецпроекты
                                        Спецпроекты Профориентация
                                        Профориентация 
                                     
                                     
                                     
                                     
                                    