El escalado de bases de datos es un reto fundamental para las aplicaciones en crecimiento. Tanto si se inicia una nueva aplicación como si se experimenta un crecimiento, existen dos estrategias principales de escalado:
Escalamiento vertical: actualice un solo servidor con recursos adicionales.
Escalamiento horizontal: distribuya la carga de trabajo entre múltiples servidores.
Si bien la escala vertical puede proporcionar un alivio inmediato a la asignación de recursos, la escala horizontal es un enfoque más sostenible y flexible cuando la escala es un factor.
A medida que las aplicaciones crecen, el escalado tradicional de bases de datos exige un equilibrio difícil entre rendimiento, complejidad y coste. MongoDB admite el escalado horizontal a través de sus... Arquitectura de fragmentación, que distribuye datos y cargas de trabajo entre múltiples servidores, conocidos como fragmentos. Si está construyendo para escalar, es crucial considerar la fragmentación proactivamente para garantizar un crecimiento fluido.
La arquitectura de clúster fragmentado de MongoDB ofrece varias estrategias para escalar su base de datos:
Comience temprano con un clúster fragmentado, incluso con un solo fragmento, para proteger su aplicación en el futuro.
Mueva colecciones no fragmentadas entre fragmentos para aislar cargas de trabajo, admitir arquitecturas de múltiples inquilinos, cumplir con los requisitos geográficos, optimizar costos y reducir la densidad de recopilación.
Fragmente colecciones específicas cuando se acerquen a los límites de recursos o crezcan más allá de 3 TB en tamaño de almacenamiento.
Desfragmente las colecciones cuando los patrones de aplicación cambian y los beneficios de una colección fragmentada ya no superan los costos.
Puede utilizar estas capacidades de escalamiento flexibles para optimizar el rendimiento y controlar los costos, mientras mantiene un único punto de conexión para sus aplicaciones.
Estrategias para el escalamiento horizontal
En un clúster fragmentado, cada fragmento es un conjunto de réplicas. Varios fragmentos funcionan como parte del mismo clúster. Su aplicación accede a todos los recursos de forma transparente mediante la conexión a Mongos, que gestiona la complejidad de enrutar las solicitudes al destino correcto.
Hay dos métodos principales para distribuir cargas de trabajo en un clúster fragmentado:
Mover colecciones a fragmentos dedicados: asigne colecciones enteras a fragmentos específicos, optimizando el rendimiento al distribuir las cargas de trabajo de forma estratégica.
Particionar una colección en varios fragmentos: divida una sola colección en varios fragmentos usando una clave de fragmento, distribuyendo los datos de manera más uniforme para lograr escalabilidad.
Estos enfoques se pueden utilizar de forma independiente o combinados, según sus necesidades.
Cómo empezar
- Comience con clústeres fragmentados
- Conozca los beneficios de comenzar con un solo fragmento al crear su aplicación.
- Administrar colecciones no fragmentadas
- Obtenga información sobre cómo aislar colecciones en fragmentos dedicados.
- Distribuir datos de recopilación
- Obtenga información sobre cómo fragmentar una colección.
- Consolidar datos de colección
- Obtenga información sobre cómo desfragmentar una colección.