Я в настоящее время нахожусь в проекте, который использует CDC (Change Data Capture) для баз данных RDBMS.
В моем случае, CDC записывает в одну тему для одной таблицы в базе данных, и количество разделов равнофактически 1 (чтобы убедиться, что все сообщения идут по порядку).
К сожалению, да, целостность ограничения FK не гарантируется в Kafka.Под этим я подразумеваю, что если целостность действительна в базе данных, то она будет на Kafka, но нет системы проверки, которая проверяла бы ограничения FKs (вы можете присоединиться к полю, не являющемуся FK, с потоками Kafka).
С Kafka Stream вы, конечно, можете выполнять операции «присоединения», но вам нужно знать ограничения FK для исходной базы данных, чтобы сделать некоторый допустимый бизнес-код.
РЕДАКТИРОВАТЬ: Конечно, вы можете использовать все темычто CDC записывают и создают в другой теме с большим количеством разделов, вы затем будете перераспределять данные так, как вам хочется (даже с новой схемой).