ksqlDB

maintenance

by Confluent · since 2017 · also known as KSQL

Confluent's SQL layer over Kafka Streams, still supported but superseded by Flink SQL for new work.

relationalkey-valuedatabase enginesource-availablelegacy

maintenance. Confluent recommends Flink for new stream-processing workloads; ksqlDB remains supported for existing apps and ships with Confluent Platform 8.x.

Overview

ksqlDB lets you declare streams and tables over Kafka topics in SQL, running persistent queries on Kafka Streams with state in RocksDB and changelog topics, plus pull queries against materialized tables. It made stream processing approachable for Kafka users from 2017 onward. Confluent now recommends Confluent Platform for Apache Flink for new stream-processing workloads and keeps ksqlDB fully supported for existing applications, shipping it with each Confluent Platform release (8.4 in October 2026). Choose it only if you already run it; otherwise evaluate Flink SQL, RisingWave or Materialize.

Strengths & trade-offs

Strengths

  • +SQL over Kafka topics with no separate cluster for state storage
  • +Push and pull queries over materialized tables
  • +Kafka Connect integration for sources and sinks
  • +Mature, well-documented, and supported by Confluent

Trade-offs

  • −Strategic focus has moved to Flink; little new feature work
  • −Tightly coupled to Kafka; join and windowing semantics are limited
  • −Confluent Community License forbids offering it as a SaaS
  • −Query rebalancing and schema evolution can be painful

Great for

  • +Existing Kafka stream-transformation pipelines
  • +Simple filtering, enrichment and aggregation of topics

Think twice for

  • −New stream-processing projects (consider Flink SQL or RisingWave)
  • −Complex multi-way joins and ad-hoc queries

Capabilities

Native or official first-party support · 6 of 25 tracked

✓Joins
✓JSON
✓Materialized views
✓Durable persistence
✓Role-based access
✓Streaming ingest
–Transactions
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–Change data capture
–Triggers
–Stored procedures
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Time travel
–Branching
–Online schema changes
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Native
Multi-region
No
Transactions
None
Consistency
Eventual
Schema
Strict
Architecture
Distributed, Client server
Query languages
ksqlDB SQL

Scales with Kafka partitions; state in RocksDB backed by changelog topics.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

available on · AWS · Google Cloud · Azure

Ecosystem

compatible withKafka
apis & protocolsREST, Java client
client languagesJava, Go, Python, JavaScript

Alternatives to ksqlDB

Compare all→
RisingWaveRelational17.4

An Apache-licensed, Postgres-compatible streaming database that stores state on S3 and writes Iceberg.

ksqldb vs risingwave →
MaterializeRelational15.7

A Postgres-compatible operational data warehouse that keeps SQL views incrementally up to date.

ksqldb vs materialize →
Timeplus ProtonColumnar / OLAP16.6

A single C++ binary for streaming SQL, built on ClickHouse's engine with streams and windows.

ksqldb vs timeplus-proton →
ArroyoRelational5.4

A Rust stream processor with SQL pipelines, now owned by Cloudflare and powering Cloudflare Pipelines.

ksqldb vs arroyo →
FelderaRelational15.8

An incremental SQL engine grounded in DBSP theory that updates any SQL query from changes only.

ksqldb vs feldera →
GridGainRelational7.8

The commercial, enterprise-hardened distribution of Apache Ignite for low-latency SQL and compute.

ksqldb vs gridgain →

ksqlDB FAQ

What is ksqlDB?

ksqlDB is a relational database by Confluent, first released in 2017. ksqlDB lets you declare streams and tables over Kafka topics in SQL, running persistent queries on Kafka Streams with state in RocksDB and changelog topics, plus pull queries against materialized tables. It made stream processing approachable for Kafka users from 2017 onward. Confluent now recommends Confluent Platform for Apache Flink for new stream-processing workloads and keeps ksqlDB fully supported for existing applications, shipping it with each Confluent Platform release (8.4 in October 2026). Choose it only if you already run it; otherwise evaluate Flink SQL, RisingWave or Materialize.

Is ksqlDB open source?

Not in the OSI sense. ksqlDB is source-available: you can read the code, but the license restricts some uses, typically offering it as a competing managed service. License: Confluent Community License.

Does ksqlDB support ACID transactions?

No. ksqlDB does not provide ACID transactions; its consistency model is eventual.

Does ksqlDB scale horizontally?

ksqlDB scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at medium scale (≤ 10 TB).

How can I run ksqlDB?

You can self-host it and use the vendor's managed cloud. Managed offerings include Confluent Cloud ksqlDB. It is available on AWS, Google Cloud and Azure.

What is ksqlDB best for?

ksqlDB is a strong fit for existing Kafka stream-transformation pipelines; and simple filtering, enrichment and aggregation of topics. Think twice for new stream-processing projects (consider Flink SQL or RisingWave).

What are the best alternatives to ksqlDB?

Common alternatives to ksqlDB include RisingWave, Materialize, Timeplus Proton, Arroyo and Feldera. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is ksqlDB still maintained?

ksqlDB is in maintenance mode. Confluent recommends Flink for new stream-processing workloads; ksqlDB remains supported for existing apps and ships with Confluent Platform 8.x.

How popular is ksqlDB?

ksqlDB ranks #247 of 844 databases on the WhichDB Score (13.7/100), and #78 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.