Data-Intensive Application Architectures Flashcards
Downsides of the traditional development process
1 - The business value is lost throughout the process
2 - Limited flexibility
3 - Cost of failure is high
4 - Takes a lot of time
Benefits of the big data process
1 - Iterative rapid cycles
2 - Lots of testing
3 - More innovative
Lambda architecture
A reference architecture for big data systems and defined as a system that runs arbitrary functions on arbitrary data
The three lambda layers
1 - Batch
2 - Speed
3 - Serving
Lambda: batch layer
Contains the immutable, constantly growinng dataset
Lambda: speed layer
Deals with new data and compensates for the high latency updates of the serving layer
Lambda: serving layer
Loads and exposes the combined view of data such that they can be queried
If you have a regular ML application, how do you change it such that you use the Lambda architecture?
Regular ML models only use the batch layer. Expand it by adding an interaction between the batch-created model and the streams of data
Kappa Architecture
Everything is done in the streaming (speed) layer. The versioning of the application should be taken into account