KNOWAGE. Бизнес-процесс создания OLAP-куба
Knowage — это пакет бизнес-аналитики с открытым исходным кодом, который объединяет традиционные данные и большие источники данных в ценную и содержательную информацию. Он объединяет инновации, исходящие от сообщества, с опытом и практикой решений на уровне предприятия.
OLAP-куб — (On-Line Analytical Processing — интерактивный анализ данных) многомерный массив данных, как правило, разреженный и долговременно хранимый, используемый в OLAP. Может быть реализован на основе универсальных реляционных СУБД или специализированным программным обеспечением. Подробнее в статье OLAP-куб.
Создание “Data source”-конфигурации
Первый шаг для создания OLAP-куба
Первым шагом для создания является OLAP-куба подключение источника данных. Для этого необходимо произвести следующие действия:
- Авторизоваться под ролью Администратор ;
- Открыть Menu и перейти в каталоге Data Providers в Data source
- На странице Data source кликнуть на плюс + и настроить подключение к БД. Далее заполнить поля:
- Label
- Description
- Dialect (выбрать PostgreSQL )
- Multischema
- Read only (выбрать Read and write )
- Type (выбрать JDBC )
- URL (вводим в формате jdbc:postgresql://:/ )
- User
- Password
- Driver (для postgresql вводим org.postgresql.Driver )
Создание каталога для формирования новых документов/кубов
Второй шаг для создания OLAP-куба
Вторым шагом для создания Куба является создание каталога и выдача прав для пользователей.
- Авторизоваться под ролью Администратор ;
- Открыть Menu и перейти в каталог Profile Management в Functionalities management
- На странице Functionalities management выбрать корневой каталог Functionalities и кликнуть на плюс + для создания нового каталога для документов и кубов. Нужно заполнить поля:
- Label
- Name
- Отметить все чекбоксы
Добавить схему OLAP куба
- Авторизоваться под ролью Администратор ;
- Открыть Menu и перейти в каталог Mondrian schemas catalog ;
- Кликнуть на иконку Плюс и в появившемся окне заполнить поля:
- Name;
- File Upload;
Создание OLAP куба
- Авторизоваться под ролью Администратор ;
- Открыть Menu и перейти в раздел Documents development ;
- Выбрать доступный раздел в дереве под Functionalities ;
- Кликнуть на иконку Плюс и в появившемся окне выбрать Generic document ;
- В открывшейся странице заполнить следующие поля:
- Label;
- Name;
- Type = On-line analytical processing;
- Engine = OLAP Engine;
- Data Source – выбрать настройку для подключения к БД;
- Кликнуть на иконку сохранения. Перед сохранением убедится что стоит галочка справа в разделе Show document templates на нужном разделе.
Important: Использование данного инструмента оказалось не достаточно эффективным. Рекомендуется использовать Pentaho.
Вся правда о кубах данных OLAP: развенчиваем мифы
Кубы данных — не самая простая тема в дата-инжиниринге. Это тот самый случай, когда на пять запросов об определении приходятся пять разных вариантов ответа. Эта неоднозначность породила неудачную универсальную метафору, с помощью которой описываются кубы данных, — схему трехмерного куба. При этом в объяснениях нет примеров, рассказывающих, как в дата-пайплайне реализуется эта концепция.
Команда VK Cloud перевела статью, в которой заполняются пробелы и развенчиваются мифы, окружающие тему кубов данных.
Что такое куб данных
В общих чертах куб данных — это дизайн-паттерн, в котором показатели, например продажи, агрегируются по разным разрезам: региону, магазину или продукту.
Дизайн-паттерн реализован в основном в двух контекстах:
- Как предварительно агрегированная таблица в реляционной базе данных.
- Как объект данных в специализированной OLAP-системе.
Сегодня эти проблемы стоят не так остро. Но к этой теме мы вернёмся позже.
Кубы данных в реляционных БД
Рассмотрим пример — таблицу с данными по продажам по региону, магазину и продукту:
Чтобы создать куб данных из взятого для примера дата-сета, нужно агрегировать сумму цен по каждой комбинации разрезов. В PostgreSQL и MS SQL имеется подблок GROUP BY под названием CUBE, который сделает эту работу за вас.
Вот как выглядит запрос CUBE с этими данными:
SELECT SUM(price) as total_sales, region, store, product FROM sales GROUP BY CUBE(region, store, product);
Поскольку у взятого для примера дата-сета есть три разреза: регион, магазин, продукт, — вышеуказанный запрос выдаст восемь сгруппированных множеств и 29 строк данных (исходя из количества уникальных значений по разрезам).
Чтобы рассчитать общее количество сгруппированных множеств, созданных кубом данных, воспользуйтесь формулой: 2^number_of_dimensions.
Сгруппированные множества для этого примера:
(region, store, product), (region, store), (region, product), (store, product), (region), (store), (product), ()
В этом кубе данных нет ничего чрезмерно сложного: мы просто обобщили данные по каждому сочетанию разрезов. В прошлом дата-инженер создавал похожую таблицу и передавал её аналитику в виде общего представления по продажам.
Кубы данных в OLAP-системах
Как мы показали выше, куб данных можно реализовать в таблице стандартной БД, но их чаще используют в приложении Online Analytical Processing (OLAP).
Кубы — важная характеристика ядра традиционных OLAP-систем. Пожалуй, не будет преувеличением сказать, что OLAP и кубы данных — это в каком-то смысле синонимы.
Краткий исторический экскурс
Сейчас давайте ненадолго вернёмся в прошлое и разберёмся, что такое OLAP-системы и почему их вообще создали.
Сегодня, как и в 1970-х, бизнес-аналитика служит одной и той же цели: стейкхолдеры направляют запросы к данным и обобщают результаты по разным разрезам. К сожалению, десятилетия назад для выполнения этих запросов мог подойти только интерфейс используемых в компании рабочих баз данных SQL — тех самых, которые поддерживали цифровые бизнес-транзакции.
По современным меркам, компьютеры той эпохи работали очень медленно. Выполнять анализ непосредственно в рабочей базе данных было долго и дорого в плане затрат вычислительных ресурсов. Что ещё хуже, это мешало выполнять повседневные операции, для которых базы данных, собственно, и предназначались.
Приход OLAP-систем
В качестве решения этой проблемы разработчики ПО придумали отдельные хранилища, в которые загружали рабочие данные для анализа. Эти специализированные OLAP-системы хранили в предварительно агрегированном виде многомерную информацию, которую инженеры и аналитики называли OLAP-кубами.
Постепенно эти OLAP-системы доросли до полноценных приложений. В них аналитики или стейкхолдеры могли изучать OLAP-кубы, используя специальный синтаксис запросов или графический пользовательский интерфейс. Это позволяло выполнять нескольких функций, характерных для сводных таблиц:
- Roll up: объединить показатели в категории разрезов уровнем выше (город => область).
- Drill Down: разбить обобщённые категории на категории уровнем ниже (область => город).
- Slice and Dice: выбрать сегмент данных из одного или нескольких разрезов.
- Pivot: поменять оси табличного представления.
Если искать в интернете, что такое OLAP-куб, Google будет раз за разом выводить описания в виде трёхмерного изображения куба, который состоит из кубиков поменьше. Суть таких схем — наглядно представить, как вышеописанные функции работают в OLAP-системе и как выглядят сегменты агрегированных данных, созданных пересекающимися разрезами.
Но поскольку этому визуальному представлению не хватает контекста, оно скорее запутывает, чем проясняет дело. Зато теперь, когда мы разобрались с основами, эта схема может нам пригодиться.
OLAP drill up&down en.png со страницы Wikipedia
Вчера и сегодня
С тех пор как разработчики разворачивали кубы данных и OLAP-системы в качестве решения для бизнес-аналитики, технологический ландшафт кардинально изменился. Эффективность обработки данных экспоненциально выросла, а благодаря облачным платформам вроде AWS, GCP и VK Cloud, ещё и существенно подешевела. Кроме того, колоночные хранилища упростили доступ к большому объёму данных при стандартных нагрузках.
Благодаря этим переменам необходимость в кубах и OLAP-системах заметно снизилась.
Сегодня аналитики могут безо всяких проблем на лету агрегировать данные по разным разрезам с помощью платформ типа BigQuery и Snowflake. Да и использование GUI для сведения воедино больших объёмов данных уже не вызывает трудностей. Такие инструменты, как DOMO и PowerBI, позволяют аналитикам с лёгкостью фрагментировать и анализировать данные вдоль и поперёк.
Заключение
Вернёмся к исходному вопросу — так что же такое OLAP-куб? Если очень коротко, это многомерная сводная таблица в OLAP-системе. Если не брать в расчёт особенности технической реализации, она похожа на сводную таблицу Excel.
Команда VK Cloud развивает собственные Big Data-решения. Будем признательны, если вы их протестируете и дадите обратную связь. Для тестирования пользователям при регистрации начисляем 3000 бонусных рублей.
Что такое OLAP и как его использовать
Онлайн-аналитическая обработка данных (OLAP) — это подход к обработке информации, который позволяет пользователям легко и быстро анализировать многомерные данные из разных ракурсов. В основе OLAP лежат концепции многомерных кубов и срезов данных, которые предоставляют сводную информацию о процессах и показателях бизнеса.
Многомерные кубы данных
Многомерные кубы данных — это структуры, которые представляют собой многомерное пространство, в котором данные хранятся и организуются по определенным измерениям. Например, в случае продаж, куб данных может иметь измерения, такие как время, география и тип продукта. Каждое измерение может иметь несколько уровней иерархии, что позволяет анализировать данные на различных уровнях детализации.
Пример многомерного куба данных:
+---------+---------+---------+ | Время | География | Тип продукта | +---------+---------+---------+ | Год | Регион | Категория | | Квартал | Страна | Подкатегория | | Месяц | Город | Продукт | +---------+---------+---------+
Срезы данных
Срезы данных (срезы и выборки) — это подмножества многомерного куба, которые отображают данные по определенным критериям. Срезы позволяют пользователям легко отфильтровать данные и получить нужную информацию. Срезы можно делать по одному или нескольким измерениям, а также комбинировать срезы по разным измерениям.
Пример среза данных по времени и географии:
+---------+---------+ | Время | География | +---------+---------+ | Год | Регион | | Квартал | Страна | +---------+---------+
Аналитик данных: новая работа через 5 месяцев
Получится, даже если у вас нет опыта в ITКак использовать OLAP в аналитике данных
- Выбор инструментов OLAP: Существует множество инструментов OLAP, таких как Microsoft SQL Server Analysis Services, Oracle Essbase и IBM Cognos. Выберите инструмент, который подходит для вашей инфраструктуры и требований.
- Построение кубов данных: Создайте многомерные кубы данных, определяя измерения и меры, которые отражают ключевые показатели бизнеса.
- Анализ данных с помощью срезов: Используйте срезы данных для анализа информации с разных ракурсов и на разных уровнях детализации.
- Внедрение результатов анализа в бизнес-процессы: Примените полученные результаты анализа для принятия обоснованных решений и оптимизации бизнес-процессов.
Успешное использование OLAP в аналитике данных поможет вашей компании принимать более обоснованные решения и улучшать бизнес-процессы на основе точной и актуальной информации.
Пример использования OLAP
Предположим, что вы работаете в компании, занимающейся продажей электроники. Вы хотите проанализировать продажи по регионам и категориям товаров за последний квартал. С помощью OLAP-куба вы можете создать срез данных, который отображает продажи только за этот период и по нужным категориям. После анализа среза вы можете выявить регионы с наибольшими и наименьшими продажами, а также определить самые популярные и непопулярные категории товаров. Эта информация может быть использована для оптимизации маркетинговых стратегий и улучшения бизнес-процессов компании.
При подготовке материала использовались источники:
https://flexberry.github.io/ru/fan_knowage-cube.html
https://habr.com/ru/companies/vk/articles/703508/