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

Comprender las opciones de copia de seguridad de MongoDB

Los flujos de trabajo de copia de seguridad y restauración son extremadamente importantes para cualquier clúster de producción de MongoDB. Además de la funcionalidad real de copia de seguridad y restauración, también debe considerar otras funciones no funcionales, como la disponibilidad de copias de seguridad, la seguridad, el tiempo de recuperación, la granularidad de la recuperación, etc. En un nivel alto, tiene tres opciones para hacer una copia de seguridad de su servidor MongoDB:

  1. Mongodump/Mongorestore
  2. Administrador de la nube de MongoDB
  3. Instantáneas del disco

Cada una de las tres técnicas anteriores tiene sus pros y sus contras. Lea a continuación para comprender con más detalle.

1. Mongodump / Mongorestore

Mongodump es la herramienta de copia de seguridad de "inicio" para la mayoría de los desarrolladores de MongoDB. Probablemente así es como la mayoría de los desarrolladores comienzan a hacer una copia de seguridad de su base de datos MongoDB. La herramienta Mongodump es realmente simple de usar y descarga todos los datos de la base de datos en formato binario (BSON) que puede almacenar en la ubicación que elija.

Pros:

  1. Fácil de usar.
  2. Flexibilidad en el lugar donde se almacena la copia de seguridad - una vez que se completa el volcado, puede moverlo a cualquier ubicación de su elección:recursos compartidos de NFS, AWS S3, etc.

Desventajas:

  1. Copia de seguridad completa, cada vez:es una copia de seguridad completa, no una diferencia de su copia de seguridad anterior. Por lo tanto, a medida que su base de datos crece, puede llevar horas completar la copia de seguridad y es difícil de almacenar.
  2. No es un punto en el tiempo – La copia de seguridad creada por mongodump no es una instantánea de un momento dado de forma predeterminada. Por lo tanto, si sus datos cambian durante la copia de seguridad, puede terminar con un mongodump que es inconsistente desde la perspectiva de la aplicación. Puede remediar esto usando la opción “–oplog” que toma una instantánea al final del proceso mongodump. Sin embargo, esta opción no está disponible para bases de datos independientes

2. Administrador de la nube de MongoDB

Cloud Manager es un servicio en la nube proporcionado por el equipo de MongoDB para ayudarlo a hacer una copia de seguridad de su clúster de MongoDB.

Pros:

  1. Fácil de usar – Instale el agente MongoDB Cloud Manager para administrar la copia de seguridad/restauración de su clúster. Es un poco más complicado que usar mongodump, pero no mucho.
  2. Copia de seguridad continua – Cloud Manager consulta continuamente y realiza copias de seguridad de su registro de operaciones. Por lo tanto, esto le permite restaurar a cualquier punto del tiempo en lugar de momentos específicos en los que se realizó la copia de seguridad, lo que minimiza su exposición a la pérdida de datos.

Desventajas:

  1. Control de datos – Los datos de la copia de seguridad se almacenan en el centro de datos de MongoDB fuera de su control. En algunas partes del mundo (por ejemplo, Europa) y dependiendo de sus necesidades de seguridad, esto puede ser un gran problema.
  2. Gasto adicional – Está pagando por el tamaño de los datos y la cantidad de cambios en el registro de operaciones. Si tiene una base de datos grande o una gran cantidad de escrituras, este costo puede sumarse.
  3. Restauraciones lentas – Para restaurar sus datos desde MongoDB Cloud Manager, los datos deben descargarse físicamente del centro de datos de Cloud Manager. Esta puede ser una operación que consuma mucho tiempo si tiene una base de datos grande, por ejemplo, si sus datos son de 1 TB, la descarga y el uso de los datos pueden demorar varias horas.

3. Instantáneas de disco

Las instantáneas pueden estar en el nivel de la nube (p. ej., instantáneas de disco de AWS EBS) o en el nivel del sistema operativo (instantáneas de LVM). Las instantáneas de LVM, aunque son convenientes, no son fáciles de transportar fuera de la máquina. Por lo tanto, para el resto de esta discusión, nos centraremos en las instantáneas de discos en la nube, como las instantáneas de AWS EBS.

Pros:

  1. Simple y fácil de usar – Relativamente trivial para activar una instantánea de un disco EBS.
  2. Portabilidad – Puede mover sus instantáneas a otros centros de datos si necesita una mayor disponibilidad para sus copias de seguridad.
  3. Instantáneas de diferencias – Las instantáneas son instantáneas diferentes, por lo que solo almacenan los cambios de su instantánea anterior. Esto reduce la cantidad de almacenamiento que necesita su copia de seguridad.
  4. Sin copia de datos – No hay copia de datos involucrada para restaurar sus datos. P.ej. Si desea restaurar una instantánea de 1 TB, simplemente puede crear un nuevo volumen a partir de la instantánea y esto no da como resultado ninguna copia de datos real. Esto es un * gran problema *  cuando se trata de grandes cantidades de datos.
  5. Control de copia de seguridad – Las copias de seguridad permanecen en el mismo centro de datos que sus datos principales y están protegidas por los mismos mecanismos de autenticación que sus servidores de datos principales.

Desventajas:

  1. No es una copia de seguridad continua – Es una copia de seguridad de un momento dado y solo se puede recuperar en los puntos de copia de seguridad.
  2. Máquinas físicas - Las máquinas físicas locales no se pueden respaldar con esta técnica.

Al final del día, si sus datos son pequeños, las tres opciones funcionarán bien. Cuando empiece a tener grandes cantidades de datos, tendrá que dedicar tiempo y elegir la opción que mejor se adapte a su situación.