Overview
Con MongoDB Atlas como tu plataforma de datos, tu enfoque operativo puede alejarse de las tareas operativas y flujos de trabajo mundanos requeridos para compilar y mantener la infraestructura de la base de datos, permitiéndote concentrarte en ayudar a los ingenieros a agregar valor al negocio. En lugar de mantener el hardware y estar al día con los parches de software a nivel de 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 exitosa en producción de MongoDB utilizando clústeres de MongoDB Atlas.
Para más mejores prácticas de Atlas, consulta el Centro de Arquitectura de Atlas.
Tip
Para aprender sobre consideraciones de dimensionamiento, consulta Dimensionamiento de clústeres de Atlas y selección de nivel.
Para obtener más información sobre resiliencia, consulte Compile una aplicación resiliente con MongoDB Atlas.
Para obtener más información sobre Continuous Cloud Backup. ver Recupera un punto en el tiempo con las copias de seguridad continuas en la nube.
Roles y responsabilidades
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:
Gestione los clústeres de bases de datos y la infraestructura subyacente, asegurando la disponibilidad, estabilidad y rendimiento de MongoDB, respaldado por un 99.995% Acuerdo de Nivel de Servicio (SLA) de disponibilidad para clústeres de tamaño
M10y más grande.Asegura la salud de los nodos de cómputo subyacentes. Asegúrate de que están activos, que tienen conectividad de red y que cuentan con todos los parches recomendados a nivel de sistema operativo para mantener el Acuerdo de Nivel de Servicio (ANS) de tiempo de actividad.
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.
Administra el perfil de seguridad, incluidos el Control de Acceso Basado en Roles, adición de direcciones IP a una lista de acceso IP y emparejamiento para maximizar la seguridad del clúster según las indicaciones del cliente.
Proporcionar servicios de respaldo y restauración.
El cliente continúa desarrollando e implementando aplicaciones que acceden a MongoDB, sin tener que gestionar directamente los recursos subyacentes de la base de datos y/o la infraestructura.
Gestión de clústeres
Importante
Atlas no admite la migración de clústeres de un Proyecto a otro. En su lugar, 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 necesitas crear más proyectos que el límite de 250 organizaciones de Atlas, crea 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, divide tus clústeres en proyectos que tengan sentido para tus casos de uso. Esto permite la máxima eficiencia empresarial con una fricción operativa mínima.
Tip
Utiliza Facturación de varias organizaciones para vincular varias organizaciones de Atlas y recibir una sola factura por todas ellas. Para obtener más información, consulta Casos de uso de facturación en varias organizaciones.
El nivel de la organización
A nivel de Organización, puedes implementar controles de seguridad y crear usuarios que funcionen en uno o más Proyectos. La facturación de Atlas se realiza a nivel de la organización.
Para controlar eficientemente el acceso y los privilegios de los usuarios, puedes agruparlos en equipos a nivel de la Organización.
Importante
No incluyas información sensible en los nombres de tu organización.
El nivel del proyecto
Los proyectos ofrecen un aislamiento de seguridad y un límite de autorización, por lo que normalmente son asignados por el equipo de la aplicación y el entorno de la aplicación. Por ejemplo, dentro de dos equipos de aplicación puede haber seis proyectos: uno para cada equipo en los entornos de Desarrollo, Preproducción 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.
Las personas usuarias con el rol de
Project Read Onlypueden acceder a la supervisión a nivel de proyecto y a los metadatos de la salud del sistema sin tener acceso a ningún dato de colección ni a operaciones administrativas.Los usuarios con el rol pueden escalar clústeres y realizar otras operaciones administrativas, pero no tienen acceso a nivel de
Project Cluster Managerdatos.
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 del clúster flexible.
Otras responsabilidades a nivel de proyecto incluyen:
Configura la protección contra terminación para evitar que los usuarios borren accidentalmente tu clúster.
Implementar funcionalidades opcionales de seguridad empresarial, que incluyan:
Configura la configuración de acceso a la red, incluyendo:
Define alertas de base de datos apropiadas a través de la interfaz de Atlas o la API y responde a aquellas que requieran atención.
Integrate con sistemas de supervisión/alerta externos, como DataDog y New Relic.
Importante
A partir del miércoles 16 de junio de 2021, New Relic ya no ofrece compatibilidad con la integración basada en complementos con MongoDB. No recomendamos registrarse para la integración basada en complementos.
Para aprender más, consulte la instrucción EOL del Plugin de New Relic.
Importante
No incluyas información sensible en los nombres de tus proyectos.
Convenciones de nomenclatura de clústeres
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.
Evita caracteres especiales.
Junta palabras con guiones o guiones bajos. Evita los espacios en blanco entre palabras.
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-websitestaging-gcp-internaldev-azure-analytics
Clústeres de una sola región y de múltiples regiones
La alta disponibilidad y durabilidad del clúster dependen de la configuración de implementación geográfica del clúster. Los clústeres que se implementan dentro de una sola región se distribuyen entre zonas de disponibilidad dentro de esa región, por lo que pueden soportar interrupciones parciales del servicio de la región sin que se interrumpa la disponibilidad de lectura o guardado.
Puede optar por distribuir sus clústeres en dos o más regiones para una mayor resiliencia y aislamiento de cargas de trabajo.
El orden de las regiones determina el orden de prioridad para la ubicación del nodo primario. Por lo tanto, si deseas dirigir las operaciones de escritura en la base de datos a una región en particular cuando esa región esté disponible, debes listar esa región primero. La segunda región de la lista debe ser la segunda opción para donde deben dirigirse los guardados si la primera región no está disponible.
El siguiente ejemplo de Atlas en la IU de Crear un clúster muestra un clúster multiregional con nodos elegibles en tres regiones diferentes, organizados por prioridad de mayor a menor:

Si el us-east-1 region queda indisponible, se elegirá un nuevo primario 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.
Implementación en dos regiones
Implementar un clúster en dos regiones garantiza que siempre se mantenga una copia de los datos en más de una región. Sin embargo, la pérdida de la región que contiene la mayoría de los nodos del clúster dejará la segunda región en un estado de solo lectura hasta que un administrador intervenga o la región original se vuelva disponible.
Implementación en tres o más regiones
Implementar un clúster en tres o más regiones garantiza que el clúster pueda soportar una Interrupción del servicio completa a nivel de región y mantenga la disponibilidad de lectura y guardar, siempre que la capa de la aplicación sea tolerante a fallas.
Si mantener las operaciones de guardar en su región preferida en todo momento es una prioridad alta, se recomienda implementar el clúster de modo que al menos dos nodos elegibles se encuentren en al menos dos centros de datos dentro de su región preferida.
Clústeres globales
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.
Información confidencial
No proporciones información sensible como información de identificación personal (PII) o información de salud protegida (PHI) para los siguientes ítems:
Gestión de aplicaciones
Las responsabilidades a nivel de aplicación incluyen:
Diseño de esquemas, incluyendo la optimización de consultas e índices.
Selección de nivel y topología del clúster. Elegir el tamaño y la topología del clúster adecuados (conjuntode réplicas o clúster fragmentado), junto con la capacidad de almacenamiento y las IOPS, es crucial para un rendimiento óptimo de la base de datos.
Aprovisionamiento de clústeres no productivos. Las copias de seguridad de producción se pueden restaurar en clústeres no productivos mediante la interfaz de usuario de Atlas o la API.
Planificación de capacidad. Determinar cuándo se necesita capacidad computacional adicional, generalmente utilizando la telemetría de supervisión que proporciona Atlas. Se puede añadir capacidad adicional sin tiempo de inactividad de la aplicación y, opcionalmente, se puede activar el escalado automático para responder automáticamente a picos de uso.
Decidir cuándo implementar una actualización de versiónimportante de la base de datos.
Implementar y probar un plan de respaldo y restauración.
Garantizar que las aplicaciones gestionen correctamente la conmutación por error del clúster mediante pruebas.
Configurando servicios de análisis de datos con herramientas como BI Connector y Charts.
Escalar clústeres
MongoDB Atlas ofrece dos métodos de escalado, vertical y horizontal.
El escalado vertical implica aumentar la capacidad de almacenamiento de un clúster, la potencia informática y/o Tasa de IOPS. El escalado vertical puede lograrse rápidamente y es útil para los periodos de uso máximo. El escalado vertical desde clústeres Free o Flex requiere unos minutos de inactividad. El escalado entre clústeres dedicados (M10 y superiores) se produce sin tiempo de inactividad.
Al hacer escalado vertical, se recomiendan los clústeres M30 y superiores para los entornos de producción. Puedes utilizar los siguientes niveles de clúster como entornos de producción para aplicaciones de bajo tráfico, pero se recomienda utilizar estos niveles para entornos de desarrollo:
{+Clústeres flexibles+}
M10yM20{+Clusters dedicados+}
El escalado horizontal implica implementar granularidad o agregar particiones en un clúster particionado existente. La escalado horizontal requiere una planificación y ejecución cuidadosas, y forma parte de una estrategia de crecimiento a largo plazo para los clústeres de M30+. También puedes reducir el número de particiones en un clúster particionado.
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
moveCollectionutilizando el comando movePrimary. Para obtener más información sobre las limitaciones demoveCollection, consulta Restricciones.movePrimaryes 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.
Puedes configurar Atlas para escalar automáticamente el nivel de clúster y la capacidad de almacenamiento del clúster en respuesta a un aumento en el uso del clúster, lo que permite una respuesta rápida y automatizada a la necesidad de una mayor potencia informática de almacenamiento.
Gestionar Windows de mantenimiento
Atlas realiza operaciones de mantenimiento periódicas para garantizar la seguridad, estabilidad y actualización de sus clústeres. De forma predeterminada, el mantenimiento se ejecuta automáticamente de forma continua para garantizar la disponibilidad continua. Sin embargo, puede configurar ventanas de mantenimiento para controlar mejor cuándo se realizan estas operaciones.
los períodos de mantenimiento son especialmente útiles para:
Alinear el mantenimiento entre los entornos: Retrase el mantenimiento una o dos semanas en algunos entornos para probar las actualizaciones en desarrollo o pruebas antes de que lleguen a producción.
Controla el tiempo y las notificaciones: programa el mantenimiento durante las horas valle y recibe notificaciones anticipadas para que puedas planificar en consecuencia.
Lotes de operaciones de mantenimiento: utilice la funcionalidad de auto-retraso para consolidar automáticamente varias operaciones de mantenimiento, reduciendo el número total de eventos de mantenimiento que experimentan sus clústeres.
Los periodos de mantenimiento se aplican a Clústers Dedicados (M10 y superiores) y se configuran a nivel de Proyecto. Para obtener más información sobre cómo configurar los periodos de mantenimiento y utilizar funcionalidades como el auto-diferimiento, consulta Configurar periodo de mantenimiento.
Multiarrendamiento
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.
Delegar y consultar datos de ficheros
Como parte del ciclo de vida de los datos, si necesitas trasladar datos fríos a un nivel de almacenamiento diferente, puedes configurar una regla de Archivo en línea de Atlas para trasladar datos en función de una fecha o criterios personalizados. Una vez que Atlas almacena tus datos de acceso poco frecuente, tienes una vista unificada de tus datos de Atlas y del fichero en linea a través de una instancia federada de base de datos de solo lectura.
Consulta de datos federados
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.
Auditar usuarios temporales de bases de datos
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 temporal de la base de datos:
Crear un rol personalizado para auditar.
Crea un rol personalizado dirigido a auditar.
Habilita auditar la base de datos.
Para auditar las operaciones CRUD para el rol que creó, habilite la auditoría de base de datos.
Crear un usuario temporal.
Para auditar sus acciones, crea 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á.
Agregar una entrada a la lista de acceso IP temporal.
Agrega una entrada temporal a la lista de acceso IP para limitar el acceso de los usuarios temporales 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.
Descarga los registros.
Para auditar las acciones del usuario temporal de la base de datos, descarga los registros.
Integraciones opcionales de monitoreo y registro
Para obtener más información sobre las integraciones de supervisión y registro disponibles en Atlas, consulta Supervisa Tus Clústeres.
Administrar el volumen de datos del clúster
Atlas ofrece las siguientes herramientas integradas para ayudarte a gestionar el volumen de datos de tu clúster:
El escalamiento automático del clúster reacciona automáticamente a la carga de su aplicación y ajusta el nivel del clúster.
Online Archive automatiza el archivado de datos a los que se accede con poca frecuencia.
Search Nodes escalar independientemente y delegar el almacenamiento de índices de MongoDB Search y MongoDB Vector Search de tu clúster.
Índices TTL eliminan automáticamente los documentos de una colección de series de tiempo para liberar espacio.
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.
Soporte
Hay disponibles diferentes niveles de soporte, incluidas opciones para clientes en desarrollo y para clientes empresariales.
Las posibles áreas de soporte incluyen:
Problemas y preocupaciones con los clústeres de MongoDB en gestión.
Consultas relacionadas con el desempeño.
Consulta del lado de la aplicación y controlador.