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

En Mongo, ¿cuál es la diferencia entre fragmentación y replicación?

En el contexto de escalar MongoDB:

  • replicación crea copias adicionales de los datos y permite la conmutación por error automática a otro nodo. La replicación puede ayudar con la escala horizontal de las lecturas si está de acuerdo en leer datos que potencialmente no son los más recientes.

  • fragmentación permite escalar horizontalmente las escrituras de datos mediante la partición de datos en varios servidores mediante una clave de fragmento . Es importante elegir una buena clave de fragmento. Por ejemplo, una mala elección de la clave de fragmento podría generar "puntos calientes" de datos que solo se escriben en un único fragmento.

Un entorno fragmentado agrega más complejidad porque MongoDB ahora tiene que administrar la distribución de datos y solicitudes entre fragmentos:se agregan procesos adicionales de configuración y enrutamiento para administrar esos aspectos.

La replicación y la fragmentación generalmente se combinan para crear un clúster fragmentado donde cada fragmento es compatible con un conjunto de réplicas.

Desde el punto de vista de una aplicación cliente, también tiene cierto control en relación con la interacción de replicación/fragmentación, en particular:

  • Preferencias de lectura
  • Escribir inquietudes