К содержанию
Алексей Чупраков

Кейсы

Основные кейсы с полным разбором и короткие инженерные заметки.

Полные разборы

Инженерные заметки

Короткие заметки без отдельной страницы.

  • Базы и данные · 22.09.2026

    Поузловое обновление ClickHouse без staging

    Обновил два шарда × две реплики с 25.12.4.35 до 26.8.4.11 LTS по одному узлу (порядок 4 → 2 → 3 → 1), после каждого проверяя реплики, очередь репликации и ingestion. Три узла Keeper не менялись; переход между версиями держали настройки совместимости.

    Оговорка: Процедура снижения риска; простой не замерялся.

    • ClickHouse
    • Keeper
    • Replication
  • Базы и данные

    CDC при ограничениях backend

    MySQL → Debezium → Kafka → ClickHouse с Avro и Schema Registry, собственным Java SMT и переходом с self-hosted Kafka на DigitalOcean Managed Kafka, с мониторингом коннекторов.

    Оговорка: errors.tolerance=all держит коннектор в работе, пропуская записи, которые он не смог обработать, — это не гарантия надёжности. ReplacingMergeTree дедуплицирует асинхронно; exactly-once здесь нет.

    • Debezium
    • Kafka
    • Schema Registry
    • ClickHouse
  • Инциденты и восстановление

    Конвертер прошёл тесты и упал в production

    Собственный конвертер Debezium прошёл синтетические тесты, но упал в production: строковые колонки реального binlog MySQL приходили как byte[], а не как ожидаемый String. Вывод: тесты должны проходить реальный путь интеграции и формат данных на проводе, а не только идеальные fixtures.

    Оговорка: Это вывод, а не внедрённое изменение процесса.

    • Debezium
    • Kafka Connect
    • MySQL binlog
  • Базы и данные

    Эксплуатация PostgreSQL в production

    Замена NVMe и RAID с восстановлением, бэкапы в S3, диагностика запросов и cron, чьи повторные GRANT блокировали запросы, — заменён на default privileges.

    Оговорка: Простой при работах с железом не замерялся.

    • PostgreSQL
    • RAID
    • S3
  • Базы и данные · 06.08.2026

    Миграция Tableau Server между ОС

    Перенёс Tableau Server 2024.2 с Debian на Ubuntu 24.04 и Tableau 2025.3.8 через .tsbak; исправил права, public host, ODBC и Ingress; объединил несколько сайтов.

    Оговорка: Простой не записывался.

    • Tableau Server
    • Ubuntu 24.04
    • ODBC
  • Платформа и инфраструктура

    Модернизация эксплуатации Airflow

    Airflow 2.10.4 и 3.x параллельно, в Docker Compose и Kubernetes, с Celery, образами из GitLab, SSO, алертами в Slack, метриками StatsD → Prometheus и dbt через Cosmos.

    Оговорка: HPA масштабирует воркеры в Kubernetes; не все задачи Airflow 3.x работают в Kubernetes.

    • Airflow
    • Kubernetes
    • Celery
    • dbt
  • Платформа и инфраструктура

    Единый SSO на Keycloak и FreeIPA

    OIDC для Airflow, OpenMetadata, Lakekeeper и JupyterHub, отдельные учётные данные для связи сервисов и автоматическая выдача и отзыв доступов.

    • Keycloak
    • FreeIPA
    • OIDC
  • Инциденты и восстановление · 13.08.2026

    Расследование таймаута распределённого запроса

    Заметка о расследовании · не решено

    Code 209 SOCKET_TIMEOUT в распределённом запросе; нагрузка указывала на тяжёлое удалённое чтение system.tables и каталоги баз на движке PostgreSQL.

    Оговорка: Окончательное решение не подтверждено.

    • ClickHouse
    • dbt
    • PostgreSQL engine
  • Инциденты и восстановление

    Заметки о восстановлении bare metal

    Восстановил RAID10 и загрузчик сервера через rescue mode Hetzner; расширил RAID10 под ClickHouse.

    • RAID10
    • Hetzner
    • Linux
  • Платформа и инфраструктура

    Внутренняя автоматизация инфраструктуры

    Ansible с DataGerry как источником истины inventory, Proxmox с Ceph, self-hosted GitLab с Gitaly и LFS, инструменты доступа на Go.

    • Ansible
    • DataGerry
    • Proxmox
    • GitLab