incubator-wayang icon indicating copy to clipboard operation
incubator-wayang copied to clipboard

Define Scope for Apache Kafka Support

Open kamir opened this issue 1 year ago • 4 comments

This issue is related to #386 .

In this issue we want to identify the scope of Apache Wayang - Apache Kafka support.

Apache Kafka does not offer a processing engine. KStreams and KSQLDB have been developed for "Kafka internal streaming processing". But it has been decided to discontinue KSQLDB. Instead, Apache Flink has been selected as the new event streaming processing system on top of Apache Kafka. But besides Apache Flink, there is the KStreams library. KSQLDB has been created using the KStreams event stream processing framework.

Why not to use ksqlDB? (from Google Search) ksqlDB is inefficient with long-running or high-cardinality aggregation. Routing, filtering, and running basic transformations over streaming data are the strengths of ksqlDB, and while it can perform some aggregations, it will suffer under more complex scenarios requiring large amounts of state.27.07.2023

With this in mind I suggest to define 2 scopes for Apache Kafka support in Apache Wayang:

Scope 1: Support Apache Kafka Source and Sink components in Apache Wayang plans. Scope 2: Support KStreams for "native Kafka Streaming processing" coordinated by Apache Wayang.

kamir avatar Dec 27 '23 04:12 kamir