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

Consejos para actualizar a la última versión de MongoDB

Las últimas versiones de MongoDB están diseñadas para integrar características nuevas o mejoradas de las versiones anteriores. Por esta razón, se recomienda ejecutar la última versión para obtener el máximo rendimiento y funciones adicionales. Además, las últimas versiones pueden deberse a errores corregidos según el control de versiones de MongoDB.

Control de versiones de MongoDB

Las versiones de MongoDB tienen la forma X.Y.Z.

  • Cuando Y es par, es decir, 4.0 o 4.2, se refiere a una serie de versiones que es estable, por lo que se recomienda para producción. En este caso, se integran nuevas características que pueden resultar en incompatibilidad con versiones anteriores.
  • Si Y es impar, es decir, 4.1 o 4.3, se refiere a una serie de desarrollo que no es estable, por lo que se recomienda solo para pruebas.
  • Z se refiere a un número de revisión/parche. Implica corrección de errores y cambios compatibles con versiones anteriores.

También es importante tener en cuenta las versiones del controlador MongoDB para garantizar una base de datos con un buen rendimiento.

Consideraciones antes de actualizar

  1. Copia de seguridad :A mitad de la actualización, puede ocurrir un bloqueo y, al final, comprometer la integridad de los datos que contenía la base de datos. Por lo tanto, se recomienda hacer siempre una copia de seguridad de los datos antes de actualizar a una determinada versión.
  2. Ventana de mantenimiento :Puede haber cierta complejidad que puede surgir al actualizar a alguna versión si se trata de conjuntos de réplicas. Uno necesita programar suficiente tiempo para este proceso para que no encuentre un tiempo de inactividad alto.
  3. Compatibilidad de versiones :Asegúrese de leer las notas de la versión y verifique si la configuración de su sistema será compatible con la versión a la que desea actualizar. Consulte también la documentación de compatibilidad de controladores en la página Compatibilidad de controladores si pueden coincidir con la versión de MongoDB a la que desea actualizar. Por ejemplo, desde MongoDB 4.2 en adelante, no hay soporte para el sistema Ubuntu 16.04 PPCLE.
  4. Cambiar secuencias :Los flujos de cambios están diseñados para que las aplicaciones accedan a los cambios de datos en tiempo real sin seguir necesariamente el registro de operaciones. Para las versiones de MongoDB anteriores a la 4.0.7, el flujo de cambios utiliza un token de reanudación de la versión 0 v0, mientras que esta versión y las sucesoras utilizan tokens de reanudación de la versión 1 v1. Se recomienda que los clientes esperen a que se complete la actualización antes de reanudar los flujos de cambios al actualizar a la versión 4.0.7.
  5. Comprobación del entorno de ensayo :asegúrese de que todas las configuraciones estén bien establecidas antes de actualizar el entorno de producción y que sean compatibles con la nueva versión a la que desea actualizar.
  6.  Principal -Secundaria -Arquitectura de árbitro (PSA) :MongoDB versión 3.6 y superior habilita la compatibilidad con la preocupación de lectura "mayoritaria" de forma predeterminada. Sin embargo, esta configuración puede generar presión en la caché de almacenamiento y la única forma de evitarlo es deshabilitar este parámetro. Sin embargo, deshabilitar este parámetro puede generar más preocupaciones, es decir:
    1. La compatibilidad con transacciones en un clúster fragmentado se verá afectada por lo siguiente:
      1. si un fragmento tiene la preocupación de lectura "mayoría" deshabilitada, arrojará un error para una transacción que escribe en varios fragmentos.
      2. La "instantánea" de inquietud de lectura no se puede usar para una transacción que involucre un fragmento con la "mayoría" de inquietud de lectura deshabilitada
    2. Los comandos de collMod que se encargan de modificar un índice desde la reversión no funcionarán. Esto dicta que si es necesario revertir una operación, se debe usar el nodo principal para volver a sincronizar los nodos afectados.
    3. También se desactivará la compatibilidad con Change Streams para MongoDB 4.0 y versiones anteriores.
    4. Las transacciones de conjunto de réplicas no se ven afectadas con la desactivación de este parámetro.

Procedimientos para la actualización

  1. Haga una copia de seguridad de sus datos.
  2. Actualice el binario mongod/mongos por separado usando la herramienta de administración de paquetes del sistema junto con los paquetes oficiales de MongoDB. También puede actualizar los mongos reemplazando los binarios existentes con nuevos binarios usando este procedimiento:
    1. Descargue los archivos binarios de MongoDB para la revisión a la que desea actualizar y almacene el archivo comprimido descargado en una ubicación temporal.
    2. Apague la instancia.
    3. Use los binarios descargados para reemplazar los binarios existentes de MongoDB.
    4. Reiniciar la instancia.
  3. Si actualiza un conjunto de réplicas, actualice cada miembro por separado comenzando con los secundarios y el principal al final. Para actualizar los secundarios:
    1. Actualizar el binario mongod
    2. Espere a que la secundaria se recupere al estado SECUNDARIO y, una vez que finalice, actualice la siguiente instancia. rs.status() se usa para verificar el estado del miembro en un shell mongo. Es posible que aparezcan los estados RECUPERACIÓN y INICIO, pero deberá esperar hasta que se recupere a SECUNDARIO.
  4. Al actualizar el primario:
    1. En un shell mongo, use rs.stepDown() para reducir el principal como una forma de iniciar una conmutación por error normal. Dado que no se aceptarán escrituras durante el período, se recomienda realizar la actualización en el menor tiempo posible.
    2. Hasta que vea que otro miembro ha sido elegido para ser el principal, actualice los archivos binarios del principal cerrado.
    3. Reinicie el principal después de que se complete la actualización, pero si verifica su estado, rs.status(), podría etiquetarse como secundario.
  5. Para actualizar un clúster fragmentado de MongoDB 4.4:
    1. Asegúrese de que el equilibrador se haya desactivado.
    2. Actualice los servidores de configuración de la misma manera que actualizó el conjunto de réplicas.
    3. Actualice el fragmento utilizando el procedimiento correspondiente, es decir, un conjunto de réplicas o uno independiente.
    4. Actualice cada instancia de mongos en orden.
    5. Vuelva a habilitar el equilibrador.

Conclusión

Con el tiempo, los datos se vuelven más complejos, por lo que requieren funciones de base de datos avanzadas que puedan cumplir con las especificaciones de los administradores de bases de datos. MongoDB no recurre a esto, ya que siempre lanza versiones de la base de datos con errores corregidos o funciones recién integradas. Se recomienda actualizar siempre a la última versión de MongoDB para obtener el máximo rendimiento. Sin embargo, antes de realizar una actualización, es necesario comprobar las notas de la versión de la versión a la que desea actualizar si es compatible con su sistema. También se recomienda actualizar los controladores MongoDB correspondientes.