Проектирование хранилища данных (DWH) для крупной ИТ-компании
Мы создали аналитическое окружение для автоматизации сбора, обработки и визуализации информации — спроектировали хранилище данных (DWH), настроили ETL-процесы в Airflow и разработали дашборды в Superset.
Клиент
Крупная ИТ-компания.
Задача
Для автоматизации внутренних рабочих процессов заказчику необходимо создать аналитическое окружение — комплекс программных инструментов, которые упростят сбор, обработку и визуализацию данных.
Бизнес задачи
- 
	Получить инструмент для оперативного сбора и анализа данных 
- 
	Создать единый источник достоверных данных для всех пользователей. 
- 
	Обучить пользователей работе в системах аналитики данных. 
Технические задачи
- 
	Проектирование масштабируемой DWH-архитектуры 
- 
	Автоматизация загрузки и трансформации данных из разных источников 
- 
	Обеспечение безопасности данных через ролевую модель доступа 
- 
	Оптимизация производительности запросов к большим объемам данных 
Решение
1. Анализ и проектирование
За 3 недели мы проанализировали инфраструктуру других компаний на рынке, провели поиск информации о необходимых ИТ-продуктах в системе и изучили рынок наиболее эффективных решений. На основе собранных данных для развертывания необходимой инфраструктуры подготовили техническое задание для DevOps-инженеров.
Подобрали необходимые решения: систему управления базами данных (СУБД), ETL-инструменты, BI-системы и дополнительные программные продукты. Для хранения исторических данных решили использовать Greenplum, а для оперативной аналитики — ClickHouse.
На данный момент ClickHouse — наиболее быстрая аналитическая система, которая позволяет сокращать время выполнения аналитических запросов в несколько раз.
2. Разработка ETL-процессов
Для извлечения данных из различных источников и их преобразования в пригодный для аналитики формат (а также загрузки вцелевую систему) разработали ETL-процессы (Extract, Transform, Load).
В течение следующих 6 недель мы написали в Airflow 15+ DAG (Directed Acyclic Graph — скрипты или коды, описывающие логику и порядок извлечения, преобразования, выгрузки данных), для сложных трансформаций реализовали обработку данных через Python (Pandas), а также настроили мониторинг и уведомления при сбоях.
Автоматизация с использованием ETL-процессов позволила на 100% снизить количество ошибок, возникающих при ручной обработке данных.
3. Визуализация
Следующие 4 недели занимались разработкой дашбордов по ключевым метрикам в Superset и их редактированием.
4. Внедрение
В течение 2 недель мы провели 4 обучающих вебинара для 20+ сотрудников и настроили ролевой доступ к системе.
Результат
Клиент получил готовую аналитическую систему, предназначенную для работы с данными разных форматов и из разных источников.
Были оказаны услуги:
- 
	Сбор требований к аналитической платформе 
- 
	Проектирование архитектуры DWH (Greenplum, ClickHouse) 
- 
	Разработка ETL-пайплайнов в Airflow и написание DAG на Python 
- 
	Создание витрин данных и оптимизация SQL-запросов 
- 
	Настройка интеграции с внешними API 
- 
	Разработка интерактивных дашбордов в Superset 
- 
	Внедрение системы контроля версий (GitLab) 
- 
	Обучение команды работе с новыми инструментами 
Команда SimbirSoft на проекте состояла из 11 человек:
- 6 Data-аналитиков
- 
	2 системных аналитика 
- 
	2 DWH-аналитика 
- 
	1 DevOps-инженер 
Технологии
- Базы данных: Greenplum, ClickHouse
- ETL: Airflow (Python), Pandas
- Визуализация: Superset
- Инфраструктура: Docker, k9s
- Контроль версий: GitLab
- IDE: PyCharm, DBeaver