MongoDB Replicaset: copia y respaldo de datos
Es aconsejable utilizar MongoDB Replicaset para prevenir fallos y otros problemas. Esta función mantiene copias de tus datos en diferentes servidores y los pone a tu disposición de forma inmediata.
¿Qué es MongoDB Replicaset?
El objetivo principal de un sistema gestor de bases de datos como MongoDB es almacenar tus datos de forma clara y segura. MongoDB Replicaset es una herramienta importante para proteger los registros. Con este comando se hace una copia exacta de los conjuntos de datos y se distribuyen entre varios nodos de diferentes servidores. MongoDB distingue entre nodos primarios y secundarios.
- Primario: El nodo primario también se llama nodo maestro. Es el punto de partida desde el que se crean los MongoDB Replicasets. Tiene permisos de lectura y escritura.
- Secundario: Los nodos secundarios son copias exactas del nodo maestro. Solo se usan para almacenar los datos copiados y no suelen tener permisos de lectura ni de escritura. Un nodo secundario únicamente asume el papel de maestro cuando falla el nodo primario. Se recomienda crear siempre un número impar de nodos secundarios.
¿Cómo funciona el Replicaset?
Por lo tanto, un MongoDB Replicaset consiste en un nodo primario y varios nodos secundarios que se crean a partir de copias exactas del maestro. Aunque hay al menos dos nodos secundarios, se recomienda un mínimo de tres copias. Los datos se transmiten siempre únicamente desde el nodo primario a los nodos secundarios. Si el nodo primario falla debido a un error, un fallo del sistema o debido a trabajos de mantenimiento necesarios, un nodo secundario pasa a ocupar la posición del maestro inmediatamente y garantiza así que los datos estén disponibles durante el fallo o avería. Si el nodo defectuoso puede ser reparado, se incorpora a la red de nuevo como nodo secundario.
¿Cuáles son las ventajas de un Replicaset?
Usar MongoDB Replicaset tiene varias ventajas. Por un lado, su uso es recomendable desde el punto de vista de la seguridad mencionado anteriormente. Además, cuando un servidor falla temporal o incluso permanentemente, MongoDB Replicaset permite acceder a los datos almacenados en él sin que estos se pierdan. La disponibilidad continua es asimismo una gran ventaja ya que, incluso durante los trabajos de mantenimiento, no tendrás que prescindir de tus datos y podrás recuperarlos cómodamente desde un nodo secundario. MongoDB Replicaset también aumenta la velocidad considerablemente, es por ello por lo que los tiempos de inactividad o los problemas del servidor dejan de suponerte un problema.
Crear MongoDB Replicaset
La tercera gran ventaja que ofrece MongoDB Replicaset es su facilidad de uso. Puedes crear MongoDB Replicaset fácilmente y así garantizar de forma independiente la mejor seguridad posible para tus datos. La sintaxis básica de los comandos MongoDB --replSet tiene el siguiente aspecto:
mongod --port "PORT" --dbpath "IHR_DB_DATA_PATH" --replSet "NOMBRE_DEL_REPLICASET”
Si quieres crear MongoDB Replicasets, procede de la siguiente manera:
- Primero cierra todos los servidores MongoDB activos.
- Introduce el comando. En este ejemplo, se utilizan las siguientes propiedades:
mongod --port 32014 --dbpath "D:\set up\mongodb\data" --replSet Ejemplo
Esto crea una instancia de mongod con el nombre “Ejemplo” en el puerto 32014.
- Conéctate a dicha instancia.
- Utiliza el comando rs.initiate() para iniciar un nuevo MongoDB Replicaset.
- El comando rs.conf() te permite configurar el MongoDB Replicaset, mientras que el comando rs.status() te permite comprobar su estado.
- Utiliza el comando rs.add() para añadir miembros a tu MongoDB Replicaset. La sintaxis tiene el siguiente aspecto:
rs.add(HOST_NAME:PORT)
Para nuestro ejemplo, quedaría de la siguiente manera:
>rs.add("ejemplo1.net:32014")
Con nuestro tutorial de MongoDB aprenderás los fundamentos del DBMS.