Atlas Stream Processing le permite leer, escribir y transformar flujos de datos complejos utilizando el mismo Operaciones de agregación utilizadas en bases de datos Atlas. El procesamiento de flujos Atlas permite:
Construir Canalizaciones de agregación para operar continuamente en datos de transmisión.
Realice una validación continua para verificar que los mensajes estén correctamente formados, detectar daños en los mensajes y detectar datos que llegan tarde.
Transforme los campos a medida que los documentos fluyen a través de sus canales y dirija esos documentos a distintas bases de datos, temas de Kafka u otros receptores externos utilizando campos o expresiones en cada documento como claves.
Publicar resultados continuamente en colecciones de Atlas o Apache Kafka clústeres, garantizando vistas y análisis de datos actualizados.
Los componentes de Atlas Stream Processing pertenecen directamente a los proyectos Atlas y funcionan independientemente de los clústeres Atlas.
Nota
Atlas Stream Processing brinda funcionalidad avanzada más allá de MongoDB change streams, incluyendo la gestión de múltiples tipos de eventos de datos y el procesamiento de flujos de datos complejos de varias fuentes como Kafka, APIs externas y almacenamiento en la nube. A diferencia de los change streams, que se limitan a eventos de bases de datos, Atlas Stream Processing permite flujos de trabajo de procesamiento de streams completos utilizando la misma API de query que en las bases de datos Atlas.
Configurar un espacio de trabajo de procesamiento de flujo
Para comenzar a usar Atlas Stream Processing, primero debe configurar un espacio de trabajo de procesamiento de flujos. Esto implica aprender a crear, modificar y eliminar un espacio de trabajo de Atlas Stream Processing para comenzar a procesar sus datos de transmisión.
Datos de transmisión
Un flujo es un flujo continuo de datos inmutables que provienen de una o más fuentes. Algunos ejemplos de flujos de datos son las lecturas de temperatura o presión de sensores, los registros de transacciones financieras o los eventos de captura de datos modificados.
Los flujos de datos se originan en fuentes como Temas de Apache Kafka o MongoDB flujos de cambios. A continuación, puedes escribir datos procesados en destinos, incluidos Temas de Apache Kafka, colecciones de Atlas, funciones externas o almacenes de datos en la nube.
Atlas Stream Processing proporciona capacidades nativas de procesamiento de flujo para operar con datos continuos sin las limitaciones de tiempo y cálculo de una base de datos en reposo.
Estructura de un procesador de flujo
Los procesadores de flujo se configuran como una canalización que conceptualmente se divide en tres fases. Una vez que comprenda esta estructura, podrá crear y administrar procesadores de flujo para procesar continuamente sus datos de transmisión.
Fuentes
Los procesadores de flujo comienzan por ingerir documentos de fuentes de datos de flujo a las que Atlas Stream Processing está conectado. Estos pueden ser sistemas intermediarios como Apache Kafka o flujos de cambios de bases de datos, como los generados por las operaciones de lectura/escritura de Atlas. Estas entradas deben ser válidas. json o ejson documentos. Una vez que la etapa ingiere un $source documento, puede aplicar la agregación de MongoDB a ese documento para transformarlo según sea necesario.
Además de ingerir datos desde una fuente de transmisión, Atlas Stream Processing también permite enriquecer sus documentos con datos de solicitudes HTTPS y operaciones $lookup para unir datos de clústeres Atlas conectados.
Oleoductos
Un procesador de flujos aprovecha etapas del pipeline de agregación y operadores de agregación además del conjunto de herramientas MongoDB estándar de operadores y etapas de agregación para transformar los datos ingeridos y extraer perspectivas valiosas. Para aprender cómo definir pipelines de agregación de Atlas Stream Processing, consulta la documentación de pipelines de agregación. Atlas Stream Processing puede escribir documentos que no puede procesar en una fila de letra muerta.
Puede enriquecer documentos reestructurándolos, añadiendo o eliminando campos, consultando información en sus colecciones y mucho más. Atlas Stream Processing también le permite recopilar eventos mediante ventanas y ejecutar funciones arbitrarias.
Windows
Las ventanas son etapas de la canalización que agregan datos de streaming dentro de un período de tiempo determinado. Esto permite agrupar los datos, calcular promedios, encontrar mínimos y máximos, y realizar otras operaciones que de otro modo no serían aplicables a los datos de streaming. Cada procesador de streaming solo puede tener una etapa de ventana.
Funciones
Atlas Stream Processing admite llamadas a funciones JavaScript personalizadas o Funciones de AWS Lambda que se ejecutan en cada documento que el proceso de transmisión les pasa.
Sumideros
Tras procesar los datos ingeridos, el procesador de flujos los escribe en un receptor. Atlas Stream Processing ofrece las etapas $emit y $merge para escribir en diferentes tipos de receptores. Estas etapas son mutuamente excluyentes, y cada procesador de flujos solo puede tener una etapa de receptor. Su canalización puede incluir lógica para escribir documentos procesados en diferentes temas de Kafka o colecciones de Atlas dentro de las mismas conexiones de receptor.
Regiones de procesamiento de flujos de Atlas
Atlas Stream Processing permite la creación de espacios de trabajo de procesamiento de flujos en AWS, Azure y Google Cloud. Para obtener una lista de las regiones disponibles, consulte las secciones "Espacios de trabajo de procesamiento de flujos" de:
Referenciade funciones de Amazon Web Services.
Referencia de funcionalidad de Microsoft Azure.
Referencia de funcionesde Google Cloud Platform.
Los procesadores de flujo pueden leer y escribir en clústeres alojados en diferentes proveedores de nube o en diferentes regiones.
Facturación
Para obtener información sobre la facturación, consulte la página de facturación de Atlas Stream Processing.
Próximos pasos
Para comenzar a trabajar de forma práctica con Atlas Stream Processing, consulte Introducción a Atlas Stream Processing.
Para obtener información más detallada sobre los conceptos básicos de Atlas Stream Processing, consulta lo siguiente:
Conozca las limitaciones específicas de Atlas Stream Processing.