ksqlDB

Kafka SQL or KSQL is a streaming SQL engine that provides SQL interface to the streams in Apache Kafka. It is developed by Confluent Inc. and is built on the Kafka Streams API. As opposed to systems like Spark Streaming which require using Java/Scala for development, KSQL provides a completely interactive, SQL only interface improving the ease of access.

Data Model

Relational Key/Value

The basic unit of storage in Kafka is a message, which consists of a key, value, timestamp, partition number and its offset in the partition. Key and value are just arrays of bytes, hence there is no restriction on the type of values they can hold. A schema can be associated with each topic, which is imposed upon the value part of the message.

ToDo: Verify who validates the schema i.e. can schema be applied on top of an existing Kafka topic.

Website

https://www.confluent.io/product/ksql/

Source Code

https://github.com/confluentinc/ksql

Developer

Confluent

Country of Origin

US

Start Year

2017

Project Type

Open Source

Written in

Java

Supported languages

SQL

Compatible With

Spark SQL