ATLAS
Atlas Stream Processing
Simplify integrating MongoDB with Apache Kafka to build event-driven applications.
A data model built for streaming data
Schema management is critical to data correctness and developer productivity when working with streaming data. The document model gives developers a flexible, natural data model for building apps with real-time data.
A unified developer experience
Developers can use one platform—across API, query language, and data model—to continuously process streaming data from Apache Kafka alongside the critical application data stored in their databases.
Fully managed in Atlas
With a few lines of code, developers can quickly integrate streaming data from Apache Kafka with their database to build reactive, responsive applications—all fully managed with Atlas.
Integrate with Apache Kafka data streams
EVP of Engineering, Acoustic
Learning hub
Find white papers, tutorials, and videos about how to handle streaming data.FAQ
What is streaming data?
Streaming data is generated continuously from a wide range of sources. IoT sensors, microservices, and mobile devices are all common sources of high-volume streams of data. The continuous nature of streaming data as well as its immutability make it unique from static data at rest in a database.
What is stream processing?
Stream processing is continuously ingesting and transforming event data from an event messaging platform (like Apache Kafka) to perform various functions. This could mean creating simple filters to remove unneeded data, performing aggregations to count or sum data as needed, creating stateful windows, and more. Stream processing can be a differentiating characteristic in event-driven applications, allowing for more reactive, responsive customer experiences.
How is event streaming different from stream processing?
Streaming data lives inside of event streaming platforms (like Apache Kafka), and these systems are essentially an immutable distributed log. Event data is published and consumed from event streaming platforms using APIs.
Developers need to use a stream processor to perform more advanced processing, such as stateful aggregations, window operations, mutations, and creating materialized views. These are similar to the operations one does when running queries on a database, except that stream processing continuously queries an endless stream of data. This area of streaming is an emergent technology with solutions such as Apache Flink and Spark Streaming quickly gaining traction.
With Atlas Stream Processing, MongoDB provides developers with a better way to process streams for use in their applications while leveraging the aggregation framework.
Why did MongoDB build Atlas Stream Processing?
Stream processing is an increasingly critical component for building responsive, event-driven applications. By adding stream processing functionality as a native capability in MongoDB Atlas, we're helping more developers build innovative applications leveraging our multi-cloud developer data platform.
How is stream processing different from batch processing?
Stream processing happens continuously. In the context of building event-driven applications, stream processing enables reactive and compelling experiences like real-time notifications, personalization, route planning, and predictive maintenance.
Batch processing does not work on continuously produced data. Instead, batch processing works by gathering data over a specified period of time and then processing that static data as needed. An example of batch processing is a retail business collecting sales at the close of business each day for reporting purposes or updating inventory levels.
What’s the difference between a stream processing pipeline and an aggregation pipeline?
Atlas Stream Processing extends the aggregation pipeline with stages for processing continuous data streams. These stages combine with existing aggregation stages built into the default mongod process, enabling developers to perform many of the same operations on continuous data as they can perform on data at rest.
Does Atlas Stream Processing support checkpointing?
How does Atlas Stream Processing help me handle data errors during stream processing?
Ready to get started?
- Easily integrate Kafka & MongoDB
- Process data continuously
- Native MongoDB experience
- Available globally