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

Clústeres MongoDB de alto rendimiento en Amazon EC2

El rendimiento es una consideración importante al implementar MongoDB en AWS. Desde una perspectiva de hardware, el rendimiento de MongoDB en EC2 depende principalmente de dos factores:RAM y velocidad del disco. Por lo general (siempre hay excepciones), la CPU no debería ser un problema, ni la memoria, ya que hay muchas opciones de tamaño disponibles (R3, I2, C3/C4) que ofrecen una gran cantidad de RAM. Para obtener más detalles sobre cómo elegir el tipo de instancia correcto, consulte mi otra publicación de blog: Cómo elegir el tipo de instancia EC2 correcto

Históricamente, la velocidad y la latencia del disco han sido un problema constante en Amazon EBS. Sin embargo, Amazon Web Services ahora ofrece un par de opciones para ayudarlo con el rendimiento del disco:

  1. Discos IOPS aprovisionados

    En el modelo de IOPS aprovisionadas, puede especificar en el momento de la creación del disco la cantidad de IOPS que desea que admita su disco. Cuantas más IOPS aprovisione, más rendimiento podrá manejar su disco. ¡Puede llegar hasta 4000 IOPS/disco! Sin embargo, IOPS puede ser costoso a $0.065 por mes de IOPS. Por ejemplo, si aprovisiona 4000 IOPS para el disco, le costará 260 USD al mes solo por las IOPS. Esto puede acumularse rápidamente si tiene varios servidores.

  2. SSD locales

    Esta es la mejor opción para el rendimiento del disco en Amazon AWS. Los SSD locales ofrecen el mejor comportamiento de rendimiento y latencia de todas las opciones de disco de AWS. Sin embargo, se llaman "locales" por una razón. Si, por algún motivo, su máquina virtual (VM) se detiene, se libera el almacenamiento local asignado. Por lo tanto, la carga de la confiabilidad de los datos recae directamente sobre el usuario. ¿Podría implementar dos almacenes de datos SSD locales en dos zonas de disponibilidad (AZ) diferentes y llamarlo resuelto? No exactamente. Si AWS tiene una interrupción en toda la región como sucedió en el este de EE. UU. unos años antes, debe esperar perder sus SSD locales en todas sus AZ. Por estos motivos, las instancias SSD locales no deben utilizarse como almacén de datos principal para sus datos.

MongoDB de alto rendimiento:conjunto de réplicas de 3 nodos

Con estos problemas en mente, presentamos nuestra configuración MongoDB de alto rendimiento en AWS. Los clústeres de alto rendimiento utilizan un híbrido de SSD local y disco IOPS aprovisionado por EBS para lograr un alto rendimiento y una alta confiabilidad. Una configuración típica se implementa mediante un conjunto de réplicas de 3 nodos.

  • Principal y Secundario 1 usan discos SSD locales
  • Secondary 2 utiliza IOPS aprovisionadas de EBS

Conjunto de réplicas de 3 nodos MongoDB de alto rendimiento

¿Qué significa esto? Dado que el Primario y el Secundario 1 se ejecutan en SSD local, obtiene el mejor rendimiento de disco posible de sus máquinas de AWS. No más EBS basado en red, solo SSD local increíblemente rápido. Lee y escribe en su principal e incluso las lecturas del secundario 1 funcionarán a la velocidad de SSD. Secundario 2 utiliza IOPS aprovisionadas de EBS para el disco de datos y puede configurar la cantidad de IOPS para configurar su clúster. Esta configuración brinda total seguridad para sus datos, incluso en el caso de que use los discos SSD locales. Actualmente ofrecemos cuatro tamaños:grande, extragrande, X2XLarge, X4XLarge. Para obtener más detalles, consulte las secciones Traiga su propia nube (BYOC) y Clústeres dedicados en nuestra página de precios.

Si tiene una carga de trabajo de escritura muy alta, es posible que su instancia de EBS no pueda seguir el ritmo de sus instancias de SSD. En este escenario, hay algunas opciones disponibles y nuestro equipo de soporte estará encantado de guiarlo a través de ellas. Toda nuestra funcionalidad existente, incluidas las copias de seguridad, las restauraciones, los clones, el escalado, la compactación, etc. continúan funcionando como de costumbre. Si tiene más preguntas, comuníquese con nosotros a [email protected].