NEW
Continuous processing of data in motion as events arrive, enabling low-latency analytics and reactive applications.
DESCRIPTION
Streaming processes unbounded event data continuously, focusing on low-latency ingestion, transformation, and analysis. Systems employ time semantics, windowing, and exactly-once processing to ensure correctness. Typical platforms include Kafka, Flink, and Spark Structured Streaming. Use cases span fraud detection, personalization, monitoring, and IoT telemetry. Compared to batch, streaming emphasizes incremental computation, stateful operators, and resilience in the presence of out-of-order events.
ALTERNATIVE DEFINITIONS
Wikipedia
Stream processing is the processing of data in real time as it is produced or received.
Highlights real-time processing of data as it arrives.
Confluent
Stream processing is the practice of taking action on a series of data at the time the data is created.
Emphasizes acting on data at creation time for real-time value.
RELATED TERMS
Stream Processing Event-Driven Architecture Complex Event Processing Apache Kafka Apache Flink Spark Structured Streaming Event Sourcing Change Data Capture Windowing Low Latency
COMPETING TERMS
Batch Processing Micro-batching
RELATIONS
KNOWLEDGE AREAS
Real-time & Streaming Data Data Engineering AI Data Science Observability & Telemetry
TARGET AUDIENCE
Data Engineer MLOps Engineer AI Engineer Software Developer Solution Architect Data Architect
EXTERNAL SOURCES
- Wikipedia - Stream processing
- Apache Flink - Flink streaming concepts overview
- Apache Spark - Structured Streaming programming guide
TOP QUESTIONS
Why is Streaming important?
It enables real-time insights and actions, reducing latency between data creation and decision-making.
Category: Relevancy
How does Streaming differ from Batch Processing?
Streaming processes events continuously; batch processes bounded datasets at intervals. Streaming prioritizes low latency and incremental state.
Category: Misunderstanding
What are common mistakes in Streaming systems?
Ignoring event-time semantics, failing to handle late data, and under-sizing state storage lead to correctness and scalability issues.
Category: Mistakes
What are the key requirements for Streaming reliability?
Exactly-once semantics, idempotent sinks, checkpointing, and backpressure handling are critical for robust pipelines.
Category: Requirements
What risks arise in Streaming architectures?
Operating stateful, always-on systems increases operational complexity, cost, and incident blast radius.
Category: Risks
What tools are commonly used for Streaming?
Apache Kafka for messaging, Flink and Spark for processing, and ksqlDB for streaming SQL are common choices.
Category: Example
What is windowing in Streaming?
Windowing groups events by time or count to aggregate unbounded streams into manageable computations.
Category: Example
What is a current hot topic in Streaming?
Unified batch/stream APIs and stateful serverless streaming are key developments.
Category: Topic
How do I start with Streaming?
Begin with a simple event ingestion pipeline, define SLAs, choose event-time semantics, and implement basic windowed aggregations.
Category: Management