Procesos de RDS para PostgreSQL - Amazon Relational Database Service

Procesos de RDS para PostgreSQL

RDS para PostgreSQL utiliza varios procesos.

Proceso de administrador de correos

El proceso de administrador de correos es el primer proceso que se ejecuta cuando se inicia RDS para PostgreSQL. El proceso de administrador de correos tiene las siguientes funciones principales:

  • Bifurcar y monitorear los procesos en segundo plano

  • Recibir solicitudes de autenticación de los procesos cliente, y autenticarlos antes de permitir que la base de datos atienda las solicitudes

Procesos de backend

Si el administrador de correos autentica una solicitud de cliente, el administrador de correos bifurca un nuevo proceso de backend, también llamado proceso postgres. Un proceso cliente se conecta exactamente a un proceso backend. El proceso cliente y el proceso backend se comunican directamente sin la intervención del proceso de administrador de correos.

Procesos en segundo plano

El proceso de administrador de correos bifurca varios procesos que ejecutan distintas tareas de backend. Algunas de las más importantes son las siguientes:

  • Escritor de WAL

    RDS para PostgreSQL escribe datos en el búfer WAL (registro de escritura anticipada) en los archivos de registro. El principio del registro por adelantado es que la base de datos no puede escribir los cambios en los archivos de datos hasta que la base de datos escriba los registros que describen esos cambios en el disco. El mecanismo de WAL reduce la E/S del disco y permite a RDS para PostgreSQL utilizar los registros para recuperar la base de datos en caso de error.

  • Escritor en segundo plano

    Este proceso escribe de forma periódica las páginas sucias (modificadas) desde los búferes de memoria a los archivos de datos. Una página se vuelve sucia cuando un proceso de backend la modifica en la memoria.

  • Daemon de autovacuum

    El daemon consta de lo siguiente:

    • El iniciador de autovacuum

    • Los procesos de trabajo de autovacuum

    Cuando autovacuum está activado busca las tablas en las que se ha insertado, actualizado o eliminado un número elevado de tuplas. El daemon tiene las siguientes responsabilidades:

    • Recuperar o reutilizar el espacio de disco ocupado por las filas actualizadas o eliminadas

    • Actualizar las estadísticas utilizadas por el planificador

    • Proteger contra la pérdida de datos antiguos debido al reinicio del ID de transacción

    La característica de autovacuum automatiza la ejecución de los comandos VACUUM y ANALYZE. VACUUM tiene las siguientes variantes: estándar y completo. El vacío estándar se ejecuta en paralelo con otras operaciones de la base de datos. VACUUM FULL requiere un bloqueo exclusivo sobre la tabla en la que se trabaja. Por lo tanto, no puede ejecutarse en paralelo con operaciones que acceden a la misma tabla. VACUUM crea una cantidad considerable de tráfico de E/S, lo que puede causar un bajo rendimiento para otras sesiones activas.