Revise este documento, incluidos los requisitos previos, antes de actualizar a MongoDB 8.0.
MongoDB 8.0 introduce mejoras significativas en el rendimiento de MongoDB 7.0, incluyendo, pero no limitándose a:
Hasta un 36% mejor rendimiento de lectura.
Hasta un 32% mejor rendimiento para aplicaciones web tÃpicas.
Escrituras concurrentes hasta un 20% más rápidas durante la replicación.
Nota
La cantidad de mejora del rendimiento puede variar según la configuración de tus cargas de trabajo e instancias de base de datos.
Para aprender más, consultar Mejoras de rendimiento.
Los siguientes pasos describen el procedimiento para actualizar un mongod autónomo de la versión 7.0 a la versión 8.0.
Si se necesita orientación sobre cómo actualizar a 8.0, los servicios profesionales de MongoDB ofrecen soporte para la actualización de versiones principales para ayudar a garantizar una transición sin problemas y sin interrupciones en la aplicación MongoDB.
Recomendaciones de actualizaciones y listas de verificación
Al actualizar, considere lo siguiente:
Ruta de actualización de versión
Para actualizar una implementación existente de MongoDB a 8.0, se debe estar ejecutando una versión de la serie 7.0.
Para actualizar desde una versión anterior a la serie 7.0, debe actualizar sucesivamente las versiones principales hasta que se haya actualizado a la serie 7.0. Por ejemplo, si se está ejecutando una serie 6.0, primero se debe actualizar a 7.0 antes de poder actualizar a 8.0.
Verifique la compatibilidad del controlador
Antes de actualizar MongoDB, se debe comprobar que se está usando un driver compatible con MongoDB 8.0. Se debe consultar la documentación del driver para el driver especÃfico que se está usando y verificar la compatibilidad con MongoDB 8.0.
Las implementaciones actualizadas que se ejecutan en controladores incompatibles podrÃan experimentar un comportamiento inesperado o indefinido.
Preparación
Antes de actualizar, se puede consultar el documento Cambios de compatibilidad en MongoDB 8.0 para garantizar que las aplicaciones e implementaciones sean compatibles con MongoDB 8.0. Se pueden resolver las incompatibilidades en la implementación antes de comenzar la actualización.
Antes de actualizar MongoDB, siempre se debe probar la aplicación en un entorno de pruebas antes de implementar la actualización en el entorno de producción.
Consideración de reducción de versión
No se puede degradar la versión binaria de la implementación sin asistencia de soporte técnico.
Para aprender más, consultar Degradar 8.0 a 7.0.
Requisitos previos
Compatibilidad de caracterÃsticas entre versiones
La instancia 7.0 debe tener featureCompatibilityVersion configurado en "7.0". Para comprobar featureCompatibilityVersion, se debe ejecutar el siguiente comando:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )La operación devuelve un documento que incluye "featureCompatibilityVersion" : { "version" : "7.0" }.
Para establecer o actualizar featureCompatibilityVersion, ejecute el siguiente comando:
db.adminCommand( { setFeatureCompatibilityVersion: "7.0", confirm: true } )Para obtener más información, consulte db.adminCommand() y setFeatureCompatibilityVersion.
Considerar convertir a set de réplicas
Antes de actualizar, considere convertir su implementación autónoma a un set de réplicas. Los sets de réplicas son la configuración de implementación recomendada para MongoDB.
Remover colecciones system.buckets no válidas
Cuando actualice a MongoDB 8.0, si tiene alguna colección system.buckets que no sea una colección de series de tiempo, es posible que deba drop o rename esas colecciones antes de actualizar, según su versión de parche 8.0:
- MongoDB 8.0.5 y posterior
- No es necesario descartar las colecciones
system.bucketsque no sean colecciones de serie de tiempo antes de actualizar. Sin embargo, debes descartarlas o renombrarlas después de completar la actualización. - MongoDB 8.0.4 y versiones anteriores
- Debe descartar o cambiar el nombre de
system.bucketscolecciones que no sean colecciones de series temporales antes de realizar la actualización. Todas las coleccionessystem.bucketsdeben tener opciones válidas de series de tiempo configuradas antes de actualizar a las versiones 8.0.0 - 8.0.4.
Para determinar si tienes colecciones system.buckets que no sean colecciones de series de tiempo, usa el método db.getCollectionInfos() con un filtro:
db.getCollectionInfos( { $and: [ { name: { $regex: /^system\.buckets/ } }, { 'options.timeseries': { $exists: false } } ] })Descargue 8.0 Binarios
Uso de un administrador de paquetes
Si se instaló MongoDB desde los repositorios de MongoDB apt, yum, dnf o zypper, se deberÃa actualizar a 8.0 usando el administrador de Paquetes.
Siga las instrucciones adecuadas de instalación de8.0 para su sistema Linux. Esto requiere agregar un repositorio para la nueva versión y luego realizar el proceso de actualización real.
Manualmente
Si no se ha instalado MongoDB usando un administrador de paquetes, se pueden descargar manualmente los binarios de MongoDB desde el Centro de Descargas de MongoDB.
Consultar instrucciones de instalación 8.0 para obtener más información.
Procedimiento de actualización
Reemplazar los binarios 7.0 con los binarios 8.0.
Es importante asegurarse de que los binarios de la serie 8.0 estén en el PATH del Sistema. Para confirmar la versión binaria utilizada, se debe ejecutar el siguiente comando:
mongod --versionEl resultado del comando indica una versión de la serie 8.0.
Activar las caracterÃsticas 8.0 incompatibles con versiones anteriores.
En este punto, se pueden ejecutar los binarios 8.0 sin las caracterÃsticas 8.0 que son incompatibles con 7.0.
Para activar estas caracterÃsticas 8.0, se debe establecer la compatibilidad de caracterÃsticas entre versiones (FCV) a 8.0. También debe establecer confirm en verdadero si se actualiza a 7.0 o posterior.
Tip
Activar estas caracterÃsticas incompatibles con versiones anteriores puede complicar el proceso de degradación, ya que se debe remover cualquier caracterÃstica incompatible con versiones anteriores que persista antes de realizar la degradación.
Se recomienda que, tras la actualización, se permita que la implementación se ejecute sin habilitar estas caracterÃsticas durante un periodo de prueba para asegurar que la probabilidad de reversión sea mÃnima. Cuando se esté seguro de que la probabilidad de degradación es mÃnima, se pueden activar estas caracterÃsticas.
Ejecutar el comando setFeatureCompatibilityVersion contra la base de datos admin:
db.adminCommand( { setFeatureCompatibilityVersion: "8.0", confirm: true })Si se establece el valor confirm en true, la operación podrá continuar. Si se omite el parámetro confirm o se establece confirm en un valor distinto de true, el comando falla y devuelve una advertencia sobre la modificación de la compatibilidad de caracterÃsticas entre versiones. La advertencia indica que después de actualizar o degradar la compatibilidad de caracterÃsticas entre versiones (FCV) del clúster, no se puede degradar la versión binaria sin asistencia del soporte técnico.
Este comando debe realizar guardados en una colección interna del sistema. Si por alguna razón el comando no se completa correctamente, puede volver a intentarlo con seguridad, ya que la operación es idempotente.
Solución de problemas
Si mongod sale, MongoDB devuelve un código de error. Para solucionar problemas con tu actualización, consulta Códigos de error o Códigos de Salida y Estados para una Implementación Autogestionada.
Si experimenta problemas de inicio al actualizar, póngase en contacto con el soporte de MongoDB para obtener ayuda.
Procedimientos de actualización adicionales
Para actualizar un set de réplicas, se puede consultar Actualizar un set de réplicas a 8.0.
Para actualizar un clúster particionado, se puede consultar Actualizar un clúster particionado a 8.0.