El Atlas Stream Processing te permite leer, guardar y transformar flujos de datos complejos usando los mismos Operaciones de agregación utilizadas en bases de datos Atlas. El procesamiento de flujos Atlas permite:
Construir pipelines de agregación para operar continuamente en datos en 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, asegurando vistas y análisis de datos actualizados.
Los componentes de Atlas Stream Processing pertenecen directamente a proyectos de Atlas y funcionan de forma independiente de los clústeres de 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 con el procesamiento de flujos de Atlas, primero debe configurar un espacio de trabajo de procesamiento de flujos. Esto implica aprender cómo crear, modificar y borrar un espacio de trabajo de Atlas Stream Processing para comenzar a procesar tus datos de transmisión.
Datos de transmisión
Un stream es un flujo continuo de datos inmutables que se origina en una o más fuentes. Ejemplos de flujos de datos incluyen lecturas de temperatura o presión de sensores, registros de transacciones financieras, o eventos de captura de datos de cambios.
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 flujos
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 ingiriendo documentos de fuentes de datos en transmisión a las que Atlas Stream Processing está conectado. Estos pueden ser sistemas de intermediación como Apache Kafka, o flujos de cambio de base de datos, como los generados por las operaciones de lectura/guardado de Atlas. Estas entradas deben ser válidas json o ejson documentos. Una vez que la etapa $source ingiere un documento, puede aplicar 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 soporta el enriquecimiento de tus documentos con datos de solicitudes HTTPS y operaciones $lookup para enlazar datos desde clústeres conectados de Atlas.
pipeline
Un procesador de flujos aprovecha las etapas y los operadores de la canalización de agregación, además del conjunto estándar de operadores y etapas de agregación de MongoDB, para transformar los datos ingeridos y extraer información valiosa. Para obtener información sobre cómo definir las canalizaciones de agregación de Atlas Stream Processing, consulte la documentación de la canalización de agregación.
Atlas Stream Processing puede guardar documentos que no puede procesar en una fila de mensajes fallidos.
Puedes enriquecer los documentos reestructurándolos, agregando o removiendo campos, buscando información en tus colecciones y más. Atlas Stream Processing también te permite recoger eventos usando ventanas y ejecutar funcionesarbitrarias.
Windows
Windows son etapas de pipeline que agregan datos en transmisión dentro de un período de tiempo determinado. Esto te permite agrupar los datos, obtener promedios, encontrar mínimos y máximos, y realizar diversas otras operaciones que de otro modo no serían aplicables a los datos en transmisión. Cada procesador de flujo solo puede tener una etapa de ventana.
Funciones
Atlas Stream Processing admite llamadas a funciones de JavaScript personalizadas o AWS Lambda funciones que se ejecutan en contra de cada documento que el flujo de procesos 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 admite la creación de espacios de trabajo de Stream Processing en AWS, Azure y Google Cloud. Para obtener una lista de regiones disponibles, consulte las secciones Espacios de trabajo de Stream processing del:
Amazon Web Services referencia de funcionalidad.
Referencia de funcionalidad de Microsoft Azure.
Referencia de funcionalidad de Google Cloud Platform.
Los procesadores de flujos pueden leer de y guardar 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:
Aprende sobre las limitaciones específicas del procesamiento en Stream Processing de Atlas.