ksqlDB is an event streaming database. What exactly does that mean?
An event streaming database is a particular kind of database that helps you build stream processing apps. It consolidates the many components found in virtually every event streaming architecture.
Almost all streaming architectures today are piecemeal solutions cobbled together from different projects. At a minimum, you need a subsystem to acquire events from existing data sources, another to store them, another to process them, and another to serve queries against aggregated materializations. Integrating each subsystem can be difficult. Each has its own mental model. And it’s easy to wonder, given all this complexity: Is this all worth it?
What if it were as easy to build a stream processing app as it is to build a CRUD app? That’s what we wondered.
ksqlDB aims to provide one mental model for doing everything you need. You can build a complete streaming app against ksqlDB, which in turn has just one dependency: Apache Kafka®.