Build aggregation pipelines to continuously query, analyze, and react to streaming data in near real-time.
Perform continuous schema validation. Detect message corruption or late-arriving data that has missed a processing window.
Continuously materialize views into Atlas collections or streaming systems like Apache Kafka to maintain fresh analytical views.
Start with the multi-cloud database service built for resilience, scale, and the highest levels of data privacy and security.
Automatically run code in response to database changes, user events, or on preset intervals.
Natively integrate MongoDB data within the Kafka ecosystem.
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 more nascent; however, technologies such as Apache Flink and Spark Streaming are quickly gaining traction.
With Atlas Stream Processing, MongoDB provides developers with a better way to process streams for use in their applications, leveraging the aggregation framework.
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, or 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 and/or updating inventory levels.