Batch And Stream Processing Comparison Batch processing Stream processing Responsiveness No response to the client needed No response to the client needed Timelineness On demand Real-time Input Bounded input with finite size. A large amount of data Input has no boundary (infinite streams) Output Materialized views, aggregated metrics, etc. Materialized views, aggregated metrics, etc. Performance measurement Throughput Throughput, latency Fault tolerance Better (a fixed set of input data) More challenging (the input data keeps flowing in) Example MapReduce Apache StormApache FlinkApache Spark Diagram Architecture patterns Lambda Concepts A system that contains two processing paths (batch and streaming) simultaneously. Cons There are two codebases to maintain. Diagram Kappa Concepts A system that combines the batch and streaming in one processing path. Handle both real-time data processing and continuous data reprocessing using a single stream processing engine. Diagram