

# Elección de la clase de instancia de base de datos adecuada
<a name="aurora-analytics-instance-class"></a>

La clase de instancia correcta depende del uso que hagan las consultas de tablas externas de la memoria, el almacenamiento y la CPU. Para obtener detalles sobre cada uno de estos recursos, consulte [Administración de recursos](aurora-analytics-resource-management.md).
+ **Memoria**: una consulta de tabla externa guarda sus datos de trabajo (ordenaciones, agregaciones y tablas hash para las uniones) en la memoria, delimitados por la configuración de `aurora_analytics.query_mem` (`query_mem` abreviada). El valor predeterminado de `query_mem` escala con el tamaño de la instancia, por lo que una instancia más grande proporciona a cada consulta más memoria automáticamente. Cuando una consulta supera `query_mem`, se transfiere al almacenamiento local, que es más lento. Para obtener más información, consulte [Ajuste de query\_mem para la carga de trabajo](aurora-analytics-tuning-query-mem.md).
+ **Simultaneidad**: cada consulta de tabla externa simultánea asigna hasta un máximo de memoria de `query_mem`, pero el uso real depende de la consulta y las consultas simples pueden consumir mucho menos. Al evaluar la simultaneidad, haga un presupuesto para los picos de memoria en lugar de suponer que todas las consultas utilizan la `query_mem` completa. Para obtener más información, consulte [Dimensionamiento de simultaneidad](aurora-analytics-concurrency-sizing.md).
+ **Almacenamiento en caché y derrame**: la caché en el disco para los datos de Amazon S3 y los archivos temporales que las consultas filtran utilizan el almacenamiento local de la instancia. El NVMe local (disponible en instancias de tipo d, por ejemplo, `db.r8gd`) es más rápido que Amazon EBS para ambos, así que elija una clase con almacenamiento NVMe local para las cargas de trabajo de producción que consultan tablas externas.
+ **Aislamiento de la carga de trabajo**: las consultas de tablas externas compiten con el resto del tráfico de la instancia por la CPU y la memoria. En el caso de las cargas de trabajo que consultan muchas tablas externas, ejecútelas en un lector específico. Para obtener más información, consulte [Uso de una instancia de lectura dedicada para el análisis](aurora-analytics-dedicated-reader.md).

Comience con una clase que se adapte a la carga de trabajo y vaya ajustándose a partir de ahí, con estas señales.
+ El aumento de `AuroraAnalyticsMemoryUsage` significa que la presión general sobre la memoria está aumentando. Escale verticalmente a una clase de instancia más grande o a una `query_mem` inferior para dejar espacio a la simultaneidad.
+ El aumento de `AuroraAnalyticsDiskSpillSize` significa que las consultas individuales superan `query_mem` y se derraman en el almacenamiento local. Escale verticalmente o aumente `query_mem` para dar más espacio a cada consulta.
+ Una caída de `AuroraAnalyticsCacheHitRatio` significa que se están releyendo más datos de trabajo de Amazon S3. Una clase de instancia más grande almacena en caché una mayor cantidad de información de forma local.
+ Un uso elevado de CPU al consultar tablas externas significa que las consultas necesitan más vCPU.

Para gestionar más consultas simultáneas, escale verticalmente la capacidad de memoria o agregue un lector para distribuir la carga.

Para ver estas métricas y cómo supervisarlas, consulte [Supervisión y solución de problemas](aurora-analytics-monitoring-troubleshooting.md).

## Cuándo usar instancias exclusivas de EBS
<a name="aurora-analytics-ebs-only"></a>

Las instancias sin almacenamiento NVMe local (por ejemplo `db.r8g` y `db.r8i`) utilizan Amazon EBS para el almacenamiento en caché. Úselas para lo siguiente.
+ Cargas de trabajo que son más sensibles a los costos que al rendimiento.
+ Consultas de tablas externas ligeras o ad hoc.
+ Entornos de desarrollo y pruebas.