Es aco­n­se­ja­ble utilizar MongoDB Re­pli­ca­set para prevenir fallos y otros problemas. Esta función mantiene copias de tus datos en di­fe­re­n­tes se­r­vi­do­res y los pone a tu di­s­po­si­ción de forma inmediata.

¿Qué es MongoDB Re­pli­ca­set?

El objetivo principal de un sistema gestor de bases de datos como MongoDB es almacenar tus datos de forma clara y segura. MongoDB Re­pli­ca­set es una he­rra­mie­n­ta im­po­r­ta­n­te para proteger los registros. Con este comando se hace una copia exacta de los conjuntos de datos y se di­s­tri­bu­yen entre varios nodos de di­fe­re­n­tes se­r­vi­do­res. MongoDB distingue entre nodos primarios y se­cu­n­da­rios.

  • Primario: El nodo primario también se llama nodo maestro. Es el punto de partida desde el que se crean los MongoDB Re­pli­ca­sets. Tiene permisos de lectura y escritura.
  • Se­cu­n­da­rio: Los nodos se­cu­n­da­rios 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 se­cu­n­da­rio úni­ca­me­n­te asume el papel de maestro cuando falla el nodo primario. Se re­co­mie­n­da crear siempre un número impar de nodos se­cu­n­da­rios.

¿Cómo funciona el Re­pli­ca­set?

Por lo tanto, un MongoDB Re­pli­ca­set consiste en un nodo primario y varios nodos se­cu­n­da­rios que se crean a partir de copias exactas del maestro. Aunque hay al menos dos nodos se­cu­n­da­rios, se re­co­mie­n­da un mínimo de tres copias. Los datos se tra­n­s­mi­ten siempre úni­ca­me­n­te desde el nodo primario a los nodos se­cu­n­da­rios. Si el nodo primario falla debido a un error, un fallo del sistema o debido a trabajos de ma­n­te­ni­mie­n­to ne­ce­sa­rios, un nodo se­cu­n­da­rio pasa a ocupar la posición del maestro in­me­dia­ta­me­n­te y garantiza así que los datos estén di­s­po­ni­bles durante el fallo o avería. Si el nodo de­fe­c­tuo­so puede ser reparado, se incorpora a la red de nuevo como nodo se­cu­n­da­rio.

¿Cuáles son las ventajas de un Re­pli­ca­set?

Usar MongoDB Re­pli­ca­set tiene varias ventajas. Por un lado, su uso es re­co­me­n­da­ble desde el punto de vista de la seguridad me­n­cio­na­do an­te­rio­r­me­n­te. Además, cuando un servidor falla temporal o incluso pe­r­ma­ne­n­te­me­n­te, MongoDB Re­pli­ca­set permite acceder a los datos al­ma­ce­na­dos en él sin que estos se pierdan. La di­s­po­ni­bi­li­dad continua es asimismo una gran ventaja ya que, incluso durante los trabajos de ma­n­te­ni­mie­n­to, no tendrás que pre­s­ci­n­dir de tus datos y podrás re­cu­pe­rar­los có­mo­da­me­n­te desde un nodo se­cu­n­da­rio. MongoDB Re­pli­ca­set también aumenta la velocidad co­n­si­de­ra­ble­me­n­te, es por ello por lo que los tiempos de inac­ti­vi­dad o los problemas del servidor dejan de suponerte un problema.

Crear MongoDB Re­pli­ca­set

La tercera gran ventaja que ofrece MongoDB Re­pli­ca­set es su facilidad de uso. Puedes crear MongoDB Re­pli­ca­set fá­ci­l­me­n­te y así ga­ra­n­ti­zar de forma in­de­pe­n­die­n­te 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 Re­pli­ca­sets, procede de la siguiente manera:

  1. Primero cierra todos los se­r­vi­do­res MongoDB activos.
  2. Introduce el comando. En este ejemplo, se utilizan las si­guie­n­tes pro­pie­da­des:
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.

  1. Conéctate a dicha instancia.
  2. Utiliza el comando rs.initiate() para iniciar un nuevo MongoDB Re­pli­ca­set.
  3. El comando rs.conf() te permite co­n­fi­gu­rar el MongoDB Re­pli­ca­set, mientras que el comando rs.status() te permite comprobar su estado.
  4. Utiliza el comando rs.add() para añadir miembros a tu MongoDB Re­pli­ca­set. 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")
Consejo

Con nuestro tutorial de MongoDB apre­n­de­rás los fu­n­da­me­n­tos del DBMS.

Ir al menú principal