BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс Современная архитектура хранилища данных » Change Data Capture (CDC) — захват изменений данных: как работает, где применяется, какие есть подходы, ошибки и риски

Change Data Capture (CDC) — захват изменений данных: как работает, где применяется, какие есть подходы, ошибки и риски

 

Введение: почему CDC сегодня так важен

Появление и развитие Change Data Capture — технологии захвата изменений данных — стало ответом на очевидные недостатки классической пакетной обработки (ETL). Ещё недавно ночные выгрузки данных были нормой. Данные из оперативных систем извлекались раз в день, проходили через трансформации и загружались в хранилище. Это устраивало всех — пока не появилась потребность в данных "здесь и сейчас".

Мир ускорился. Пользователи хотят видеть обновления в BI в течение минут, иногда — секунд. Системы машинного обучения требуют свежей информации. Компании стремятся уйти от устаревших батчевых подходов, снижая задержки, повышая точность аналитики и ускоряя принятие решений. Именно здесь на сцену выходит CDC — технология, которая позволяет фиксировать каждое изменение в источнике данных и оперативно передавать его в другие системы.

 

Суть технологии CDC

CDC — это способ захвата и передачи изменений, происходящих в базе данных: добавления новых записей, обновления существующих и удаления. В отличие от классических ETL-инструментов, CDC не опрашивает базу данных полностью, а фиксирует только изменения. Это делает его гораздо более производительным, быстрым и подходящим для сценариев с высокой частотой обновлений.

 

Типичные сценарии применения CDC

  1. Инкрементальная загрузка в хранилище данных или lakehouse
    CDC позволяет загружать только изменённые данные, что сокращает объём трафика и повышает скорость загрузки.
  2. Реалтайм-аналитика и отчётность
    Вместо задержки в несколько часов или дней данные поступают в BI-системы почти мгновенно, предоставляя актуальные отчёты.
  3. Репликация между системами
    Например, синхронизация данных между OLTP и аналитической базой (PostgreSQL → ClickHouse), MDM-системами или витринами данных.
  4. Синхронизация в микросервисной архитектуре
    Обновления в одной базе автоматически поступают в другие сервисы или шины событий.
  5. Поддержка SCD (Slowly Changing Dimensions)
    CDC может стать частью обработки медленно изменяющихся измерений в DWH, сохраняя историю изменений.

 

 

Основные подходы к реализации CDC

1. CDC на основе временных меток (Timestamp-based)

Простейший способ реализации — хранить поле с датой последнего обновления. Затем при очередной итерации выбирать все записи, изменённые с момента последней обработки.

 

Преимущества:

  • Простота реализации
  • Не требует специальных прав

 

Недостатки:

  • Зависимость от точности и корректности поля обновления
  • Проблемы с параллельной записью
  • Нет информации об удалениях
  • Возможны пропуски при сбоях

 

Пример:

SELECT * FROM orders WHERE updated_at > '2025-07-29 00:00:00';

 

2. CDC на основе триггеров

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

 

Преимущества:

  • Фиксация всех типов изменений: INSERT, UPDATE, DELETE
  • Гибкость: можно сохранять подробную историю, использовать логику на уровне бизнес-правил

 

Недостатки:

  • Влияние на производительность
  • Необходимо вмешательство в схему базы данных
  • Поддержка при миграциях может быть затруднена

 

Пример:
Триггер сохраняет изменения в таблицу orders_audit.

 

3. CDC на основе сравнения снимков (Snapshot-based)

Создаются полные копии таблицы в определённый момент времени. Затем с помощью сравнения определяется, какие записи изменились.

 

Преимущества:

  • Не требует дополнительных настроек на источнике
  • Универсальность

 

Недостатки:

  • Высокая нагрузка на источник
  • Задержки
  • Неэффективен при большом объёме данных

 

Пример:
Сравнение таблицы orders_snapshot_1 и orders_snapshot_2.

 

4. CDC на основе журналов транзакций (Log-based CDC)

Самый надёжный и масштабируемый способ. Изменения фиксируются в транзакционном журнале базы данных (WAL — Write Ahead Log в PostgreSQL, binlog в MySQL, redo log в Oracle), а затем считываются внешними системами без воздействия на производственные таблицы.

 

Преимущества:

  • Минимальная нагрузка на базу
  • Высокая точность и надёжность
  • Поддержка удаления и порядка операций
  • Возможность восстановления истории

 

Недостатки:

  • Требуются специальные права доступа к логам
  • Не все базы данных одинаково поддерживают этот механизм
  • Необходимость в буферах, схемах ретрансляции, согласовании форматов

 

Примеры реализаций:

  • Debezium (работает с Kafka, поддерживает PostgreSQL, MySQL, MongoDB, SQL Server и др.)
  • Oracle GoldenGate
  • SQL Server CDC
  • AWS DMS
  • StreamSets, Hevo, Qlik Replicate

 

Архитектура CDC-потока

Пример логической схемы CDC-обработки:

  1. Источник данных: OLTP-система (PostgreSQL, Oracle, MySQL)
  2. CDC-коннектор: Debezium, Oracle GoldenGate или Kafka Connect
  3. Шина передачи: Apache Kafka, Amazon Kinesis, RabbitMQ
  4. Обработка: Apache Flink, Spark Structured Streaming, NiFi
  5. Хранилище: ClickHouse, Snowflake, BigQuery, DWH
  6. Консьюмеры: BI-инструменты, Data Lake, ML-модели

 

CDC в связке с Data Lakehouse и DWH

Современные Lakehouse-подходы требуют постоянной подпитки новыми данными. CDC становится идеальным способом доставки изменений в Iceberg, Delta Lake или Hudi-таблицы, особенно при использовании Apache Spark и Flink.

 

Пример:
CDC поток из PostgreSQL через Debezium → Kafka → Spark Structured Streaming → Iceberg таблица в S3 → аналитика в Trino

 

Реализации в различных системах

PostgreSQL:

  • Поддержка логов через logical replication
  • Используются плагины: pgoutput, wal2json, test_decoding
  • Совместим с Debezium, StreamSets и Kafka Connect

 

MySQL:

  • Считывание binlog
  • Требуется row формат

 

SQL Server:

  • Встроенная поддержка CDC и Change Tracking
  • Можно настраивать через T-SQL

 

Oracle:

  • Oracle GoldenGate как основное решение
  • Возможность считывания redo log

 

ClickHouse, Trino:

  • Не являются источниками CDC, но прекрасно работают как приёмники

 

Проблемы и ошибки, которых нужно избегать

  1. Неучёт удалённых строк
    Некоторые CDC-инструменты (особенно timestamp-based) не фиксируют удаления.
  2. Нарушение порядка событий
    При параллельной обработке возможны проблемы с idempotency и нарушением бизнес-логики.
  3. Ограниченные возможности восстановления
    Если сломался коннектор и потерял offset, восстановление без сохранённого состояния невозможно.
  4. Неполные данные в логах
    Например, в PostgreSQL лог может содержать только изменённые поля (partial update), а не всю строку.
  5. Сбои при изменении схемы таблицы
    Добавление новых колонок или переименование могут привести к сбоям в CDC.
  6. Задержки в обработке
    При высоком потоке событий важно отслеживать lag и обеспечивать горизонтальное масштабирование.

 

Как правильно внедрять CDC

Этап 1: Оценка источника данных

  • Какие события нужно фиксировать: insert, update, delete?
  • Какой формат логов доступен?
  • Есть ли поля с временными метками?

 

Этап 2: Выбор инструмента

  • Поддерживает ли ваша СУБД лог-базированный CDC?
  • Подходит ли Debezium/Kafka для ваших задач?
  • Нужна ли поддержка SLA и SLA-репликации?

 

Этап 3: Тестирование на нагрузку

  • Протестируйте поток изменений: 1000, 10000, 100000 строк в час
  • Измерьте lag, нагрузку на сеть, потребление ресурсов

 

Этап 4: Построение resilient-архитектуры

  • Используйте буферы и очереди (Kafka, Pulsar)
  • Храните offset и метаинформацию об обработке
  • Настройте monitoring и alerting

 

Этап 5: Обработка и применение изменений

  • Применяйте события с учетом порядка
  • Используйте upsert или SCD-обработку
  • Обеспечьте соответствие GDPR и 152-ФЗ при работе с персональными данными

 

Роль CDC в современной архитектуре данных

CDC — это не просто технология, а фундаментальный компонент современной DataOps-экосистемы. Он меняет подход к интеграции данных, позволяя перейти от периодической загрузки к постоянной синхронизации и аналитике в реальном времени.

Для многих организаций CDC стал основой гибридной архитектуры между lakehouse, DWH, микросервисами и ML-системами. Он позволяет строить масштабируемые и устойчивые пайплайны данных, которые быстро адаптируются к изменяющимся бизнес-требованиям.

Правильно реализованный CDC обеспечивает:

  • более свежие данные в отчетах
  • повышение точности прогнозов
  • синхронизацию между системами
  • снижение нагрузки на продакшн

 

И хотя реализация CDC может быть нетривиальной, особенно при лог-базированном подходе, результат — это уверенность в данных и способность бизнеса действовать быстрее конкурентов.

 

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Эволюция архитектур данных: от DWH к Data Mesh
Следующая статья →
Федеративное обучение и конфиденциальный анализ данных: теория, практика и вызовы внедрения

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • Российский филиал одного их ведущих мировых производителей и дистрибьютеров косметики Estee Lauder Companies Inc. выбрал аналитическую платформу Loginom для предиктивной аналитики продаж как в офлайн-, так и в онлайн-канале.

  • «Балтийский лизинг» — первая компания в России, получившая лицензию № 0001 от Министерства экономики РФ на лизинговую деятельность, лицензия зарегистрирована 2 сентября 1996 года. «Балтийский лизинг» работает на российском рынке 33 года: компания представлена 79 филиалами по всей стране, сегодня в штате более 1300 сотрудников. За последние десять лет компания профинансировала имущество для 80 000 клиентов.

  • "Холодильник.ру" - крупнейший в России интернет-магазин бытовой техники и электроники. Компания была основана в 2003 году и за почти 20 лет работы завоевала лидирующие позиции на рынке онлайн ритейла. По данным исследовательского агентства Data Insight, "Холодильник.ру" входит в top-10 крупнейших интернет-магазинов России в категории "электроника и бытовая техника". Компания имеет развитую логистическую инфраструктуру и ежедневно осуществляет более 3500 доставок заказов по всей стране.

  • КАМИ – компания-лидер по поставкам тяжёлых станков в России, занимающаяся продажей и обслуживанием оборудования для обработки металла и дерева, изготовления мебели и не только. На сегодняшний день в компании работают более 1300 человек, запущено 10 обучающих центров, в продаже более 7000 единиц техники. 

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.