En el contexto del escalado de la base de datos MongoDB, tiene algunas características conocidas como replicación y fragmentación. La replicación puede entenderse simplemente como la duplicación del conjunto de datos, mientras que la fragmentación consiste en dividir el conjunto de datos en partes discretas. Al fragmentar, dividió su colección en diferentes partes. La replicación de su base de datos significa que crea imágenes de su conjunto de datos. En términos de funcionalidad entregada.
Replicación
La replicación es el método de duplicación de datos en varios servidores. Por ejemplo, tenemos una aplicación que lee y escribe datos en una base de datos y dice que este servidor A tiene un nombre y un saldo que se copiará/replicará en otros dos servidores en dos ubicaciones diferentes.
Al hacer esto, obtendrá redundancia y aumentará la disponibilidad de datos con múltiples copias de datos en diferentes servidores de bases de datos. Por lo tanto, aumentará el rendimiento de la escala de lectura. El conjunto de servidores que mantienen la misma copia de datos se conoce como servidores réplica o instancias de MongoDB.
Características clave de la replicación:
- Los conjuntos de réplicas son los grupos de N Nodes diferentes que mantienen la misma copia del conjunto de datos.
- El servidor principal recibe todas las operaciones de escritura y registra todos los cambios en los datos, es decir, oplog.
- Luego, los miembros secundarios copian y aplican estos cambios en un proceso asíncrono.
- Todos los Nodes secundarios están conectados con los Nodes primarios. hay una señal de latido del corazón de los Nodes primarios. Si el servidor principal deja de funcionar, un servidor secundario elegible mantendrá el nuevo servidor principal.
¿Por qué replicación?
- Alta disponibilidad de recuperación de datos ante desastres
- Sin tiempo de inactividad por mantenimiento (como reconstrucción y compactación de índices de copias de seguridad)
- Read Scaling (copias adicionales para leer)
¿Cómo se forma la replicación?
Para realizar la replicación en MongoDB, primero debemos crear conjuntos de réplicas y dar permiso para escribir el archivo. La sintaxis básica de –replSet es −
mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
O
create a ".sh" file create_replicaset.sh and init_mongoreplica.js
Ejemplos:
Luego ejecute el siguiente script:
./create_replicaset.sh
- Se crearán directorios y luego se ejecutará mongo.
- En la terminal de Mongo, use el comando rs.initiate() para iniciar un nuevo conjunto de réplicas.
fragmentación
La fragmentación es un método para asignar datos en varias máquinas. MongoDB usó fragmentación para ayudar a la implementación con conjuntos de datos muy grandes y un gran rendimiento de la operación. Al fragmentar, combina más dispositivos para transportar la extensión de datos y las necesidades de las operaciones de lectura y escritura.
¿Por qué fragmentación?
- Los sistemas de bases de datos que tienen grandes conjuntos de datos o requests de alto rendimiento pueden dudar de la capacidad de un solo servidor.
- Por ejemplo, los flujos de consulta altos pueden agotar el límite de CPU del servidor.
- Los tamaños de los conjuntos de trabajo son mayores que la RAM del sistema para aumentar la capacidad de E/S de la unidad de disco.
¿Cómo funciona la fragmentación?
La fragmentación determina el problema con la escala horizontal que rompe el conjunto de datos del sistema y lo almacena en varios servidores, agregando nuevos servidores para aumentar el volumen según sea necesario.
Ahora, en lugar de una señal principal, tenemos varios servidores llamados Shard. Tenemos diferentes servidores de enrutamiento que enrutarán los datos a los servidores de fragmentos. Por ejemplo: digamos que tenemos Datos 1, Datos 2 y Datos 3, estos irán al servidor de enrutamiento que enrutará los datos (es decir, Datos diferentes irán a un Fragmento en particular) Cada Fragmento contiene algunos datos. Aquí, el servidor de configuración mantendrá los metadatos y configurará el servidor de enrutamiento para integrar los datos particulares en un fragmento; sin embargo, el servidor de configuración es la instancia de MongoDB, si se cae, todo el servidor se caerá, por lo que nuevamente tiene una base de datos de configuración de réplica.
Ventajas de la fragmentación:
- La fragmentación agrega más servidor a un campo de datos y ajusta automáticamente las cargas de datos en varios servidores.
- Se redujo la cantidad de operaciones que administra cada fragmento.
- También aumenta la capacidad de escritura al dividir la carga de escritura en varias instancias.
- Brinda alta disponibilidad debido a la implementación de servidores de réplica para fragmentos y configuraciones.
- La capacidad total aumentará al agregar múltiples fragmentos.
Para crear clústeres fragmentados en MongoDB, debemos configurar el fragmento, un servidor de configuración y un enrutador de consultas.
Publicación traducida automáticamente
Artículo escrito por ashutoshprakash24551 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA