Kappa architecture is a big architecture that is the simplification of Lambda architecture. In Kappa architecture, the data flows in the form of streams, unlike Lambda architecture, where the data is processed in batches.
Kappa architecture makes batch processing a special case of stream processing, and the batch data is processed through the streaming system quickly. Hence, the removal of the batch system simplifies the architecture that leads to the usage of a single technology, i.e., the streaming system.
The streaming layer delivers low-latency, near-real-time results. It uses incremental algorithms to perform updates, which saves time, but sacrifices accuracy.
The serving layer is used to serve the data computed from the streaming layer.
The unification of the batch layer and stream layer leads to a single technology stack, which is the biggest benefit of Kappa architecture. This architecture is most suitable for real-time data processing like real-time dashboards/KPI, monitoring, etc.
Lambda architecture | Kappa architecture |
---|---|
Separate layers for batch and streaming | Unified layer for both batch and stream |
Higher code complexity, i.e., maintain 2 technology stacks for batch and stream | Lower code complexity, i.e., maintain single technology stack for batch and stream layer |
Faster performance with batch and stream layer | Processing large amounts of data from database would be expensive |