Batch: Data is bounded. You know when it ends. Process, complete, done.
Streaming: Data is unbounded. It never ends. You process continuously.
This changes everything:
- Aggregations: In batch, sum all rows. In streaming, sum over time windows.
- Joins: In batch, join complete tables. In streaming, join within time bounds.
- State: Batch is stateless between runs. Streaming maintains state across events.
Think of streaming as batch with small batches, processed continuously. This mental model helps when designing hybrid systems.