Я создаю конвейер для импорта данных таблицы из одной базы данных в другую, используя apache-kafka и apache-kafka-connect. Я не могу использовать log-based CDC
(и такие замечательные функции, как debezium), поэтому я должен использовать query-based CDC
и JDBC Source Connector
.
Для импорта из Kafka в целевую базу данных. Этот коннектор поддерживает удаление:
Запись со значением null считается событием-захоронением и приводит к удалению соответствующей строки в целевой таблице.
Таким образом, если бы я использовал Debezium
, я мог бы использовать параметр tombstones.on.delete
для создания надгробий, однако в случае подхода CDC на основе запросов мне нужно использовать специальный столбец для отметки удаленных строк.
Есть ли какое-либо решение для преобразования сообщений (представляющих «обратимое удаление») в события захоронения (или, другими словами, для установки значения таких сообщений равным нулю)? Возможно, я мог бы использовать какой-нибудь условный Kafka Connect SMT или что-то еще ?
В целом, стоит ли превращать "мягкие" удаления в реальные?
Заранее спасибо!
Похожие вопросы: