newsare.net
Всем привет, меня зовут Игорь Горбенко, и я системный аналитик в компании М2.Отчёты, которые обновляются раз в сутки, хорошо подходят для стратПочему ночных загрузок стало недостаточно: опыт внедрения CDC в М2
Всем привет, меня зовут Игорь Горбенко, и я системный аналитик в компании М2.Отчёты, которые обновляются раз в сутки, хорошо подходят для стратегической аналитики. Но в какой-то момент бизнесу становится важно понимать, что происходит в течение дня, а не только по итогам ночной загрузки.В М2 мы столкнулись с этим, когда от продуктовых команд и службы поддержки начали приходить запросы на внутридневную отчётность и почти real-time метрики. Наш основной подход — ежедневная батчевая загрузка данных — перестал закрывать такие сценарии, и нам понадобился другой способ работы с изменениями в продуктовых базах.В этой статье я расскажу, как мы внедряли Change Data Capture (CDC) с использованием Apache Flink, какие задачи это помогло решить, с какими ограничениями мы столкнулись и почему CDC — полезный, но не универсальный инструмент.CDC и Apache Flink: кратко о технологии и нашем подходеДавайте начнем разбираться. Некоторые из вас наверняка знакомы с понятием CDC, Change Data Capture — техника захвата изменений в базах данных. Для контекста стоит отметить Apache Flink — движок для загрузки и обработки батчей и стриминговых данных в реальном времени. В статье речь пойдет про Flink CDC — фреймворк с открытым исходным кодом для отслеживания изменений данных в базах данных в реальном времени.В проектах нашего отдела в М2 основной метод загрузки — это ежедневное ночноекопирование продуктовых баз данных (PostgreSQL, MongoDB) в аналитическое хранилище на базе Apache Iceberg и последующая их обработка с помощью движка Trino. Читать далее Read more











