Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

MongoDB Atlas Infinite: Arquitectura

Atlas Infinite separa el procesamiento del almacenamiento en dos capas independientes. Los nodos de procesamiento ejecutan las consultas, transacciones y agregaciones. La capa de almacenamiento guarda los datos de forma persistente, manteniendo múltiples copias para garantizar una alta disponibilidad. MongoDB gestiona la capa de almacenamiento independientemente de la capa de procesamiento, por lo que las operaciones de escalado y recuperación se ejecutan sin mover ni replicar los datos.

El siguiente diagrama muestra cómo Atlas Infinite se integra en Atlas, abarcando las capas de aplicación, computación y almacenamiento, con las interfaces de administración de Atlas que se muestran a continuación.

Arquitectura Atlas Infinite: capas de aplicación, computación y almacenamiento gestionado por Atlas, con interfaces de gestión de Atlas.

Cómo se integran las soluciones de computación y almacenamiento de Atlas Infinite dentro de la pila de aplicaciones y administración de Atlas.

Los nodos de cómputo son la capa que ejecuta las consultas, transacciones y agregaciones. Dado que los nodos de cómputo están desacoplados del almacenamiento, puede escalar la capacidad de cómputo independientemente de este. Puede aumentar la capacidad de cómputo a medida que crece la demanda y reducirla cuando esta disminuye. Si habilita el escalado automático, Atlas ajusta la capacidad de cómputo automáticamente.

En la versión preliminar pública, Atlas implementa los nodos de cómputo en zonas de disponibilidad separadas dentro de la región del clúster.

La capa de almacenamiento de Atlas Infinite mantiene la persistencia de los datos de su aplicación, conservando múltiples copias para una alta disponibilidad. Con Atlas Infinite, MongoDB gestiona el almacenamiento como una capa independiente, separada de los nodos de cómputo que ejecutan la carga de trabajo de su aplicación. La capa de almacenamiento se encarga de la replicación, atiende las lecturas y proporciona copias de seguridad continuas, independientemente de la capa de cómputo. Cuando se escala el nivel del clúster o cuando falla un nodo de cómputo y Atlas Infinite realiza una conmutación por error, los datos de su aplicación permanecen disponibles en la capa de almacenamiento para atender consultas. MongoDB no los copia a los nuevos nodos de cómputo.

Atlas Infinite aísla cada clúster en todas las capas de almacenamiento. Atlas autentica mutuamente el tráfico interno con certificados X.509 para la comunicación dentro de la capa de almacenamiento.

Dado que la capa de almacenamiento es compartida, los datos de cada cliente se cifran con claves únicas que nunca se comparten entre clientes. Para obtener más información sobre cómo Atlas cifra los datos de Atlas Infinite, consulte la descripción general del cifrado en reposo de Atlas.

Un clúster Atlas Infinite tiene dos nodos de cómputo seleccionables: uno principal, que gestiona las escrituras, y uno de reserva, que es el otro nodo seleccionable y toma el control cuando el principal falla o se reinicia. Durante la vista previa pública, puede agregar hasta cinco nodos más para el aislamiento de cargas de trabajo, lo que le da un total de hasta siete. Los nodos que agregue solo pueden gestionar lecturas. Puede agregar los siguientes tipos de nodos:

  • Los nodos de solo lectura gestionan las lecturas de su carga de trabajo operativa.

  • Los nodos de análisis aíslan las consultas analíticas de la carga de trabajo operativa.

Los nodos de búsqueda no son compatibles con los clústeres de Atlas Infinite en la versión preliminar pública.

Los nodos de cómputo no votan por un nodo principal. La capa de almacenamiento coordina la conmutación por error en lugar de una elección entre los nodos del clúster. Cuando el nodo principal falla o se reinicia, el nodo en espera se convierte en el principal. La capa de almacenamiento mantiene los datos recientes disponibles para todos los nodos de cómputo.

La preferencia de lectura funciona igual que en un clúster Atlas Core. Puede utilizar todos los modos de preferencia de lectura y las etiquetas de conjunto de réplicas predefinidas.

El controlador de tu aplicación establece la preferencia de lectura. El valor predeterminado del controlador es primary, por lo que tu aplicación envía todas las lecturas al nodo principal a menos que cambies la preferencia de lectura.

Un clúster Atlas Infinite tiene un nodo de reserva. Cuando su aplicación lee datos de un nodo distinto del principal, esas lecturas se dirigen al nodo de reserva, a menos que agregue nodos de solo lectura o nodos de análisis y configure una preferencia de lectura diferente. Siga las siguientes recomendaciones:

Las funciones de copia de seguridad, restauración y recuperación a un punto en el tiempo operan en la capa de almacenamiento. Para obtener más información sobre la copia de seguridad y la restauración, consulte Restaurar un clúster Atlas Infinite.

Una condición de escritura describe el nivel de confirmación que se solicita a MongoDB para una operación de escritura.

Esta sección describe la configuración predeterminada de seguridad de escritura en un clúster Atlas Infinite, cómo Atlas gestiona cada campo de seguridad de escritura y en qué se diferencia la seguridad de escritura de un clúster Atlas Core.

En un clúster Atlas Infinite, la capa de almacenamiento guarda y replica sus datos, y Atlas confirma la escritura una vez que la capa de almacenamiento la captura.

En un clúster Atlas Infinite, la prioridad de escritura predeterminada es w: "majority". Su aplicación configura la prioridad de escritura en la cadena de conexión o para una única operación de escritura. No puede cambiar la prioridad predeterminada en la interfaz de usuario de Atlas.

Atlas acepta cualquier instrucción de escritura que envíe su aplicación y la modifica, cuando sea necesario, a un valor compatible con un clúster Atlas Infinite, de modo que las instrucciones de escritura de su aplicación sigan funcionando.

En un clúster Atlas Infinite, Atlas gestiona los campos de preocupación de escritura de la siguiente manera:

  • Su aplicación establece el nivel de confirmación de escritura con w:

    • Si su aplicación no establece w, Atlas aplica el valor predeterminado, w: "majority". En un clúster Atlas Infinite, "majority" se refiere a la mayoría dentro de la capa de almacenamiento, no a la mayoría de los nodos del clúster. Atlas nunca revierte una escritura w: "majority".

    • Si su aplicación establece w en 0 o 1, Atlas aplica el valor que su aplicación haya establecido. w: 0 no requiere confirmación. Una escritura w: 1 se procesa antes que una escritura w: "majority", pero Atlas puede revertirla en casos excepcionales de fallos.

    • Si su aplicación establece w en 2 o en cualquier número mayor que 2, Atlas aplica w: "majority".

  • Su aplicación puede establecer un límite de tiempo con wtimeout (wtimeoutMS en una cadena de conexión), en milisegundos. wtimeout se aplica a las escrituras w: "majority", incluidas las escrituras que utilizan el valor predeterminado:

    • Si su aplicación establece wtimeout, una escritura que Atlas no puede confirmar devuelve un error de preocupación de escritura cuando alcanza el límite wtimeout.

    • Si su aplicación no establece wtimeout, la escritura espera indefinidamente y bloquea su aplicación.

  • |servicio | siempre se aplica j: trueLa capa de almacenamiento conserva cada escritura fuera de la memoria del nodo antes de que Atlas la confirme. La configuración j de su aplicación no afecta a este comportamiento.

La gestión de la escritura difiere entre los clústeres Atlas Infinite y los clústeres Atlas Core de las siguientes maneras:

  • En un clúster Atlas Infinite, puede configurar w con los valores 0, 1 o "majority". Para w: 1 y w: "majority", la capa de almacenamiento garantiza la escritura. Para w: 0, la capa de almacenamiento no confirma la escritura. En un clúster Atlas Core, también puede configurar w con un número que solicite confirmación a esa cantidad de nodos.

  • En un clúster Atlas Infinite, Atlas siempre aplica j: true y no se puede deshabilitar la confirmación del registro. En un clúster Atlas Core, se puede desactivar la confirmación del registro con j: false.

En un clúster Atlas Infinite, la colección oplog, local.oplog.rs, no se utiliza para la replicación, ya que esta se gestiona en la capa de almacenamiento. La colección gestiona los flujos de cambios y algunas funciones internas que requieren un historial limitado. Esta colección se contabiliza dentro de los datos almacenados del clúster.

Tu aplicación se ejecuta en Atlas Infinite sin necesidad de modificar el código. Atlas Infinite utiliza el protocolo de comunicación de MongoDB, por lo que tu aplicación se conecta al clúster de Atlas Infinite mediante controladores de MongoDB y otros métodos de conexión. También puedes acceder al clúster y gestionarlo con las herramientas de programación de MongoDB.