Change data capture
Потратил субботу на разбирательство с текущими сервисами для репликации из наших mysql в starrocks. Что видеть отрадно - появилась целая куча инструментов, которым больше не нужна кафка посередине (ну просто зачем иметь еще один лог когда ты уже читаешь из лога, а уж передавать инитиал снепшоты через кафку - отдельный вид мазохизма). Что плохо, они все сделаны на базе debezium, а значит если по каким-то причинам не подошел один, то и все остальные не смогут помочь.
Что может из коробки синкать с настройкой одного конфига и без плясок вокруг: apache seatunnel, apaсhe inlong. Что не умеет в cdc, но может вам помочь например при transaction outbox - sling. Что имеет ограничения на ровном месте и "интересные" настройки - risingwave (внутри дебезиум, но фишки из остальных сервисов в нем будут за деньги).
Итогом дня стало то, что нам не подошел ни один из них :( В принципе даже если форкать, то возврат кода в апстрим потом не примут никогда. С учетом отсутствия джавистов в компании выходит, что нам проще дописывать наш внутренний репликатор на golang, который уже 5+ лет перекладывает данные в vertica. Печалька, хотелось другого окончания. Причны подробно уже затащу в доклад на смартдате, а то надо же что-то там интересное рассказать :)
ps на картинке конфиг для seatunnel со всякими ухищрениями, которыми пытался обойти компанейские особенности
Post #106
820

- ❤ 4
- 🔥 3
- 👍 2
- 💩 1