Exactly-Once
Guarantee every event is processed exactly once — no duplicates, no data loss. RisingWave provides built-in exactly-once semantics for streaming SQL, materialized views, and sink delivery without manual configuration.
Guarantees
Exactly-once semantics guarantees that each event in a data stream affects the final result precisely one time, even during failures, restarts, or network partitions. Unlike at-least-once or at-most-once approaches, exactly-once eliminates both data loss and duplicate processing without requiring application-level deduplication.
| Guarantee | Duplicates? | Data Loss? | Use Case Fit |
|---|---|---|---|
| At-Most-Once | No | Yes | Logging, metrics |
| At-Least-Once | Yes | No | Notifications, alerts |
| Exactly-Once | No | No | Financial, analytics, ML |
How It Works
RisingWave builds exactly-once semantics into its core architecture. Barrier-based checkpointing, transactional state updates, and coordinated sink commits work together automatically. Engineers write SQL and get exactly-once guarantees without configuring state backends, tuning checkpoint intervals, or writing deduplication logic.
Lightweight checkpoint barriers flow through the dataflow graph, snapshotting operator state without stopping processing.
All state changes within a checkpoint epoch are committed atomically — partial updates never become visible.
Sink writes are committed in lockstep with internal checkpoints, preventing duplicate output to downstream systems.
Kafka and other source offsets are persisted with each checkpoint, enabling precise replay on recovery.
Comparison
Most streaming frameworks treat exactly-once as an opt-in feature requiring significant configuration. Teams must choose state backends, tune checkpoint intervals, implement idempotent sinks, and handle transactional producers manually. This complexity leads to subtle bugs and incorrect results that surface only under failure conditions.
Get built-in exactly-once semantics with zero configuration.
Get Exactly-Once Guarantees Now