Сбор измененных данных (CDC)

Jan 25 2023
Делает данные доступными быстрее, эффективнее и без ущерба для точности данных. Siddharth Pal DevOps Team, Hike Insights из данных — одна из самых важных частей любого продукта, но когда вы создаете игровое приложение, еще важнее извлечь изменения данных из исходной базы данных и поместить их в хранилище данных. почти в реальном времени.

Делает данные доступными быстрее, эффективнее и без ущерба для точности данных.

Автор Siddharth Pal DevOps Team, Hike

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

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

У нас был интересный вариант использования, когда мы даже начали думать о CDC для всех наших первичных наборов данных в августе 21 года и реализовали его. Мы работали над конвейером CDC более года со всеми последними изменениями программного обеспечения и миграцией исходных данных, которыми я рад поделиться с вами в этом блоге. За это время мы добавили ряд баз данных и перешли на сегментирование баз данных для более важных бизнес-приложений.

Почему мы решили внедрить CDC?

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

Настройка конвейера CDC

Итак, с чего начать, если вы хотите настроить конвейер CDC?

  1. Запустите кластер kafka с минимум 3 узлами.
  2. Загрузите стабильный коннектор debezium, совместимый с вашей версией базы данных, и установите его на серверы брокера или выделенные узлы.
  3. Установите сетевое подключение между подготовленным инфра.
  4. Создайте пользователя только для чтения в исходной базе данных.
  5. МонгоДБ:
  6. MySQL:
    • MySQL:

    Чего мы достигли?

    Переход от традиционного ETL к паровой обработке решает для нас две большие проблемы:

    1. Периодические всплески нагрузки . Большие запросы влияют на задержку и, в конечном счете, на удобство работы пользователей, поэтому мы настроили дополнительный вторичный сервер для планирования пакетных заданий.
    2. Отложенные бизнес-решения : бизнес-решения, основанные на данных, задерживаются из-за нашей частоты опроса.

    Запустите вызов curl, чтобы отслеживать состояние соединителя в средстве мониторинга.

    Следующие шаги

    CDC оказался для нас эффективной платформой, и мы знали, что можем сделать с ней больше.

    В качестве следующего шага мы работаем над следующими способами:

    1. CDC может служить инструментом для резервного копирования данных во избежание потери.
    2. Дальнейшее исследование с использованием инструментов бизнес-аналитики или в качестве входного процесса в конвейер искусственного интеллекта/машинного обучения.