Использовать или нет Kafka Streams и / или KSQL для денормализации потоков данных из базы данных - PullRequest
0 голосов
/ 09 октября 2019

После долгих чтений в Интернете я наконец-то обратился к этому форуму. Моя задача состоит в том, чтобы денормализовать транзакционные данные из базы данных, полученной через CDC, в Kafka, прежде чем записывать их в базу данных NoSQL, в данном случае Cassandra. Каков наилучший способ объединения транзакционных данных с поисками из основных таблиц? У меня проблема в том, что на одну транзакционную таблицу может приходиться от 5 до 10 таблиц поиска.

Попытка сделать это в доказательстве концепции с использованием KSQL научила меня: а) загружать таблицы поиска как KTables и B) перераспределятьТранзакционный поток и, наконец, C) выполнить объединение и написать в новую тему. Следуя этому подходу, если у меня будет 5 или 10 справочных таблиц, которые будут генерировать много и много данных, передаваемых по кластеру. Я знаю, что Streams DSL может использовать концепцию GlobalKTable, но она работает только тогда, когда таблицы поиска относительно малы, и, кроме того, я предпочитаю язык более высокого уровня, такой как KSQL. Есть ли лучший подход?

...