Data Lake for Enterprises
上QQ阅读APP看书,第一时间看更新

Kappa architecture

This book is about building Data Lakes using Lambda Architecture as one of the main layers (Lambda Layer). However, we feel that the readers also need to learn about another minimalist Lambda Architecture under active discussion, namely Kappa architecture. It is more or less similar to lambda, but for the sake of simplicity, the batch layer is removed and only the speed layer is kept. The main idea is to avoid having to compute a batch layer from scratch all the time and try doing almost all of these in real-time or the speed layer. One of the disadvantages of the Lambda Architecture, as detailed above, is to have to keep coding and executing the same logic twice, and this is avoided in the Kappa Architecture.

An image speaks more than a thousand words, and the next diagram compares both the Kappa and Lambda Architectures side by side. In this, you can clearly see that in Kappa, the only missing part is the all-important batch layer:

Figure 11: Kappa (left) and Lambda (right) architectures side by side

We strongly feel that for building a Data Lake, even though complex, Lambda Architecture is the way to go and that's the reason for choosing this pattern. We really wanted to give you readers another perspective was shown in the previous figure, you dive deep into implementation mode and that's the only reason to explain the Kappa architecture briefly.

The Batch layer in Lambda exists for a reason and to address this aspect, Kappa brings in newer technology frameworks capable of handling a huge amount of data and do the relevant processing. We do feel that in Kappa, the responsibility taken care of by both batch and speed layers in Lambda is diluted and combined. In fact, we can make use of newer technologies in Lambda and keep these layers separate having well-defined responsibilities set.