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 как милионы отдельных строк требующие Далее …