---
sidebar_position: 1
---

# Introduction to KSQLDB

**[ksqlDB](https://ksqldb.io/)** is an open-source streaming SQL-like engine for Apache Kafka. It provides a SQL interface for
real-time data stream processing on Kafka topics.

## Key Features

- **SQL Interface**: Write SQL queries to perform real-time stream processing over Kafka topics.
- **Stateful Processing**: ksqlDB maintains state and allows you to perform windowed aggregations, joins, and other stateful operations on streaming data.
- **Scalability**: As it's built on top of Kafka Streams, ksqlDB inherits the scalability and fault-tolerance of Kafka.


## Use Cases

ksqlDB allows you to create **streams** and **tables** as Kafka topics, with logic defined with SQL statements. Thanks to this, you can build things like:

- Continuous transformations of messages in flight:
    - Add a new field
    - Reformat a field
    - Extract a nested field
    - Nest some fields

- Create incrementally-updated materialized views as tables over topics

- Serve lookups against materialized view

- Join topics

- Trigger changes based on events in a stream


![KSQLDB](./img/ksqldb.png)
