Docs Menu
Docs Home
/

Notas de producción

Con MongoDB Atlas como plataforma de datos, su enfoque operativo puede alejarse de las tareas operativas rutinarias y los flujos de trabajo necesarios para construir y mantener la infraestructura de bases de datos, permitiéndole centrarse en ayudar a los ingenieros a aportar valor al negocio. En lugar de mantener el hardware y actualizar los parches de software del sistema operativo, los ingenieros pueden dedicar su tiempo y energía a desarrollar modelos de datos que satisfagan las necesidades actuales y futuras de su empresa.

Este documento describe algunas de las mejores prácticas para establecer y mantener una implementación de producción de MongoDB exitosa utilizando clústeres de MongoDB Atlas.

Para conocer más prácticas recomendadas de Atlas, consulte Centro de Arquitectura de Atlas.

Tip

  • Para obtener más información sobre las consideraciones de tamaño, consulte Dimensionamiento del clúster Atlas y selección de niveles.

  • Para obtener más información sobre resiliencia, consulte Crear una aplicación resiliente con MongoDB Atlas.

  • Para obtener más información sobre la copia de seguridad continua en la nube,consulte Recuperar un punto en el tiempo con la copia de seguridad continua en la nube.

MongoDB administra y opera la infraestructura necesaria para proporcionar un servicio de base de datos MongoDB al cliente. Las responsabilidades de MongoDB incluyen lo siguiente:

  • Administre los clústeres de bases de datos y la infraestructura subyacente, garantizando la disponibilidad, estabilidad y rendimiento de MongoDB, respaldado por un Acuerdo de 99.995 Nivel de Servicio (SLA) de tiempo de actividad del % para clústeres de tamaño M10 y más grande.

  • Asegúrese del buen estado de los nodos de cómputo subyacentes. Asegúrese de que estén en funcionamiento, tengan conectividad de red y cuenten con todos los parches recomendados a nivel de sistema operativo para mantener el SLA de disponibilidad.

  • Gestione la configuración de la base de datos MongoDB según las opciones de diseño específicas del cliente realizadas a través de la interfaz de usuario de Atlas o la API REST.

  • Aplique todas las actualizaciones de mantenimiento de MongoDB automáticamente para garantizar que se utilicen las últimas correcciones de errores del producto.

  • Administre el perfil de seguridad, incluido el control de acceso basado en roles, la adición de direcciones IP a una lista de acceso IP y el emparejamiento para maximizar la seguridad del clúster según las instrucciones del cliente.

  • Proporcionar servicios de respaldo y restauración.

El cliente continúa desarrollando e implementando aplicaciones que acceden a MongoDB, sin tener que administrar directamente los recursos y/o la infraestructura de la base de datos subyacente.

Importante

Atlas no permite mover clústeres de un proyecto a otro. En su lugar, se realiza una migración en vivo.

MongoDB Atlas abstrae las operaciones de la base de datos para que usted pueda centrarse en decisiones de gestión de alto nivel y de alto valor. Puede gestionar el acceso a sus clústeres de Atlas con los roles de usuario de Atlas. Puede aplicar estos permisos solo a nivel de organización o de proyecto. Por lo tanto, debe planificar cuidadosamente la jerarquía de sus organizaciones y proyectos.

Tip

Si necesita crear más proyectos que el límite de organización de Atlas 250 de, cree más organizaciones para almacenarlos. Para obtener más información, consulte Límites de organización y proyecto de Atlas.

Para crear una jerarquía bien diseñada de organizaciones y proyectos dentro de Atlas, divida sus clústeres en proyectos que se adapten a sus casos de uso. Esto permite maximizar la eficiencia empresarial con mínima fricción operativa.

Tip

Utilice la facturación entre organizaciones para vincular varias organizaciones de Atlas y recibir una única factura para todas ellas. Para obtener más información, consulte Casosde uso de facturación entre organizaciones.

A nivel de organización, puede implementar controles de seguridad y crear usuarios que trabajen en uno o más proyectos.La facturación de Atlas se realiza a nivel de organización.

Para controlar de manera eficiente el acceso y los privilegios de los usuarios, puede agrupar a los usuarios en equipos a nivel de organización.

Los proyectos ofrecen un aislamiento de seguridad y un límite de autorización, por lo que suelen asignarse por equipo y entorno de aplicación. Por ejemplo, dentro de dos equipos de aplicación podría haber seis proyectos: uno para cada equipo en los entornos de Desarrollo, Ensayo y Producción.

Puede crear usuarios y roles de Atlas a nivel de proyecto con acceso adecuado a los diferentes entornos de aplicaciones de producción y desarrollo.

  • Los usuarios con el Project Read Only rol pueden acceder a la supervisión a nivel de proyecto y a los metadatos del estado del sistema sin tener acceso a ningún dato de recopilación ni a ninguna operación administrativa.

  • Los usuarios con el rol pueden escalar clústeres y realizar otras operaciones administrativas, pero no tienen acceso a nivel de Project Cluster Manager datos.

Importante

Funciones no disponibles en clústeres flexibles

Los clústeres flexibles no admiten la mayoría de las siguientes responsabilidades. Para obtener más información, consulte Limitaciones de los clústeres flexibles.

Otras responsabilidades a nivel de proyecto incluyen:

Elegir la convención de nomenclatura correcta para sus clústeres Atlas es un buen primer paso para ejecutar un entorno de producción exitoso. Una vez que haya nombrado un clúster, no podrá cambiarlo, por lo que es importante hacerlo bien desde el principio. Las siguientes sugerencias pueden facilitar el análisis de registros y la diferenciación de clústeres.

  • Utilice nombres descriptivos y en minúsculas.

  • Evite los caracteres especiales.

  • Une las palabras con guiones o guiones bajos. Evita los espacios en blanco entre ellas.

  • Emplear una convención que deje claro si un clúster es para producción, pruebas previas o propósitos de desarrollo.

  • No incluir información confidencial en tus nombres de clúster.

Algunos ejemplos de buenos nombres de clúster:

  • prod-aws-website

  • staging-gcp-internal

  • dev-azure-analytics

La alta disponibilidad y la durabilidad del clúster dependen de su configuración geográfica de implementación. Los clústeres implementados en una sola región se distribuyen en zonas de disponibilidad dentro de ella, por lo que pueden soportar interrupciones parciales de la región sin interrumpir la disponibilidad de lectura o escritura.

Opcionalmente, puede elegir distribuir sus clústeres en dos o más regiones para lograr una mayor resiliencia y aislamiento de la carga de trabajo.

El orden de las regiones determina la prioridad de la ubicación del nodo principal. Por lo tanto, si desea dirigir las operaciones de escritura de la base de datos a una región específica cuando esté disponible, debe indicarla primero. La segunda región de la lista debe ser la segunda opción para las escrituras si la primera no está disponible.

El siguiente ejemplo de la interfaz de usuario Crear un clúster de Atlas muestra un clúster multirregional con nodos elegibles en tres regiones diferentes, organizados por prioridad de mayor a menor:

Captura de pantalla de nodos elegibles en tres regiones
haga clic para ampliar

Si el us-east-1 Si la región no está disponible, se elegirá una nueva primaria en la región us-west-1.

Nota

Los clústeres deben tener un número impar de nodos para garantizar la elegibilidad primaria. Para obtener más información, consulte Elecciones de conjuntos de réplicas.

Implementar un clúster en dos regiones garantiza que siempre se mantenga una copia de sus datos en más de una. Sin embargo, si se pierde la región que contiene la mayoría de los nodos del clúster, la segunda región quedará en estado de solo lectura hasta que intervenga un administrador o la región original esté disponible.

La implementación de un clúster en tres o más regiones garantiza que el clúster pueda soportar una interrupción total a nivel de región y al mismo tiempo mantener la disponibilidad de lectura y escritura, siempre que la capa de aplicación sea tolerante a fallas.

Si mantener las operaciones de escritura en su región preferida en todo momento es una alta prioridad, se recomienda implementar el clúster de modo que al menos dos miembros elegibles estén en al menos dos centros de datos dentro de su región preferida.

Para obtener el mejor rendimiento de la base de datos en una implementación global, los usuarios pueden configurar un clúster global que utiliza fragmentación según la ubicación para minimizar la latencia de lectura y escritura. Los usuarios con requisitos de almacenamiento geográfico también pueden garantizar que los datos se almacenen en una zona geográfica específica.

No proporcione información confidencial, como información de identificación personal (PII) o información de salud protegida (PHI), para los siguientes elementos:

Las responsabilidades a nivel de aplicación incluyen:

MongoDB Atlas ofrece dos métodos de escalado: vertical y horizontal.

El escalamiento vertical implica aumentar la capacidad de almacenamiento, la potencia informática y/o Tasa deIOPS. El escalado vertical se puede lograr rápidamente y es útil durante los periodos de mayor uso. El escalado vertical desde clústeres gratuitos o flexibles requiere unos minutos de inactividad. El escalado entre clústeres dedicados (M10 y superiores) se realiza sin inactividad.

Al escalar verticalmente, se recomiendan clústeres de M30 y superiores para entornos de producción. Puede usar los siguientes niveles de clúster como entornos de producción para aplicaciones con poco tráfico, pero estos niveles se recomiendan para entornos de desarrollo:

  • {+Clústeres flexibles+}

  • M10 y M20 {+Clústeres dedicados+}

El escalado horizontal implica implementar la fragmentación o añadir fragmentos a un clúster fragmentado existente. El escalado horizontal requiere una planificación y ejecución minuciosas, y forma parte de una estrategia de crecimiento a largo plazo para M30+ clústeres. También puede reducir la cantidad de fragmentos en un clúster fragmentado.

IMPORTANTE: Cuando remuevas una partición en 8.0, Atlas utiliza el comando moveCollection para mover toda colección no particionada en esa partición a una partición restante. Todas las colecciones no particionadas permanecen En linea durante este proceso.

  • Todas las colecciones particionadas permanecen en línea y disponibles durante el proceso de eliminación de particiones. Debes activar el balanceador para vaciar las colecciones particionadas de la partición eliminada.

  • Atlas mueve cualquier colección no particionada que no pueda vaciarse mediante el comando moveCollection utilizando el comando movePrimary. Para obtener más información sobre las limitaciones de moveCollection, consulta Restricciones. movePrimary es una operación sin conexión.

  • Para obtener más información sobre la remoción de particiones, consulta Remover particiones de un clúster.

La fragmentación vertical y horizontal se puede combinar en Atlas. Por ejemplo, un clúster fragmentado puede escalarse verticalmente durante un periodo de alta demanda, lo que aumenta la capacidad de almacenamiento y la potencia de procesamiento de cada uno de sus miembros.

De forma predeterminada, Atlas escala automáticamente y verticalmente el almacenamiento del clúster hasta el límite de tamaño de nivel de clúster configurado.

Puede configurar Atlas para escalar automáticamente su nivel de clúster y la capacidad de almacenamiento del clúster en respuesta al aumento del uso del clúster, lo que permite una respuesta rápida y automatizada a la necesidad de una mayor potencia informática de almacenamiento.

Puedes implementar la multi-inquilino en Atlas para que una sola instancia de una aplicación sirva a múltiples inquilinos. Tus decisiones de diseño iniciales para una arquitectura multi-inquilino pueden tener efectos imprevistos con el tiempo a medida que los requisitos evolucionen o cambien las expectativas de escalado. Para obtener más información, consulta Compilar una arquitectura multi-inquilino.

Como parte del ciclo de vida de los datos, si necesita trasladar datos inactivos a un nivel de almacenamiento diferente, puede configurar una regla de Atlas Online Archive para mover los datos según una fecha o criterios personalizados. Una vez que Atlas archive los datos a los que se accede con poca frecuencia, tendrá una vista unificada de sus datos de Atlas y Online Archive mediante una instancia de base de datos federada de solo lectura.

Puedes utilizar Atlas Data Federation para consultar datos in situ en diversas infraestructuras o para mover datos entre varios sistemas. Puedes utilizar el pipeline de agregación en datos de múltiples fuentes para extraer perspectivas de tus datos o transformarlos para otros fines. Por ejemplo, puedes usar $out a S3 y $out a Atlas para mover datos entre diferentes niveles de almacenamiento. También puedes utilizar $out a S3 para transformar fácilmente datos de tu clúster Atlas en JSON, BSON, CSV, TSV, Avro, Parquet y ORC, además de almacenarlos en AWS S3 para alimentar sistemas posteriores que requieran acceso.

Habilitar la auditoría para todos los usuarios de base de datos, incluidos los usuarios de servicios de aplicaciones, podría afectar gravemente el rendimiento del clúster. Si necesitas auditar las acciones de un usuario temporal de la base de datos, puedes crear un rol personalizado orientado a la auditoría, crear un usuario temporal con privilegios elevados y conceder a ese usuario el rol personalizado para auditar sus acciones.

Para auditar las acciones de un usuario de base de datos temporal:

1

Cree un rol personalizado destinado a la auditoría.

2

Para auditar las operaciones CRUD para el rol que creó, habilite la auditoría de base de datos.

3

Para auditar sus acciones, cree un usuario temporal.

Asigne al usuario el rol personalizado que creó para la auditoría. Al crear el usuario, seleccione la opción Save as temporary user y, a continuación, el periodo de existencia del usuario. Transcurrido este periodo, Atlas lo eliminará.

4

Agregue una entrada de lista de acceso IP temporal para limitar el acceso del usuario temporal a los clústeres de Atlas.

Al crear la entrada de la lista de acceso IP para el usuario temporal, seleccione la opción Save as temporary access list y, a continuación, indique el periodo de tiempo que desea que exista. Transcurrido este periodo, Atlas la elimina.

5

Para auditar las acciones del usuario de la base de datos temporal, descargue los registros.

Para obtener más información sobre las integraciones de monitoreo y registro disponibles en Atlas, consulte Monitorear sus clústeres.

Atlas ofrece las siguientes herramientas integradas para ayudarlo a administrar el volumen de datos de su clúster:

Además de estas herramientas, consulte la guía de dimensionamiento de clústeres para aprender a ajustar el tamaño de su clúster. También puede pausar un clúster para ahorrar costos apagándolo temporalmente y conservando los datos hasta por 30 días.

Hay diferentes niveles de soporte disponibles, incluidas opciones para clientes en desarrollo y para clientes empresariales.

Las posibles áreas de soporte incluyen:

  • Problemas y preocupaciones con los clústeres MongoDB bajo gestión.

  • Consultas relacionadas con el desempeño.

  • Asesoramiento sobre aplicaciones y controladores.

Volver

Solucionar problemas