Продвинутый
В чем разница между Kafka Streams и KSQL?
Оба инструмента нужны для потоковой обработки данных (Stream Processing) прямо внутри Kafka (например, считать сумму транзакций за последние 5 минут).
Kafka Streams:
- Это библиотека для Java/Scala.
- Разработчик пишет полноценный код приложения, которое читает топик А, фильтрует данные и пишет в топик Б.
- Плюс: Максимальная гибкость.
ksqlDB (KSQL):
- Это база данных поверх Kafka Streams.
- Позволяет аналитикам писать обычные SQL-запросы (SELECT * FROM stream WHERE amount > 100 EMIT CHANGES).
- Плюс: Не нужно знать Java, потоковая аналитика делается синтаксисом SQL.