

# Uso de una instancia de lectura dedicada para el análisis
<a name="aurora-analytics-dedicated-reader"></a>

Para cargas de trabajo con muchos análisis, ejecute las consultas de tablas externas en una instancia de lectura de Aurora dedicada para que no interrumpan la carga de trabajo de OLTP en el escritor. Al configurar el lector, tenga en cuenta lo siguiente.
+ **Ajuste `shared_buffers`**: no se utilizan consultas en tablas externas `shared_buffers`, por lo que puede reducir `shared_buffers` y aumentar `query_mem` para disponer de más memoria por consulta.
+ **Prioridad de conmutación por error**: dado que el lector está preparado para el análisis y no para el tráfico transaccional, no redacta bien si lo promocionan durante una conmutación por error. Asígnele el nivel de promoción 15 (la prioridad más baja) para que Aurora promocione primero un lector ajustado a las transacciones. Aurora aún puede promocionarlo como último recurso si no hay otra instancia disponible.
+ **Punto de conexión de instancia**: conecte los clientes de análisis al punto de conexión de la instancia del lector o a un punto de conexión personalizado en lugar del punto de conexión del lector del clúster, que equilibra la carga entre todos los lectores y envía consultas de tablas externas a las instancias ajustadas para otras cargas de trabajo.

## Administración de consultas de larga duración en los lectores
<a name="aurora-analytics-long-running-readers"></a>

Las consultas de tablas externas de larga duración sobre un lector afectan al escritor y al lector.
+ **Impacto en el escritor**: una consulta de tabla externa de larga duración sobre un lector impide que el escritor tenga que limpiar una tupla inactiva. Mientras se ejecuta la consulta, el escritor no puede reclamar las tuplas inactivas que normalmente elimina el vacío, por lo que se acumulan y se reduce el rendimiento del escritor. Como las consultas de tablas externas pueden durar minutos u horas, este efecto es más pronunciado en un lector de análisis.
+ **Impacto en el lector**: una consulta de tabla externa también accede a las tablas del catálogo local y puede unirse a tablas normales de PostgreSQL, por lo que fija los búferes de página en el lector como cualquier otra consulta. Mientras esos búferes estén fijos, las operaciones DDL o de vacío en el escritor pueden provocar conflictos de replicación (instantánea, bloqueo o pin del búfer) que cancelan la consulta o reinician el lector. Como las consultas de tablas externas suelen durar más tiempo, es más probable que se produzcan estos conflictos.

Para limitar este efecto, configure `statement_timeout` en el lector de análisis para limitar el tiempo que puede ejecutarse una sola consulta y supervise `oldest_reader_feedback_xid_age` en el escritor de información de base de datos o Amazon CloudWatch. Para obtener una versión guiada de este diagnóstico y saber cómo detener la consulta de bloqueo, consulte [Resolución de bloqueadores de vacío identificables en Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Maintenance.html) en la *Guía del usuario de Amazon Aurora*.