Назад к кейсам

ERP · BI / DWH / Data Analyst / Systems Analyst

ClickHouse / Evotor Analytics Migration

ETL pipeline для переноса аналитики из MS SQL/Evotor в ClickHouse с discovery, DDL, загрузкой, валидацией и sizing.

ClickHousePythonMS SQLDockerEvotor API

00 · CASE IN 30 SECONDS

Кейс за 30 секунд

Бизнес-проблема

Аналитические данные нужно перенести в ClickHouse без потери структуры, качества и производительности.

Что сделал

Собрал pipeline discovery → map → extract → load → validate и инфраструктурный контур ClickHouse.

Артефакты

Architecture · Data Model · Validation · Runbook

Результат

Появился повторяемый путь миграции и проверки качества данных

01 · КОНТЕКСТ

Бизнес-контекст

Проект поддерживает аналитику компьютерных клубов и миграцию исторических данных в аналитическое хранилище.

02 · ПРОБЛЕМА

Проблема

Аналитические данные нужно перенести в ClickHouse без потери структуры, качества и производительности.

03 · РОЛЬ

Что я сделал

Собрал pipeline discovery → map → extract → load → validate и инфраструктурный контур ClickHouse.

04 · БИЗНЕС-ПРАВИЛА

Бизнес-логика и правила

  • Схема источника сначала снимается автоматически, затем маппится в ClickHouse-типы.
  • Загрузка идет чанками и хранит состояние выполнения.
  • Валидация сравнивает строки, суммы и аномалии между источником и приемником.

05 · АРХИТЕКТУРА

Архитектура данных

Источники

  • MS SQL Server
  • Evotor API

Загрузка

  • metadata discovery
  • chunk extract
  • batch load

Хранилище

  • ClickHouse tables
  • ETL metadata
  • state checkpoints

Витрина

  • benchmarks
  • validation logs
  • hardware sizing report
ИсточникиMS SQL ServerEvotor API
Загрузкаmetadata discoverychunk extract · batch load
Модель данныхClickHouse tablesETL metadata · state checkpoints
Dashboard / решениеbenchmarksvalidation logs · hardware sizing report
Контроль качествасверки · допуски · UAT · владельцы исключений

06 · МОДЕЛЬ ДАННЫХ

Модель данных / витрины

etl_metadatametadataсостояние загрузок и контроль выполнения
generated ddlschemaтаблицы ClickHouse на базе discovered metadata
analytics tablesmartцелевые таблицы для dashboard и отчетов

07 · МЕТОДОЛОГИЯ

Методология, процедуры, модель и эффект

Методология

  • Построил migration factory: discovery схемы, маппинг типов, генерация DDL, загрузка чанками и контроль качества.
  • Развел техническую миграцию и аналитические витрины, чтобы перенос не стал просто копированием таблиц.
  • Перед переключением проверил производительность и свежесть данных как отдельные quality gates.

Что перенесено в систему

  • Ручной перенос таблиц заменен на повторяемый pipeline с сохранением состояния чанков.
  • Для критичных таблиц добавлены row count, numeric checksum и freshness checks.
  • Сформирован список блокеров cutover: расхождения сумм, медленные запросы, неполные группы.

Модель и критерии

  • Автоматический discovery строит карту источника и снижает риск ручной ошибки в DDL.
  • Validation board показывает качество загрузки по каждому gate: строки, суммы, скорость, свежесть.
  • Sizing-логика оценивает, выдержит ли ClickHouse будущий рост аналитической нагрузки.

Измеримый эффект

  • Появился повторяемый путь миграции вместо разовой ручной операции.
  • Ошибки качества обнаруживаются до переключения аналитики на новый слой.
  • Запросы получили измеримый performance baseline для дальнейшего роста.

08 · ДЕМО DASHBOARD

Рабочий dashboard

У каждого кейса отдельный экран на mock data. Это не одинаковый шаблон с разными подписями, а презентационный слой поверх реальной логики проекта: метрики, контрольные правила, риски и управленческие действия.

Что должен решить руководитель?

Dashboard нужен не для красоты, а для решения

  • Какое управленческое решение должен поддержать dashboard?
  • Какие правила учета и контроля защищают расчет?
  • Какие исключения требуют владельца и SLA?
  • Что должно быть принято через UAT перед использованием?

CLICKHOUSE MIGRATION

ClickHouse / Evotor migration control room

Миграционный монитор: discovery, mapping, загрузка, checksum, row count validation и скорость аналитических запросов.

только mock data · без закрытых данных
Таблиц описано128100%
Строк загружено48,6 млн+6 батчей
Checksum pass99,4%6 exceptions
P95 запрос420 ms-38%
Чанки с состоянием312можно перезапустить
Блокеры переключения2не в прод

Этапы миграции

Снятие схемы128 таблицОК
Маппинг128 описаноОК
Загрузка48,6 млнОК
Проверка99,4%Контроль

Строки и ошибки по батчам

B1B2B3B4B5B6

Панель проверок

ПроверкаФактДопускСтатусДействие
Количество строк48 612 0180 строкОКготово
Контрольные суммы99,4%99,8%Контрольразобрать 6 групп
Скорость запросов420 ms< 800 msОКготово
Свежесть данных06:50до 08:00ОКготово

09 · АРТЕФАКТЫ

Артефакты

Architecture

Схема источников, загрузки, модели данных, контроля качества и презентационного слоя.

Row count validation после загрузки.
Data Model

Сущности, факты, справочники и расчетные слои, по которым можно принять результат.

Row count validation после загрузки.
Validation

Контроль строк, сумм, freshness, checksum и исключений до передачи результата.

Row count validation после загрузки.
Runbook

Порядок запуска, проверки, диагностики и передачи процесса владельцу.

Row count validation после загрузки.

10 · ВАЛИДАЦИЯ

Подход к валидации

  • Row count validation после загрузки.
  • Checksum validation для критичных полей.
  • Benchmark query suite для оценки производительности.
  • Hardware sizing report до роста объема.

11 · БИЗНЕС-ИМПАКТ

Бизнес-импакт

Появился повторяемый путь миграции и проверки качества данных

12 · ВЫВОДЫ

Выводы и улучшения

  • Discovery и DDL generation снижают ручные ошибки миграции.
  • Validation должна быть частью pipeline, а не отдельной ручной задачей.
  • Sizing полезен до продового роста нагрузки.