Introducing KSQL: Streaming SQL for Apache Kafka | Confluent
Aug 28, 2017Neha Narkhede

Summary
This post introduces KSQL, a streaming SQL engine for Apache Kafka, lowering the entry bar for stream processing. It provides a simple, interactive SQL interface for continuous transformations on unbounded data streams, supporting aggregations, joins, windowing, and sessionization. KSQL uses Kafka's Streams API internally and introduces two core abstractions: STREAM (unbounded sequence of facts) and TABLE (evolving collection of facts). Use cases include real-time monitoring, analytics, security, anomaly detection, online data integration, and application development. The post details a demo for clickstream analytics and anomaly detection, and explains the internal architecture of KSQL servers and the REST API.