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

¿Es esta la configuración mínima óptima para mongodb para permitir fragmentación/escalado?

Un conjunto de réplicas es un conjunto de computadoras que son clones entre sí. (es decir:réplicas ) Dentro de un conjunto dado hay un maestro elegido. De forma predeterminada, las lecturas y escrituras van a este maestro elegido y las réplicas simplemente "seguirán" los cambios para que sean copias actualizadas. Si el maestro falla, se elige uno nuevo y el sistema sigue funcionando. La documentación está aquí .

Entonces preguntas sobre escalar con MongoDB. Hay dos tipos de escalado:

  • Escala de lectura:utilice conjuntos de réplicas (consulte aquí )
  • Escala de escritura:use Sharding

La configuración mínima para conjuntos de réplicas es:2 réplicas completas, 1 árbitro (proceso liviano, rompe empates al votar)

La configuración mínima para Sharding es- 1 servidor de configuración- 1 mongod proceso (solo un fragmento)- 1 o más mongos (generalmente en el servidor de aplicaciones)

Sin embargo, probablemente no desee ejecutarlo así en producción. Ejecutar solo una base de datos significa que solo tiene una fuente para los datos, lo que puede provocar grandes tiempos de inactividad o la pérdida total de datos. Esto generalmente se resuelve mediante el uso de conjuntos de réplicas.

Además, el servidor de configuración es bastante importante. MongoDB admite 1 o 3 servidores de configuración. La mayoría de las implementaciones de producción usan 3. Tenga en cuenta que los servidores de configuración y los árbitros son muy livianos y pueden vivir en otras cajas o en microinstancias de Amazon.

La mayoría de las implementaciones de producción con fragmentación también involucran conjuntos de réplicas. De hecho, normalmente comienzan como conjuntos de réplicas.

Desde una perspectiva de fragmentación, debería sea ​​tan fácil como:- iniciar un nuevo servidor de fragmentos- ejecutar el addshard comando de un mongos

Tenga en cuenta que cuando agrega un fragmento, deberá permitir tiempo y recursos a medida que los datos migran entre fragmentos y todo se vuelve a equilibrar.