Клиент — крупная финтех-компания. Аналитическое хранилище исторически было построено на Google BigQuery. С ростом объемов данных и изменением стратегии компании возникла необходимость переноса аналитики на on-premise / open-source стек (ClickHouse).
Проблемы текущего решения: высокие затраты на облачную инфраструктуру (pay-as-you-go при больших объемах сканирования), зависимость от зарубежного вендора, сложность интеграции с внутренними системами визуализации.
Задача: спроектировать и реализовать бесшовную миграцию данных из BigQuery в ClickHouse с сохранением SLA для бизнес-пользователей и настройкой потоковой передачи данных.
Спроектировал целевую архитектуру на базе open-source стека.
Для оркестрации и управления потоками использовал Apache Airflow. Интеграцию и маршрутизацию данных реализовал через Apache NiFi (включая StreamCommand для сложных трансформаций) в связке с Kafka для буферизации потоковых данных.
Процесс миграции включал:
1. Выгрузку исторических данных из BigQuery и их поэтапную загрузку в ClickHouse.
2. Настройку near-real-time потоков через Kafka для актуализации витрин.
3. Реализацию схемы dual-run для валидации данных (расхождения <0.1%).
4. Настройку кластера ClickHouse (ReplicatedMergeTree, партиционирование, materialized views для ускорения дашбордов).
5. Интеграцию с системой визуализации Tableau для конечных пользователей.
Стек проекта: Google BigQuery, ClickHouse, Apache NiFi, Apache Kafka, Apache Airflow, Tableau, Python, SQL.
• Успешный перенос аналитики с Google BigQuery на ClickHouse без потери данных и простоя для бизнеса.
• Снижение latency OLAP-запросов в 5–8 раз (с 67 до 11 секунд в среднем).
• Существенное сокращение TCO (Total Cost of Ownership) за счёт отказа от облачных тарифов BigQuery.
• Uptime ETL-процессов 99.7% благодаря автоматическому retry и мониторингу в Airflow.
• Время восстановления при сбоях сокращено с 2–4 часов до 15–30 минут.
Стек проекта: Google BigQuery, ClickHouse, Apache NiFi, Apache Kafka, Apache Airflow, Tableau, Python, SQL.