Batch processing refers to processing of high volume of data in batch within a specific time span. | Stream processing refers to processing of continuous stream of data immediately as it is produced. |
Batch processing processes large volume of data all at once. | Stream processing analyzes streaming data in real time. |
In Batch processing data size is known and finite. | In Stream processing data size is unknown and infinite in advance. |
In Batch processing the data is processes in multiple passes. | In stream processing generally data is processed in few passes. |
Batch processor takes longer time to processes data. | Stream processor takes few seconds or milliseconds to process data. |
In batch processing the input graph is static. | In stream processing the input graph is dynamic. |
In this processing the data is analyzed on a snapshot. | In this processing the data is analyzed on continuous. |
In batch processing the response is provided after job completion. | In stream processing the response is provided immediately. |
Examples are distributed programming platforms like MapReduce, Spark, GraphX etc. | Examples are programming platforms like spark streaming and S4 (Simple Scalable Streaming System) etc. |
Batch processing is used in payroll and billing system, food processing system etc. | Stream processing is used in stock market, e-commerce transactions, social media etc. |
Processes data in batches or sets, typically stored in a database or file system. | Processes data in real-time, as it is generated or received from a source. |
Processes data in discrete, finite batches or jobs. | Processes data continuously and incrementally. |