Compartir a través de


Configuraciones de proceso y almacenamiento para Azure DocumentDB

Los recursos de proceso de Azure DocumentDB se proporcionan como núcleos virtuales, que representan la CPU lógica del hardware subyacente. El tamaño de almacenamiento para el aprovisionamiento hace referencia a la capacidad disponible para los fragmentos en su clúster.

El almacenamiento se usa para los archivos de base de datos, los archivos temporales, los registros de transacciones y los registros del servidor de bases de datos. Puede seleccionar la configuración de proceso y almacenamiento de forma independiente. Los valores de proceso y almacenamiento seleccionados se aplican a cada partición del clúster.

Proceso en Azure DocumentDB

La cantidad total de RAM en una sola partición se basa en el número seleccionado de núcleos virtuales.

Nivel de clúster vCores Una partición, GiB RAM
M10 1 (ampliable) 2
M20 2 (ampliable) 4
M25 2 (ampliable) 8
M30 2 8
M40 4 16
M50 8 32
M60 16 64
M80 32 128
M200 64 256

Almacenamiento en Azure DocumentDB

La cantidad total de almacenamiento que asigne también define la capacidad de E/S disponible para cada partición del clúster.

Tamaño de almacenamiento, GiB Número máximo de IOPS
32 3,500†
64 3,500†
128 3,500†
256 3,500†
512 3,500†
1024 5.000
2 048 7 500
4,095 7 500
8,192 16 000
16 384 18 000
32 767 20,000

† número máximo de IOPS (Operaciones de entrada y salida por segundo) con expansión de disco libre. El almacenamiento de hasta 512 GiB (inclusive) incluye la expansión de disco libre habilitada.

Maximización de IOPS para la configuración de proceso y almacenamiento

Cada configuración de proceso tiene un límite de IOPS que depende del número de núcleos virtuales. Asegúrese de seleccionar la configuración de proceso para que el clúster use completamente IOPS en el almacenamiento seleccionado.

Tamaño de almacenamiento IOPS de almacenamiento, hasta Nivel de cómputo mínimo Número mínimo de núcleos virtuales
Hasta 0,5 TiB 3,500† M30 2 núcleos virtuales
1 TiB 5.000 M40 4 núcleos virtuales
2 TiB 7 500 M50 8 núcleos virtuales
4 TiB 7 500 M50 8 núcleos virtuales
8 TiB 16 000 M60 16 núcleos virtuales
16 TiB 18 000 M60 16 núcleos virtuales
32 TiB 20,000 M60 16 núcleos virtuales

† Número máximo de IOPS con expansión de disco libre. El almacenamiento de hasta 512 GiB (inclusive) incluye la expansión de disco libre habilitada.

Por ejemplo, si necesita 8 TiB de almacenamiento por partición o más, asegúrese de seleccionar 16 núcleos virtuales o más para la configuración de proceso del nodo. Esa selección le permitiría maximizar el uso de IOPS proporcionado por el almacenamiento seleccionado.

Consideraciones sobre el cómputo y el almacenamiento

Al configurar el clúster de Azure DocumentDB, es importante comprender cómo las opciones de proceso y almacenamiento afectan al rendimiento, el costo y la escalabilidad de la carga de trabajo específica.

Consideraciones sobre el conjunto de trabajo y la memoria

En Azure DocumentDB, el conjunto de trabajo hace referencia a la parte de los datos a los que las aplicaciones acceden y usan con frecuencia. Incluye los datos y los índices que se leen o escriben periódicamente durante las operaciones típicas de la aplicación. El concepto de un conjunto de trabajo es importante para la optimización del rendimiento, ya que MongoDB, como muchas bases de datos, funciona mejor cuando el conjunto de trabajo se ajusta a la RAM.

Para definir y comprender el conjunto de trabajo de la base de datos de MongoDB, tenga en cuenta los siguientes componentes:

  1. Datos a los que se accede con frecuencia: estos datos incluyen documentos que la aplicación lee o actualiza periódicamente.
  2. Índices: los índices que se usan en las operaciones de consulta también forman parte del conjunto de trabajo porque deben cargarse en la memoria para garantizar el acceso rápido.
  3. Patrones de uso de aplicaciones: el análisis de los patrones de uso de la aplicación puede ayudar a identificar a qué partes de los datos se accede con más frecuencia.

Al mantener el conjunto de trabajo en RAM, puede minimizar las operaciones de E/S de disco más lentas, lo que mejora el rendimiento de la base de datos MongoDB. Si el conjunto de trabajo supera la RAM disponible, considere la posibilidad de optimizar el modelo de datos, agregar más RAM al clúster o usar particionamiento para distribuir datos entre varios nodos.

Elección de una configuración óptima para una carga de trabajo

La determinación de la configuración correcta de proceso y almacenamiento para la carga de trabajo de Azure DocumentDB implica evaluar varios factores relacionados con los requisitos y los patrones de uso de la aplicación. Entre los pasos y consideraciones clave para determinar la configuración óptima se incluyen:

  1. Descripción de la carga de trabajo

    • Volumen de datos: calcule el tamaño total de los datos, incluidos los índices.
    • Relación de lectura y escritura: determine la proporción de operaciones de lectura con operaciones de escritura.
    • Patrones de consulta: analice los tipos de consultas que realiza la aplicación. Por ejemplo, lecturas simples y agregaciones complejas.
    • Simultaneidad: evalúe el número de operaciones simultáneas que la base de datos necesita controlar.
  2. Supervisión del rendimiento actual

    • Uso de recursos: use herramientas de supervisión para realizar un seguimiento del uso de CPU, memoria, E/S de disco y red antes de migrar la carga de trabajo a Azure. Después de implementar la carga de trabajo de MongoDB en un clúster de Azure DocumentDB, siga supervisando con las métricas de supervisión de Azure.
    • Métricas de rendimiento: supervise las métricas clave de rendimiento, como la latencia, el rendimiento y las relaciones de aciertos de caché.
    • Cuellos de botella: identifique los cuellos de botella de rendimiento existentes, como el uso elevado de CPU, la presión de memoria o la E/S de disco lenta.
  3. Estimación de los requisitos de recursos

    • Memoria: asegúrese de que el conjunto de trabajo (datos e índices a los que se accede con frecuencia) se ajuste a la RAM. Si el tamaño del conjunto de trabajo supera la memoria disponible, considere la posibilidad de agregar más RAM o optimizar el modelo de datos.
    • CPU: elija una configuración de CPU que pueda controlar los requisitos de carga y simultaneidad de las consultas. Las cargas de trabajo que consumen mucha CPU podrían requerir más núcleos. Use la métrica "Porcentaje de CPU" con la agregación "Máx" en el clúster de Azure DocumentDB para ver los patrones históricos de uso de computación.
    • IOPS de almacenamiento: seleccione almacenamiento con suficientes IOPS para controlar las operaciones de lectura y escritura. Use la métrica "IOPS" con la agregación "Max" en el clúster para ver el uso histórico de IOPS de almacenamiento.
    • Red: asegúrese de que el ancho de banda de red adecuado para controlar la transferencia de datos entre la aplicación y la base de datos, especialmente para las configuraciones distribuidas. Asegúrese de configurar el host para la aplicación de MongoDB para admitir tecnologías de red aceleradas , como SR-IOV.
  4. Escalado adecuado

    • Escalado vertical: escala y reduce verticalmente el proceso o la memoria RAM, y escala verticalmente el almacenamiento.
      • Proceso: aumente el núcleo virtual o la RAM en un clúster si la carga de trabajo requiere un aumento temporal o suele cruzar más de 70% de uso de CPU durante períodos prolongados.
      • Asegúrese de que tiene la retención de datos adecuada en la base de datos de Azure DocumentDB. La retención permite evitar el uso innecesario del almacenamiento. Supervise el uso del almacenamiento configurando alertas en las métricas "Porcentaje de almacenamiento" o "Almacenamiento usado" con la agregación "Máximo". Considere la posibilidad de aumentar el almacenamiento a medida que el tamaño de la carga de trabajo supera el 70% de uso.
    • Escalado horizontal: considere la posibilidad de usar varias particiones para que el clúster distribuya los datos entre varios nodos de Azure DocumentDB para obtener mejoras de rendimiento y una mejor administración de la capacidad a medida que crece la carga de trabajo. Este escalado es especialmente útil para grandes conjuntos de datos (más de 2 a 4 TiB) y aplicaciones de alto rendimiento.
  5. Probar e iterar

    • Pruebas comparativas: realice la medición de las consultas más usadas con distintas configuraciones para determinar el efecto en el rendimiento. Use métricas de CPU/RAM e IOPS y pruebas comparativas de nivel de aplicación.
    • Pruebas de carga: realice pruebas de carga para simular cargas de trabajo de producción y validar el rendimiento de la configuración elegida.
    • Supervisión continua: supervise continuamente la implementación de Azure DocumentDB y ajuste los recursos según sea necesario en función de los cambios en las cargas de trabajo y los patrones de uso.

Al evaluar sistemáticamente estos factores y supervisar y ajustar continuamente la configuración, puede asegurarse de que la implementación de MongoDB está bien optimizada para la carga de trabajo específica.

Consideraciones para el almacenamiento

Decidir el tamaño de almacenamiento adecuado para la carga de trabajo implica varias consideraciones para garantizar un rendimiento y escalabilidad óptimos. Estas son las consideraciones sobre el tamaño de almacenamiento en Azure DocumentDB:

  1. Calcular el tamaño de los datos:

    • Calcule el tamaño esperado de los datos de Azure DocumentDB. Piense en lo siguiente:
      • Tamaño de datos actual: Si se migra desde una base de datos existente.
      • Tasa de crecimiento: Calcule la cantidad de datos que se agregarán a lo largo del tiempo.
      • Tamaño y estructura del documento: Comprenda el esquema de datos y los tamaños de documento, ya que afectan a la eficacia del almacenamiento.
  2. Factorización de índices:

    • Azure DocumentDB usa índices para realizar consultas eficaces. Los índices consumen espacio adicional en disco.
    • Calcule el tamaño de los índices en función de:
      • Número de índices.
      • Tamaño de los campos indexados.
  3. Consideraciones de rendimiento:

    • El rendimiento del disco afecta a las operaciones de base de datos, especialmente para las cargas de trabajo que no pueden ajustar su conjunto de trabajo a la RAM. Piense en lo siguiente:
      • Rendimiento de E/S: IOPS, o Operaciones de entrada y salida por segundo, es el número de solicitudes que se envían a discos de almacenamiento en un segundo. El tamaño de almacenamiento mayor incluye más IOPS. Asegúrese de un rendimiento adecuado para las operaciones de lectura y escritura. Use la métrica "IOPS" con la agregación "Max" para supervisar las IOPS usadas en el clúster.
      • Latencia: La latencia es el tiempo que tarda una aplicación en recibir una sola solicitud, enviarla a los discos de almacenamiento y enviar la respuesta al cliente. La latencia es una medida crítica del rendimiento de una aplicación, además de IOPS y rendimiento. El tipo de almacenamiento usado y la configuración de almacenamiento define en gran medida la latencia. En un servicio administrado como Azure DocumentDB, el almacenamiento rápido, como discos SSD Premium, se usa con la configuración optimizada para reducir la latencia.
  4. Crecimiento futuro y escalabilidad:

    • Planee el crecimiento futuro de los datos y las necesidades de escalabilidad.
    • Asigne más espacio en disco más allá de las necesidades actuales para adaptarse al crecimiento sin expansiones de almacenamiento frecuentes.
  5. Cálculo de ejemplo:

    • Supongamos que el tamaño de los datos iniciales es de 500 GiB.
    • Al utilizar índices, puede crecer hasta 700 GiB.
    • Si prevé duplicar los datos en dos años, planee 1,4 TiB (700 GiB * 2).
    • Agregue un búfer para recursos adicionales, crecimiento y necesidades operativas.
    • Es posible que quiera empezar con el almacenamiento de 1 TiB en la actualidad y escalarlo a 2 TiB una vez que su tamaño crezca más de 800 GiB.

Decidir el tamaño de almacenamiento implica una combinación de estimación de las necesidades actuales y futuras de datos, teniendo en cuenta la indexación y la compresión, y garantizando un rendimiento y una escalabilidad adecuados. La supervisión y el ajuste normales basados en el uso real y las tendencias de crecimiento también son cruciales para mantener un rendimiento óptimo de MongoDB.

¿Qué es el cómputo elástico?

El nivel ampliable ofrece una solución inteligente adaptada para cargas de trabajo de base de datos pequeñas. Al proporcionar un rendimiento mínimo de cpu durante períodos de inactividad, estos clústeres optimizan el uso de recursos. Sin embargo, la verdadera brillantez reside en su capacidad de escalar sin problemas a la máxima potencia de la CPU en respuesta a un aumento del tráfico o las demandas de carga de trabajo. Esta capacidad de adaptación proporciona un rendimiento máximo precisamente cuando es necesario, a la vez que proporciona ahorros de costos considerables.

Al reducir el punto de precio inicial del servicio, el nivel de clúster ampliable de Azure DocumentDB tiene como objetivo facilitar la incorporación y exploración de usuarios de Azure DocumentDB a precios reducidos. Esta democratización del acceso empodera a las empresas de todos los tamaños para aprovechar el poder de Azure DocumentDB sin gastar una fortuna. Ya sea que sea una startup, una pequeña empresa o una corporación, estos niveles abren nuevas posibilidades para una escalabilidad rentable.

El aprovisionamiento de un nivel ampliable es tan sencillo como el aprovisionamiento de niveles normales; Solo tiene que elegir "M10", "M20" o "M25" en la opción de nivel de clúster. Esta es una guía de inicio rápido que ofrece instrucciones paso a paso sobre cómo configurar un clúster de Azure DocumentDB .