When designing a data pipeline, how do you decide between batch processing and real-time stream processing?