Kafka

Apache Kafka — распределенный программный брокер сообщений поддерживающий транзакционность при работе с потребителями и поставщиками событий: публикует и подписывается на поток записей подобно очереди сообщений и корпоративной системе сообщений хранит поток записей (событий) обеспечивая отказоустойчивость и надежность обрабатывает поток записей (событий) по мере поступления Apache Kafka обычно используется как Event Processing System (система обработки событий) для двух классов приложений: построение потоков каналов данных в режиме реального времени (real-time streaming data pipelines)  с надежностью получения данных между системами и приложениями; построение потоковых приложений работающих в режиме реального времени (real-time streaming applications) которые трансформируют или реагируют на данные потока. или более красочно от Confluent  Apache Kafka, a Distributed Streaming Platform Проект Apache Kafka https://kafka.apache.org Почитать про Kafka  и попробовать https://www.confluent.io/product/confluent-platform/ Учебные курсы  по Kafka на Далее …

KSQL

KSQL — это движок SQL для Apache Kafka, который может использоваться для анализа данных в режиме реального времени с использованием операторов SQL вместо написания большого количества кода на Java. KSQL, построенный на основе API Kafka Streams, поддерживает операции обработки потоков, такие как фильтрация, преобразования, агрегации, соединения, оконные операции и сессии.

NiFi

Управление потоками данных с использованием Apache NiFi

Apache NiFi — это простая платформа обработки событий (сообщений), предоставляющая возможности управления потоками данных из разнообразных источников в режиме реального времени с использованием графического интерфейса. Программа Apache NiFi написана на Java  и была разработана Агентством Национальной Безопасности  (NSA) под кодовым названием «Niagara Files» для диспетчеризации данных, поддерживающих работу с разнообразными небольшими сетевыми граничными устройствами (типа Raspberry Pi и других подобных микропроцессоров), крупными кластерами данных и облачной инфраструктурой.  Apache NiFi использует концепцию потока, рассматриваемую как последовательность операций: передача, преобразование и обогащение данных над последовательностью отдельных событий (events). Таким образом, поток НЕ рассматривается как большая пакетная (batch) операция, требующая выполнения первоначальной загрузки всех данных  перед началом обработки. Например, SQL база данных с миллионами строк рассматривается Apache NiFi как миллионы отдельных строк, требующие своей обработки.  Далее …