Мигрируем с Qlik: как создать надежное хранилище для ваших данных

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Последние 12 месяцев много обсуждается тема миграции с ИТ-систем, которые оказались недоступны в России. Во всех компонентах ИТ-инфраструктуры появились критические зоны, которые раньше закрывались международными продуктами и которые нужно срочно переводить на работающие платформы. Не исключением стала и область бизнес-аналитики. Иностранные BI-системы ушли с российского рынка и компании начали интересоваться, на что можно перенести свою аналитическую отчетность.

Меня зовут Александр Гончар и работаю в консалтинговой компании A2 Consulting и для нас тема миграции с зарубежных BI-решений не является новой. За последние пять лет мы реализовали десяток проектов, в которых осуществляли миграцию из аналитических платформ в другие решения, прежде всего, в части хранилищ данных (ХД). Расскажу сегодня об опыте миграции с такого известного BI-инструмента, как Qlik.

Зачем мигрировать с Qlik?

Актуальность миграции данных с платформ QlikView и Qlik Sense, в которых основные данные хранятся в файловом хранилище в виде QVD-файлов, а весь ETL выполняется средствами Qlik, сохранялась из-за нескольких факторов.

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

Для реализации этой задачи данные должны лежать в отдельном хранилище, а не в системе бизнес-аналитики. Поэтому мы часть данных выгружали из Qlik в хранилище, а затем постепенно выносили их все больше и больше. При этом QVD-файлы в системе остаются, но используются только для последнего слоя, витрины данных.

Дополнительно, ETL выполняется другими инструментами, например, Python, а оркестрация данных – AirFlow. Теперь данными из ХД может пользовать не только QlikView/Qlik Sense, но и другие информационные системы.

Вторая причина того, что мы начали организовывать ХД отдельно от Qlik, связана с бурным развитием Microsoft Power BI (PBI). У многих заказчиков вставал вопрос о миграции с Qlik на Power BI или с дополнением существующей бизнес-аналитики еще и отчетами в PBI. Это связано с тем, что у компаний в подписку Microsoft обычно включается большое количество лицензий на PBI и это хороший повод для того, чтобы расширить количество пользователей системы бизнес-аналитики, не увеличивая число лицензий.

При миграции хранилища в этом случае мы часть данных выносили в Microsoft Azure и обрабатывали их MS SQL Server либо Synapse. Данные шли и в Qlik, и в PBI. Новые пользователи работали с более простыми отчетами, но количество пользователей росло.
Следующая причина популярности миграции ХД из систем Qlik – это рост количества приложений и нагрузки на сервер BI-системы. Традиционно по утрам пользователи сталкивались с пиком нагрузки обновления данных, и вся система бизнес-аналитики начинала тормозить. Логичным шагом было вынести хранилище, в котором данные в том числе и обновляются, в другой инструмент.

Как мигрировать?

Первый шаг, с которого надо начинать проекты по миграции, это выбрать формат: экспресс-миграция или создание полноценной новой BI-системы. Экспресс-миграция означает, что мы выбираем самый простой инструмент, копируем в него данные из Qlik, а ETL и ХД реализуем на технологиях open source. Цель такого проекта – обезопасить свою BI-систему, в условиях, когда ее могут отключить, например, и снизить нагрузку на Qlik.

Полноценное создание BI-решения предполагает более длительный подготовительный этап проектирования системы в формате Data World. В связи с этим нужно будет сделать не просто ETL и ХД, а разработать полноценное хранилище и далее его наполнять данными.

А что на практике?

Разберем несколько реальных проектов.

Игрок рынка eCommerce использовал BI-систему QlikView для аналитики по продажам, финансам, остаткам и закупкам. Кроме 50 пользователей QlikView маркетологи компании использовали Tableau и для них требовалось построить хранилище данных на Snowflake. Параллельно группы data scientist-ов компании испытывала трудности с неудобной выгрузкой данных из Qlik через Excel.

Наше решение включало в себя два этапа, первый из которых занял всего 3-4 недели, а второй около 3 месяцев. Мы создали базу в MySQL, с помощью Python вынесли туда ETL, обработку, QVD-файлы и всю их цепочку преобразования – слой выгрузки, хранения и конечные витрины для каждого приложения, сделав отдельные SQL схемы под каждое приложение.

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

В результате компания сэкономила на стоимости владения Snowflake и ускорила работу BI-систем за разгрузки QlikView.

Еще один проект мы реализовали в розничной сети. Ритейлер работал одновременно с QlikView и Qlik Sense, у которых были общие QVD файлы. ETL и подготовка QVD-файлов реализовывалась на QlikView, а визуализация - в Qlik Sense. В будущем сеть планировала полную миграцию на Qlik Sense. Объем данных постоянно рос, росло и количество пользователей, а ИТ-отдел устал от постоянной необходимости увеличивать мощности.
Мы предложили альтернативное решение. Чтобы не переносить данные из QlikView в Qlik Sense, мы создали data lake на Greenplum. Из этой среды обе BI-системы стали брать данные. Таким образом была снижена нагрузка на ночную работу систем и ускорена работа приложений за счет предварительных расчетов, которые ведутся в ХД.

Через год сеть начала полноценный проект по внедрению ХД по модели Data World и выяснилось, что значительная часть работ уже сделана, так как создан data lake. А в прошлом году этот же ритейлер всего за три месяца смог мигрировать полностью на другую BI-систему.

В третьем случае крупный дистрибутор столкнулся с ситуацией, когда через 30 дней он терял доступ к Qlik Sense. В системе работали 100 пользователей и была реализована аналитика по продажам и управлению дебиторской задолженностью. Причем данные для Qlik Sense собирались из систем 1С из различных филиалов, расположенных в разных городах.

Здесь мы пошли по схеме экспресс-миграции. В течение двух недель мы вынесли основной ETL и QVD-файлы в отдельную базу данных на PostgreSQL, настроили обновление данных с помощью AirFlow и таким образом получили копию данных, которые были в Qlik Sense в отдельной базе. Далее мы сохранили технические задания по всем расчетам и полное описание демоверсии.

За это время ИТ-служба дистрибутора нашла BI-систему, в которой было решено работать в дальнейшем. В течение трех недель мы повторили аналитику для продаж в ней, а затем в спокойном режиме мигрировали другие приложения.

Завершу свой рассказ кейсом клиента, у которой хранилище было реализовано на AWS, а QlikView использовался для визуализации данных. При этом cервер Qlik был зашифрован и было отключено его бэкапирование. Пришлось в экспресс-режиме за несколько недель перерабатывать все приложения. Но так как в Qlik была только визуализация, нам удалось оперативно все скопировать.

Неужели проекты по миграции с Qlik так просты?

С одной стороны, да. Но с другой, в них есть ряд сложностей. И это не развертывание ХД, хотя этот процесс может быть трудоемким или длительным. Важным моментом при реализации таких проектов является понимание специфики технологии Qlik. Из-за нее часть процессов необходимо проектировать по-другому - например, модели данных и работу с правами доступа.

Важным фактором является запуск проекта миграции и обучение пользователей работе с новой системой, так как логика анализа и работы поменяется. Важно заранее продумать визуализацию – будет ли это интерфейс новой BI-системы от вендора или вы готовы дописывать собственную визуализацию на JS.

Еще один вопрос связан с выбором конкретной технологии - open source или проприетарного решения. Здесь выбор зависит от текущей инфраструктуры компании – если кто-то работает на технологиях Microsoft, логичнее использовать программные компоненты этого вендора. Но безусловно текущая ситуация в России заставляет все чаще делать выбор в пользу платформ с открытым кодом.

Логика бизнес-пользователя Qlik в self-service и цепочках анализа отличается от возможностей текущих BI-инструментов – российских или других. Но мы понимаем, в чем именно заключаются эти отличия и готовы делиться этими знаниями.

p.s. Отдельная тема - это миграция Qlik NPrinting, но об этом я расскажу в следующей статье.

Источник: https://habr.com/ru/articles/732734/


Интересные статьи

Интересные статьи

Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вт...
Хороший ли вы водитель? На такой вопрос не всегда дается объективный ответ. Один из способов проанализировать это — узнать мнение пассажиров, едущих с вами, или просто посчитать штрафы за превышение с...
Весь телеком-бизнес основан на данных, и Билайн не исключение. Данные генерируются как внутри, так и снаружи: в OSS-системах (события на оборудовании, сетевой трафик), в ...
В рамках проекта Фото-Географического Атласа России (photogeomap.ru) мы собрали ряд фотографий различных ландшафтов страны. Многие из них сделаны в достаточно труднодосту...
Небольшая заметка о встраиваемой key-value БД под названием Coffer, написанной на Golang. Если совсем коротко: в остановленном состоянии БД данные лежат на диске, при запуске данные копируются в ...