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