¿Cómo puedo crear una base de datos en MongoDB Atlas?

Restauración y Copias de Seguridad en MongoDB

Valoración: 4.31 (4216 votos)

En el mundo de las bases de datos, la protección de la información es un pilar fundamental. MongoDB, como base de datos NoSQL líder, no es la excepción. Asegurar que tus datos estén a salvo frente a fallos de hardware, errores humanos, o cualquier otro incidente que pueda comprometer su integridad o disponibilidad es vital. Esto se logra principalmente a través de procesos de copia de seguridad y restauración efectivos y fiables.

Contar con una estrategia sólida de copias de seguridad no solo te permite recuperar datos perdidos, sino que también facilita la migración de datos, la replicación para entornos de desarrollo o pruebas, y el cumplimiento de normativas de retención de datos. La capacidad de restaurar una base de datos a un estado operativo conocido y reciente es, por lo tanto, tan importante como la propia base de datos.

¿Puedo usar MongoDB en la nube?
MongoDB Atlas (Pago por uso) Ejecute MongoDB Atlas en Google Cloud y acceda a auténticas capacidades multicloud, automatización de vanguardia, inteligencia de carga de trabajo y prácticas probadas con la plataforma de datos para desarrolladores más inteligente del mercado. Obtenga más información o inicie su prueba gratuita hoy mismo.
Índice de Contenido

La Importancia de las Copias de Seguridad en MongoDB

Las copias de seguridad son tu red de seguridad. Son instantáneas de tus datos en un momento específico, que te permiten retroceder en el tiempo si algo sale mal. Para una base de datos dinámica como MongoDB, donde los datos pueden cambiar constantemente, es crucial realizar copias de seguridad de forma regular para minimizar la pérdida potencial de información entre el último estado guardado y el momento del incidente. Una buena práctica implica no solo hacer las copias de seguridad, sino también probar periódicamente el proceso de restauración para garantizar que funciona correctamente cuando más lo necesitas.

Creando Copias de Seguridad con mongodump

Una de las herramientas estándar proporcionadas por MongoDB para crear copias de seguridad es la utilidad mongodump. Esta herramienta se conecta a una instancia de MongoDB en ejecución y exporta los datos a archivos en formato BSON (Binary JSON). Estos archivos BSON, junto con metadatos sobre la estructura de la base de datos, se guardan en un directorio de salida. mongodump es versátil y puede utilizarse para respaldar un servidor completo, una base de datos específica o incluso una colección particular, o parte de ella mediante el uso de consultas.

Por defecto, al ejecutar mongodump sin argumentos adicionales, la utilidad intenta conectarse a una instancia de MongoDB que se ejecuta en el sistema local (localhost) en el puerto predeterminado 27017. La copia de seguridad se creará en un subdirectorio llamado dump/ dentro del directorio actual desde donde se ejecuta el comando. Por ejemplo:

mongodump

Este simple comando es suficiente para realizar una copia de seguridad de todas las bases de datos (excluyendo la base de datos local, cuyo contenido generalmente no se incluye) de la instancia local.

Especificando la Instancia de MongoDB

Si la instancia de MongoDB no se ejecuta en localhost:27017, necesitas especificar la dirección del host y el puerto. Esto se puede hacer de varias maneras:

  • Usando una cadena de conexión URI (SRV o estándar):
    mongodump --uri="mongodb+srv://username:[email protected]" <additional_options>
  • Especificando el host en la cadena --host:
    mongodump --host="mongodb0.example.com:27017" <additional_options>
  • Especificando host y puerto por separado con --host y --port:
    mongodump --host="mongodb0.example.com" --port=27017 <additional_options>

Estos comandos dirigirán mongodump para conectarse a la instancia especificada y crear la copia de seguridad.

Controlando la Salida de mongodump

Por defecto, la salida se guarda en dump/. Para especificar un directorio de salida diferente, puedes usar la opción --out (o su forma abreviada -o):

mongodump --out=/opt/backup/mongodump-1

Esto guardará los archivos de la copia de seguridad en el directorio /opt/backup/mongodump-1.

Copia de Seguridad de Bases de Datos o Colecciones Específicas

Para limitar la cantidad de datos incluidos en la copia de seguridad a una base de datos o colección específica, puedes usar las opciones --db y --collection respectivamente:

mongodump --db=test --collection=myCollection

Este comando creará una copia de seguridad únicamente de la colección llamada myCollection dentro de la base de datos test. La salida se guardará en dump/test/myCollection.bson y dump/test/myCollection.metadata.json (dentro del directorio de salida especificado o el predeterminado).

Consideraciones de Seguridad y Permisos

Para ejecutar mongodump contra una instancia de MongoDB que tiene el control de acceso habilitado, el usuario que ejecuta el comando debe tener privilegios que otorguen la acción find para cada base de datos de la que se desea hacer una copia de seguridad. MongoDB proporciona un rol de backup predefinido que otorga los privilegios necesarios para realizar copias de seguridad de cualquier base de datos. Asignar este rol a un usuario es una forma segura de permitirle realizar tareas de copia de seguridad sin otorgarle permisos excesivos.

Restaurando una Base de Datos MongoDB via BlueXP

Además de las herramientas de línea de comandos como mongodump (y su contraparte mongorestore, aunque la información proporcionada se centra en el proceso de backup), existen soluciones con interfaz gráfica de usuario que simplifican la gestión de copias de seguridad y restauraciones. Un ejemplo de esto es el proceso de restauración utilizando la interfaz de usuario de BlueXP, que permite una gestión más visual e integrada, especialmente útil cuando las copias de seguridad se almacenan en ubicaciones de almacenamiento de objetos.

El proceso general de restauración a través de BlueXP implica los siguientes pasos:

  1. Accede a la interfaz de usuario de BlueXP.
  2. Navega a la sección de protección: Haz clic en Protección > copia de seguridad y recuperación > aplicaciones.
  3. Filtra por tipo de base de datos: En el campo Filtrar por, selecciona el filtro Tipo y, en el menú desplegable, elige MongoDB (o MySQL o PostgreSQL, dependiendo de tu necesidad).
  4. Selecciona la base de datos y la operación de restauración: Haz clic en Ver detalles correspondiente a la base de datos específica que deseas restaurar. Una vez dentro de los detalles, busca y haz clic en el botón Restaurar.
  5. Configura las opciones de restauración: En la página Restore options, deberás especificar detalles cruciales para la restauración. Esto incluye la definición del host de destino al que se exportarán los volúmenes restaurados desde el almacén de objetos. Para entornos NAS, esto sería el FQDN o la dirección IP del host. Para entornos SAN, deberás especificar los iniciadores del host al que se asignarán las LUN de los volúmenes restaurados.
  6. Gestiona copias de seguridad archivadas: Si la instantánea de la que quieres restaurar se encuentra en almacenamiento de archivado (que puede tener tiempos de acceso más lentos), tendrás la opción de seleccionar la prioridad para restaurar los datos desde este tipo de almacenamiento. Esto puede afectar la velocidad a la que tus datos estarán disponibles.
  7. Maneja situaciones de espacio insuficiente o almacenamiento inactivo: Si el almacenamiento de origen donde se encuentra la base de datos activa no tiene suficiente espacio o está inactivo, BlueXP te da la opción de Cambiar ubicación de almacenamiento. Si seleccionas esta opción, puedes especificar una ubicación alternativa para la restauración. Además, si cambias la ubicación, o incluso si no lo haces pero se restaura a una nueva ubicación, es posible agregar un sufijo al nombre del volumen de destino para distinguirlo (por defecto, se agrega _restore si no especificas un sufijo personalizado al cambiar la ubicación).
  8. Confirma las opciones: Haz clic en Siguiente para pasar a la siguiente fase.
  9. Mapeo del almacenamiento: En la página Storage mapping, deberás especificar los detalles de la ubicación de almacenamiento alternativo que seleccionaste en el paso anterior. Aquí defines exactamente dónde se almacenarán los datos restaurados del almacén de objetos.
  10. Inicia la restauración: Haz clic en Siguiente para finalizar la configuración e iniciar el proceso de restauración.

Este proceso guiado a través de una interfaz gráfica simplifica la complejidad de manejar la restauración, especialmente cuando se trata de integraciones con sistemas de almacenamiento avanzados como los gestionados por BlueXP.

¿Cómo crear una base de datos en el comando Mongodb?
Para crear una nueva base de datos MongoDB con Mongo Shell, use el comando " use Database_Name ". Este comando crea una nueva base de datos si no existe; de lo contrario, devolverá la base de datos existente. La base de datos recién creada no aparecerá en la lista de bases de datos.

Consideraciones Adicionales Durante la Restauración

Al restaurar una base de datos, especialmente a una ubicación alternativa o con un sistema como BlueXP, hay varios puntos a tener en cuenta. La elección de la ubicación de destino es crítica, ya que debe tener suficiente espacio disponible para alojar el conjunto de datos restaurado. La gestión de copias de seguridad archivadas introduce un factor de tiempo de recuperación (RTO) que debe ser considerado; restaurar desde archivos es más lento que desde almacenamiento de acceso rápido. La opción de cambiar la ubicación de almacenamiento y agregar sufijos es útil para realizar restauraciones sin sobrescribir datos existentes o para probar la restauración en un entorno separado antes de aplicarla al entorno de producción principal.

Copias de Seguridad en Sharded Clusters

Realizar copias de seguridad en clústeres sharded (fragmentados) presenta desafíos adicionales debido a la distribución de datos a través de múltiples servidores (shards). Para mantener la atomicidad de las transacciones a través de los shards durante el proceso de copia de seguridad, se requieren procesos coordinados. Las herramientas como mongodump, cuando se utilizan correctamente en un entorno sharded, deben considerar esta arquitectura distribuida. Aunque el texto proporcionado menciona que los clústeres sharded pueden usar procesos coordinados para mantener garantías de atomicidad, los detalles específicos de cómo mongodump logra esto en un sharded cluster no se profundizan aquí, más allá de la mención de su uso en este contexto.

Preguntas Frecuentes sobre Copias de Seguridad y Restauración en MongoDB

¿Qué es mongodump?
Es una utilidad de línea de comandos proporcionada por MongoDB para crear copias de seguridad de los datos almacenándolos en archivos BSON.

¿Qué es BlueXP en el contexto de la restauración de MongoDB?
Según la información proporcionada, BlueXP es una interfaz de usuario que permite gestionar y restaurar copias de seguridad de bases de datos, incluyendo MongoDB, a través de un proceso guiado, especialmente integrado con soluciones de almacenamiento de objetos.

¿Necesito permisos especiales para ejecutar mongodump?
Sí, si el control de acceso está habilitado en tu instancia de MongoDB. Necesitas privilegios que permitan la acción find en las bases de datos a respaldar. El rol de backup predefinido es adecuado para esta tarea.

¿Puedo restaurar una copia de seguridad de MongoDB a una ubicación diferente a la original?
Según el proceso descrito para BlueXP, sí, existe la opción de Cambiar ubicación de almacenamiento para restaurar a un destino alternativo, lo cual es útil en varios escenarios como recuperación ante desastres o migración.

¿Qué son los archivos BSON generados por mongodump?
BSON (Binary JSON) es un formato de serialización binaria utilizado por MongoDB para almacenar datos y realizar transferencias de red. Los archivos BSON contienen los datos de la copia de seguridad.

¿Se incluye la base de datos local en la copia de seguridad de mongodump?
No, por defecto, mongodump excluye el contenido de la base de datos local.

Conclusión

La gestión de copias de seguridad y la capacidad de restaurar una base de datos son operaciones críticas para cualquier entorno de producción de MongoDB. Herramientas como mongodump ofrecen flexibilidad a través de la línea de comandos para crear copias de seguridad personalizadas, mientras que soluciones con interfaz gráfica como BlueXP simplifican el proceso de restauración, especialmente cuando se integra con infraestructuras de almacenamiento avanzadas. Comprender cómo funcionan estas herramientas y procesos es esencial para garantizar la durabilidad y disponibilidad de tus datos en MongoDB. Implementar una estrategia de copia de seguridad robusta y verificar periódicamente el proceso de restauración son pasos indispensables para proteger tu información valiosa.

Si quieres conocer otros artículos parecidos a Restauración y Copias de Seguridad en MongoDB puedes visitar la categoría Bases de datos.

Ivan

Soy un entusiasta de la tecnología con especialización en bases de datos, particularmente en MySQL. A través de mis tutoriales detallados, busco desmitificar los conceptos complejos y proporcionar soluciones prácticas a los desafíos cotidianos relacionados con la gestión de datos

Aprende mas sobre MySQL

Subir