Лучший способ сохранить данные таблицы соединений в Кассандре - PullRequest
0 голосов
/ 05 октября 2018

У меня есть сценарий, в котором я создал объединение поверх 10 таблиц.Это прекрасно работает, когда соединение выполняется в базе данных.Теперь эти таблицы передают данные по темам Кафки (1: 1 - таблица: сопоставление тем).Мне нужно создать / обновить объединение (я), как новые сообщения приходят в тему.До сих пор я решил хранить эти данные в NoSQL DB, такой как Cassandra, и обновлять объединенные записи, поскольку события продолжают поступать.Вот мои вопросы:

  1. Есть ли способ сделать это в самой Кафке?
  2. Если не в Кафке, какой лучший способ сделать это?
  3. Предлагает ли решение для сохранения в Кассандре лучшую альтернативу?

Обратите внимание: Я читал, что Кассандра не является правильным решением для объединений,Если не Кассандра, что рекомендуется?Пожалуйста, не обсуждайте вопрос как субъективный, потому что, если не другие, по крайней мере, я ожидаю также получить представление об этом.

1 Ответ

0 голосов
/ 05 октября 2018

Есть ли способ сделать это в самой Kafka?

Да, используя Kafka Streams или KSQL.

Как отметил Джастин Кэмерон, объединения ограничены двусторонними соединениями, поэтому вам нужно будет «последовательно соединить» свои преобразования.Каждый отвечал бы на промежуточную тему Кафки, и окончательный объединенный результат также был бы темой Кафки.Отсюда вы можете передавать его на Cassandra, используя Kafka Connect (часть Apache Kafka).

Отказ от ответственности: я работаю в Confluent, компании, работающей над проектом с открытым исходным кодом KSQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...