GUIDE
A streaming database continuously ingests, processes, and serves data in real-time using SQL. Learn how streaming databases differ from traditional databases, message queues, and stream processors — and when to use one.
Core Concept
A traditional database stores data at rest and executes queries on demand. A streaming database inverts this model: it ingests data continuously, maintains always-up-to-date materialized views, and serves fresh results the moment they are requested. The query runs once; the results update forever.
| Dimension | Traditional Database | Streaming Database |
|---|---|---|
| Data Model | Data at rest, queried on demand | Data in motion, processed continuously |
| Query Execution | Run query, get snapshot result | Define query once, results update automatically |
| Freshness | Stale until next query | Always up-to-date (sub-second) |
| Ingestion | Batch INSERT / bulk load | Continuous stream ingestion (Kafka, CDC) |
| Result Storage | Computed on each query | Pre-computed in materialized views |
| Latency | Query-time compute (seconds to minutes) | Pre-computed reads (milliseconds) |
Traditional databases excel at transactional workloads where data is written and read in discrete operations. Streaming databases excel when you need continuous transformations — aggregations, joins, filters — applied to data the instant it arrives, with results always ready to serve.
Capabilities
Message queues like Kafka transport data reliably between systems but lack the ability to transform, join, or aggregate that data. A streaming database adds a full SQL computation layer on top of streams, maintaining stateful results that downstream applications can query directly — without building custom consumers.
Write JOINs, GROUP BY, window functions, and subqueries against live data streams — no custom consumer code required.
The database manages state internally. Aggregations, counts, and running totals are maintained automatically and survive failures.
Materialized views store pre-computed results. Any PostgreSQL client can read them with sub-millisecond latency.
Built-in checkpointing guarantees each event is processed exactly once, even during node failures or restarts.
RisingWave
RisingWave is a cloud-native streaming database that uses PostgreSQL-compatible SQL for both defining streaming pipelines and querying results. It ingests from Kafka, Pulsar, Kinesis, and CDC sources, processes data through materialized views with exactly-once guarantees, and serves results via any PostgreSQL client.
Start building real-time streaming pipelines with SQL in minutes.
Start Building with RisingWave