Передача данных в эндпоинт-приемник Apache Kafka®
С помощью сервиса Yandex Data Transfer вы можете переносить данные в очередь Apache Kafka® и реализовывать различные сценарии обработки и трансформации данных. Для реализации трансфера:
- Ознакомьтесь с возможными сценариями передачи данных.
- Настройте один из поддерживаемых источников данных.
- Настройте эндпоинт-приемник в Yandex Data Transfer.
- Создайте и запустите трансфер.
- Выполняйте необходимые действия по работе с базой и контролируйте трансфер.
- При возникновении проблем, воспользуйтесь готовыми решениями по их устранению.
Сценарии передачи данных в Apache Kafka®
-
Миграция — перенос данных из одного хранилища в другое, часто, перенос базы в облако из устаревших локальных баз в управляемые облачные.
Отдельной задачей миграции является зеркалирование данных между очередями:
-
Захват изменений данных — это процесс отслеживания изменений в базе данных и поставка этих изменений потребителям. Применяется для приложений, которые чувствительны к изменению данных в реальном времени.
Подробное описание возможных сценариев передачи данных в Yandex Data Transfer см. в разделе Практические руководства.
Настройка источника данных
Настройте один из поддерживаемых источников данных:
Полный список поддерживаемых источников и приемников в Yandex Data Transfer см. в разделе Доступные трансферы.
Настройка эндпоинта-приемника Apache Kafka®
При создании или изменении эндпоинта вы можете задать:
- Настройки подключения к кластеру Yandex Managed Service for Apache Kafka® или пользовательской инсталляции и настройки сериализации, в т. ч. на базе виртуальных машин Yandex Compute Cloud. Это обязательные параметры.
- Настройки топика Apache Kafka.
Кластер Managed Service for Apache Kafka®
Важно
Для создания или редактирования эндпоинта управляемой базы данных вам потребуется роль managed-kafka.viewer
или примитивная роль viewer
, выданная на каталог кластера этой управляемой базы данных.
Подключение к БД с указанием идентификатора кластера в Yandex Cloud.
-
Кластер Managed Service for Apache Kafka — выберите кластер, к которому необходимо подключиться.
-
Аутентификация — выберите тип:
SASL
илиБез аутентификации
.При выборе значения
SASL
:- Имя пользователя — укажите имя учетной записи, от имени которой сервис Data Transfer будет подключаться к топику.
- Пароль — укажите пароль учетной записи.
-
Группы безопасности — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.
Это позволит применить к ВМ и кластерам в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и кластеров. Подробнее см. в разделе Сеть в Yandex Data Transfer.
Пользовательская инсталляция
Подключение к БД с явным указанием сетевых адресов.
-
URL-адреса брокеров — укажите IP-адреса или FQDN хостов-брокеров.
Если номер порта Apache Kafka® отличается от стандартного, укажите его через двоеточие после имени хоста:
<IP-адрес_или_FQDN_хоста-брокера>:<номер_порта>
-
SSL — использовать шифрование для защиты соединения.
-
PEM-сертификат — если требуется шифрование передаваемых данных, например для соответствия требованиям PCI DSS
, загрузите файл сертификата или добавьте его содержимое в текстовом виде.Сетевой интерфейс для эндпоинта — выберите или создайте подсеть в нужной зоне доступности.
Если значение в этом поле задано для обоих эндпоинтов, то обе подсети должны быть размещены в одной зоне доступности.
-
Аутентификация — выберите тип:
SASL
илиБез аутентификации
.При выборе значения
SASL
:- Пользователь — укажите имя учетной записи, от имени которой сервис Data Transfer будет подключаться к топику.
- Пароль — укажите пароль учетной записи.
- Механизм — выберите механизм хеширования: SHA 256 или SHA 512.
-
Группы безопасности — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.
Это позволит применить к ВМ и кластерам в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и кластеров. Подробнее см. в разделе Сеть в Yandex Data Transfer.
Настройки топика Apache Kafka®
-
Топик:
-
Полное имя топика — укажите имя топика, в который будут отправляться сообщения. Выберите Сохранять порядок транзакций, чтобы не разбивать поток событий на независимые очереди по таблицам.
-
Префикс топика — укажите префикс топика, аналог настройки
Debezium database.server.name
. Сообщения будут отправляться в топик с именем<префикс_топика>.<схема>.<имя_таблицы>
.
-
Yandex Data Transfer поддерживает CDC-режим для трансферов из баз данных PostgreSQL, MySQL и YDB в Apache Kafka® и Yandex Data Streams. При этом данные в приемник попадают в формате Debezium. Подробнее о CDC-режиме см. в разделе Захват изменения данных.
Примечание
В YDB CDC-режим поддерживается, начиная с версии 22.5 и выше.
Настройки сериализации
-
Настройки сериализации — выберите тип сериализации:
Auto
илиDebezium
.- Настройки сериализации Debezium — укажите параметры сериализации Debezium.
Дополнительные настройки
Вы можете указать параметры конфигурации топика
Укажите параметр и одно из его допустимых значений: например, cleanup.policy
и compact
.
После настройки источника и приемника данных создайте и запустите трансфер.