System Design Space
Knowledge graphSettings

Updated: February 21, 2026 at 11:59 PM

Kappa Architecture: stream-first alternative to Lambda

hard

A single flow circuit without a separate batch layer: immutable log, materialized views, replay/backfill and comparison with Lambda.

Related book

Big Data (Nathan Marz)

The basic formulation of Lambda Architecture and the context from which Kappa grew.

Open chapter

Kappa Architecture is a stream-first approach to data processing, in which the main computational circuit is the same: events are written to an immutable log, and all views are built by stream processing and materialized into target storage.

Why Kappa came to be

One circuit instead of two

Lambda requires support for two computation paths (batch and speed), which complicates development and operation.

Replay as a standard mechanism

Recalculation is performed by replaying events from the log using the same code that serves realtime.

Stream-native platform

Modern streaming platforms allow you to build stable stateful pipelines without a separate batch stack.

Kappa Basic Stream

Producersapps, services, CDCImmutable LogKafka / Pulsar / Redpandapartitioned event streamStream Processingenrich, join, aggregatesame code for online + replayServing DBlow-latency readsOLAP ViewanalyticsSearch/Indexspecialized queryReplay / Backfill Modeset offsets/timestampand re-run pipelineOne processing model for online and historical datano separate batch layerpublish eventsconsume streamreplay

Kappa does not have a separate batch layer: the same stream pipeline processes both the live stream and the historical replay.

Lambda vs Kappa

CriterionLambdaKappa
Compute modelBatch + Speed + Serving layers.Single stream pipeline + materialized views.
Code pathsTwo separate calculation circuits (batch and realtime).One processing circuit for online and replay scenarios.
ReprocessingOften through batch-recompute of the entire dataset.Replay from immutable log via the same stream pipeline.
LatencyLow via speed layer + eventual merge with batch.Low if the stream processor and state store can handle the load.
Operational complexityHigher due to two stacks and semantics alignment.Lower in the number of circuits, but higher requirements for the stream stack.
Best fitWhen batch/ETL and stream worlds are already strong and separated.When the platform is built around an event log (Kafka/Pulsar).

How Kappa is implemented in practice

  1. Make event log the source of truth: immutable events with versioned schemas.
  2. Transfer key materialized views to the stream processing path.
  3. Add a replay/backfill pipeline: replaying events should be a standard operation.
  4. Separate stateful processing from serving APIs through clear data contracts.
  5. Fix the SLA for late events, ordering and exactly-once/at-least-once semantics.

When to choose and what to look for

Kappa is suitable if

  • Basic domain data is already generated as events.
  • We need a single logic for realtime and historical recalculation.
  • The team is ready to exploit the stream-first stack and stateful processors.

Risk areas

  • Poor quality event schemes and lack of schema governance.
  • Too heavy join/window calculations without state size control.
  • Underestimation of the cost of replay: CPU, storage I/O, backpressure.

Related chapters

Enable tracking in Settings

System Design Space

© 2026 Alexander Polomodov