Which one is best?
In adtech, log-level data comes as a never-ending stream of events. To do batch processing, you need to store it, stop data collection at some time and process the data. Then you have to do the next batch and then worry about aggregating across multiple batches. In contrast, streaming handles neverending data streams seamlessly without the intermittent starting, stopping and then aggregating.
Batch processing works well in situations where you don’t need real-time analytics results and is often used when dealing with data sources from legacy systems.
Stream processing is key to turning big data into fast data where you can feed analytics tools as soon as the event occurs and get real-time utility and insights.
Fraud detection is a good example. With real-time data, you can detect anomalies that signal fraud in real time, then stop it before it can cause damage.