Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los recursos de procesamiento de Azure DocumentDB se proporcionan como vCores, 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 |
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:
- Datos a los que se accede con frecuencia: estos datos incluyen documentos que la aplicación lee o actualiza periódicamente.
- Í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.
- 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
Determinar la configuración correcta de proceso y almacenamiento para la carga de trabajo de DocumentDB de Azure 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:
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.
Supervisión del rendimiento actual
- Utilización de recursos: Utiliza 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 mediante Azure las métricas de supervisión.
- 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.
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. Utilice la métrica "PORCENTAJE de CPU" con la agregación "Max" en el clúster de Azure DocumentDB para ver los patrones históricos de uso de cálculo.
- IOPS de almacenamiento: 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.
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 DocumentDB de Azure. 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 su clúster a fin de distribuir los datos entre varios nodos de Azure DocumentDB para mejorar el rendimiento y una mejor capacidad de gestión 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.
-
Escalado vertical: escala y reduce verticalmente el proceso o la memoria RAM, y escala verticalmente el almacenamiento.
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 DocumentDB de Azure 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 para el tamaño de almacenamiento en Azure DocumentDB:
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.
- Calcule el tamaño esperado de los datos de Azure DocumentDB. Piense en lo siguiente:
Factorización de índices:
- Azure DocumentDB usa indexes 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.
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. Los discos SSD prémium v2 están configurados con el nivel más alto alcanzable de IOPS y ancho de banda que el nivel de cómputo puede gestionar. 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.
- 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:
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.
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, Azure nivel de clúster ampliable de DocumentDB tiene como objetivo facilitar la incorporación y exploración de usuarios de Azure DocumentDB a precios reducidos. Esta democratización del acceso permite a las empresas de todos los tamaños explotar el potencial 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.