sql >> Base de Datos >  >> NoSQL >> MongoDB

La mejor manera de alojar MongoDB en DigitalOcean

MongoDB es la base de datos de código abierto n.º 3 y la base de datos NoSQL n.º 1 del mundo. Es una base de datos multiplataforma orientada a documentos que utiliza documentos similares a JSON con esquema y se aprovecha ampliamente en aplicaciones de inicio hasta empresas de nivel empresarial que desarrollan aplicaciones modernas. Si bien puede suponer que la gran mayoría de las implementaciones de bases de datos en la nube se ejecutan en AWS, Azure o Google Cloud Platform, las pequeñas y medianas empresas en particular están gravitando hacia el proveedor de nube amigable para desarrolladores, DigitalOcean, por su alojamiento para MongoDB® necesidades. En esta publicación, lo guiaremos a través de la mejor manera de alojar MongoDB en DigitalOcean, incluidos los mejores tipos de instancias para usar, tipos de disco, estrategia de replicación y proveedores de servicios administrados.

Ventajas de DigitalOcean para MongoDB

Entonces, ¿qué hace que DigitalOcean sea una alternativa convincente a otros proveedores de alojamiento de MongoDB populares como AWS y Azure? Como se mencionó anteriormente, DigitalOcean es muy amigable para los desarrolladores con su plataforma simple y fácil de entender:no necesita obtener la certificación a través de este proveedor de la nube para poder poner en marcha su implementación con confianza. Ofrecen alojamiento en la nube basado en SSD con precios sencillos a partir de solo $ 5 / mes, lo que lo hace ideal (y asequible) para que los desarrolladores creen, prueben e implementen sus nuevas aplicaciones sin problemas en la nube. Lo más impresionante es que no está comprometiendo el rendimiento por el costo. Realizamos pruebas de rendimiento para MongoDB en DigitalOcean frente a AWS frente a Azure y descubrimos que el rendimiento de DigitalOcean estaba en línea, si no mejor, tanto en el alto rendimiento como en la baja latencia en la implementación.

Gotas de DigitalOcean

DigitalOcean se especializó en máquinas virtuales basadas en SSD llamadas Droplets que se dividen en cuatro categorías simples. El Droplet más básico es su instancia estándar que usa CPU compartida a partir de solo $ 5 / mes. Si bien es adecuado para aplicaciones de poco tráfico, bases de datos pequeñas y entornos de desarrollo/prueba, no recomendamos aprovechar los clústeres compartidos para sus implementaciones de producción de MongoDB. También ofrecen un Droplet optimizado para CPU dedicado que es suficiente para cargas de trabajo intensivas de CPU, pero ofrecen poca memoria que no es ideal para el alojamiento de MongoDB.

Si está implementando una carga de trabajo de MongoDB de tamaño mediano, le recomendamos su Droplet de uso general más popular, que es una instancia dedicada que ofrece 4 GB de memoria para cada vCPU. Esto suele ser más que adecuado para implementaciones de producción y aplicaciones de alto tráfico, y comienza en $60/mes por 8 GB de memoria, 2 vCPU, 4 TB de transferencia y 25 GB de espacio en disco SSD. DigitalOcean también lanzó recientemente sus Droplets optimizados para memoria, que son instancias dedicadas que están diseñadas para aplicaciones con uso intensivo de RAM y bases de datos de alto rendimiento, lo que las convierte en una solución atractiva para aplicaciones MongoDB de gran carga de trabajo.

Puede implementar MongoDB en DigitalOcean en 12 regiones de centros de datos en todo el mundo, incluidos los Estados Unidos (Nueva York y San Francisco), Canadá, los Países Bajos, Singapur y el Reino Unido. , Alemania y la India.

Tipos de discos de DigitalOcean

Una de las razones por las que MongoDB funciona tan bien en DigitalOcean es por sus discos SSD, que son ideales para implementaciones de bases de datos en la nube. Brindan un gran rendimiento que ofrece beneficios significativos para ejecutar un índice en su base de datos o reparar una máquina, lo que le ahorra una cantidad significativa de tiempo en comparación con una implementación estándar de MongoDB en AWS. Incluso ofrecen una latencia sorprendentemente baja desde Amazon AWS US-East hasta el centro de datos de DigitalOcean New York, lo cual es excelente para las aplicaciones que ejecutan su frente en el nivel medio en AWS, pero les gustaría usar DigitalOcean para sus clústeres de MongoDB.

Estrategias de replicación de MongoDB

Si está ejecutando MongoDB en DigitalOcean en producción, la mejor práctica es implementar mediante un conjunto de réplicas para garantizar una alta disponibilidad y redundancia de datos para sus clústeres. DigitalOcean, junto con AWS y Azure, ofrecen un SLA de tiempo de actividad del 99,99 %, pero aunque eso suena casi perfecto, ese 0,01 % equivale a 52,6 minutos de tiempo de inactividad en un año. Eso es casi una hora en la que su base de datos se vuelve inaccesible para sus clientes, visitantes y empleados, lo que puede tener un impacto significativo en la retención de sus clientes y la reputación de su marca.

Conjuntos de réplicas de MongoDB

Afortunadamente, puede mitigar en gran medida el riesgo de que su implementación falle con la pérdida de un centro de datos configurando un conjunto de réplicas de 3 nodos distribuidos geográficamente para MongoDB en DigitalOcean. Hay un par de opciones para configurar esta configuración, la primera es una configuración de árbitro primario-secundario que proporciona 2 nodos portadores de datos y un árbitro que actúa como miembro votante para determinar qué réplica debe hacerse cargo en caso de que una no esté disponible. . Esta es la opción más económica ya que el árbitro no almacena ningún dato y su implementación cuesta menos, pero también ofrece 1 nodo menos que puede tomar el control en un evento de conmutación por error. La estrategia de replicación óptima sería una configuración Primaria-Secundaria-Secundaria que aproveche 3 nodos portadores de datos y le permita conmutar por error a 2 centros de datos separados en caso de que su región principal se caiga.

La mejor manera de hospedar #MongoDB en DigitalOceanHaga clic para twittear

fragmentación MongoDB

La fragmentación de MongoDB es una forma avanzada de implementación que le permite escalar horizontalmente sus datos en varias máquinas. Esta es una configuración muy compleja de configurar y administrar, ya que cada fragmento contiene varios conjuntos de réplicas y se puede distribuir en diferentes ubicaciones de centros de datos para lograr una alta disponibilidad. La fragmentación es ideal para conjuntos de datos muy grandes o implementaciones de alto rendimiento que requieren más capacidad de la que puede obtener con un solo servidor. Donde la implementación típica se escala verticalmente al agregar más capacidad a un servidor cuando es necesario, la fragmentación le permite escalar horizontalmente al dividir sus datos y la carga en varias máquinas. Una vez que haya configurado su entorno fragmentado, puede agregar más fragmentos según sea necesario para respaldar el crecimiento de su aplicación.

En ScaleGrid, ofrecemos configuraciones independientes, 2 réplicas + árbitro, 3 réplicas y fragmentación avanzada para alojar MongoDB en DigitalOcean bajo nuestro plan de alojamiento dedicado que comienza con un tamaño de plan Micro a $35/ mes hasta un plan X4XLarge con 16 cores, 48GB de RAM y 950GB de almacenamiento. También puede personalizar su conjunto de réplicas de MongoDB con un número ilimitado de réplicas para las necesidades de su aplicación.

Alojamiento MongoDB administrado en DigitalOcean

Ahora llegamos a la última pregunta:¿debería autogestionar su MongoDB en implementaciones de DigitalOcean o aprovechar una plataforma de base de datos como servicio (DBaaS) totalmente gestionada? La respuesta se reduce a su tiempo, conocimiento y accesibilidad permanente para manejar cualquier problema crítico que surja con su implementación.

Tareas de administración y mantenimiento

Las plataformas MongoDB DBaaS le permiten automatizar todas sus operaciones de administración y mantenimiento que consumen mucho tiempo, como actualizaciones de versión, escalado, copias de seguridad gratuitas, restauraciones, aprovisionamiento, desaprovisionamiento, replicación, compactación, indexación administración, parches del sistema operativo y rotaciones de registros. Dependiendo del tamaño de su implementación, esto puede llevarle de 1 a 2 días por mes, hasta un ejército de tiempo completo de expertos de MongoDB que trabajan las 24 horas. Un gran beneficio de aprovechar una plataforma DBaaS es que elimina el riesgo de error humano ya que las operaciones de administración están automatizadas para usted. También mantiene sus clústeres de MongoDB en DigitalOcean completamente seguros y actualizados para que no abra sus implementaciones a posibles errores o amenazas que pueden presentarse con una base de datos descuidada.

Supervisión del rendimiento

El monitoreo también es un componente importante para administrar una implementación de MongoDB. Con una plataforma DBaaS, puede automatizar alertas en todas sus métricas clave de MongoDB para estar informado en el momento en que se alcanza un umbral no deseado y acceder a una consola de monitoreo avanzada para analizar todas sus métricas de MongoDB y OS en sus instancias primarias y secundarias. y durante cualquier período de tiempo. Además, con un DBaaS como ScaleGrid, puede aprovechar el Analizador de consultas lentas que le permite visualizar consultas de ejecución lenta y optimizarlas antes de que comiencen a afectar el rendimiento de su implementación.

Soporte para la resolución de problemas

Por último, pero no menos importante, está la accesibilidad al soporte. Si te ha despertado a las 4:00 am una llamada desesperada de tu jefe preguntándote por qué tu aplicación no funciona y qué tan rápido puedes recuperarla, sabes exactamente de lo que estoy hablando. Cada minuto de tiempo de inactividad puede generarle miles de dólares en negocios y, lo que es peor, una brecha de seguridad podría cerrar su negocio por completo y poner una mancha eterna en su reputación. Al aprovechar una plataforma DBaaS, puede adelantarse a más del 90 % de estos problemas críticos y tener un equipo de expertos de MongoDB a su lado las 24 horas del día, los 7 días de la semana para el 10 % inevitable que lo ayudará a identificar y resolver rápidamente los problemas para lograr su implementación. volver a un estado saludable y en funcionamiento.

En ScaleGrid, identificamos a DigitalOcean como una estrella prometedora para alojar MongoDB y computación en la nube en general en 2013, y fuimos los primeros DBaaS plataforma para lanzar soporte para MongoDB DigitalOcean. Todavía hoy, somos la única plataforma DBaaS completamente administrada que le permite automatizar su alojamiento para MongoDB en DigitalOcean y aprovechar las herramientas de administración de bases de datos de nivel empresarial para optimizar el rendimiento, la seguridad y la disponibilidad de su implementación en la nube. Si está interesado en probar algunas de las capacidades avanzadas de un DBaaS para MongoDB en DigitalOcean, puede iniciar una prueba gratuita de 30 días sin necesidad de tarjeta de crédito para explorar las herramientas de automatización y consultar la página Comparar proveedores de MongoDB para vea cómo nos comparamos con MongoDB Atlas, mLab, ObjectRocket y Compose para MongoDB.