Было
- Одно приложение Qlik Sense, когда-то сделанное сторонним интегратором. Оно долго не поддерживалось и правилось внутренними сотрудниками.
- Данные госзакупок загружались Python-скриптом, а разбор большого количества XML-файлов выполнялся прямо в скрипте приложения Qlik Sense.
- Данные 1С (продажи, себестоимость, заказы) подключались через Excel-выгрузки из регистров.
- Вся загрузка и обработка шли в одном приложении, поэтому ежедневное обновление занимало около 10 часов.
- Добавлять новые сущности в аналитику было сложно и долго.
Что сделали
- Определили, что главная проблема в подходе к загрузке данных.
- Развернули Airflow и dbt (через Cosmos) и настроили инкрементальную загрузку данных из госзакупок.
- Подключили 1С через собственный 1С-Коннектор и встроили его в контур Airflow + dbt.
- Построили компактное, но функциональное хранилище данных: dbt формирует готовые справочники и витрины.
- Разделили Qlik Sense на два приложения:
- Extract загружает данные из хранилища и сохраняет их в QVD;
- аналитическое приложение берёт данные только из QVD-слоя Extract.
- Визуальную часть приложения оставили почти без изменений, так что пользователям не пришлось переучиваться.
- Выстроили процессы разработки и поддержки системы.
- Обучили внутреннюю команду аналитиков работе с новой архитектурой: Airflow, dbt, слоями Extract и аналитики в Qlik Sense.
- Передали команде документацию и материалы для самостоятельной поддержки и развития системы.
Результат
Ежедневная загрузка данных: 10 ч
2 чв 5 раз быстрее
Excel-выгрузки из 1С
→ Автоматическое подключение через 1С-Коннектор
Полная перезагрузка XML госзакупок
→ Инкрементальная загрузка
1 монолитное приложение
→ Многослойная архитектура: DWH → Extract (QVD) → аналитика
Скорость разработки новой аналитики
→ Выросла в разы
Зависимость от внешнего интегратора
→ Самостоятельная поддержка и развитие силами обученной внутренней команды
Итог
Вместо Python-скрипта и одного перегруженного приложения появилось больше компонентов, но это осознанное решение. Компания получила расширяемую и автоматически обновляемую информационно-аналитическую систему. Новые сущности из 1С и госзакупок теперь добавляются значительно проще, а данные к началу рабочего дня готовы в 5 раз быстрее. Мы выстроили процессы, обучили местную команду аналитиков и передали ей материалы. Поэтому система не повторит судьбу прежнего приложения, которое годами правилось без поддержки: компания поддерживает и развивает её самостоятельно.