Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitectura de PostgreSQL, Nombre: Eric Perez Martinez, No. Control:…
Arquitectura de PostgreSQL
Postmaster
Supervisor
Actua como supervisor cuyo trabajo consiste en monitorear, iniciar o reiniciar algunos procesos si estos mueren.
Escuchador
Actua como escuchador y recibe una nueva petición de conexión desde el cliente.
Es el primer proceso con el que arranca PostgreSQL. Es responsable de autenticar y autorizar todas las peticiones
entrantes. Genera un nuevo proceso backend llamado postgres para cada
nueva conexión.
Procesos de Utilidad
Bgwriter\Writer
Escribe periódicamente el búfer sucio a un
archivo de datos.
Wal Writer
Escribe el búfer WAL en el archivo WAL.
Checkpointer
El punto de control (checkpoint) es invocado cada 5 minutos (default) o cuando se excede el valor de max_wal_size. El puntero de verificación (check pointer) sincroniza todos los búferes desde el área de búfer compartido (shared buffer) con los archivos de datos.
Auto vacuum
Responsable de realizar operaciones de vacío (vacuum) sobre tablas infladas (bloated). (de estar habilitado).
Statscollector
Responsable de recopilar y reportar información sobre la actividad del servidor para después actualizar la información en el diccionario optimizador (pg_catalog).
Logwriter\Logger
Escribe el mensaje de error en el archivo
de bitácoras (log file).
Archiver
Cuando este en modo Archive.log, copiar
el archivo WAL al directorio especificado.
Segmentos de Memoria en PostgreSQL
Shared Buffers
En PostgreSQL, las operaciones de lectura y escritura de datos se realizan a través del área de búfer compartido, mientras que el acceso directo al archivo de datos está restringido para los usuarios. Los datos modificados en este área, llamados "datos sucios", se escriben en los archivos de datos en el disco mediante el proceso de background writer, y el tamaño de los búferes compartidos se controla mediante el parámetro shared_buffer en postgresql.conf.
Wal Buffers
Write ahead logs buffer
También conocido como “Búferes de
bitácora de transacciones” (Transaction log Buffers).
WAL data
Es la información de metadatos referente a los cambios de los datos presentes, y es suficiente para reconstruir datos reales durante operaciones de recuperación de la base de datos. Se escribe hacia un conjunto de archivos físicos en una ubicación persistente denominada “segmentos WAL” o “segmentos de punto de control” (checkpoint segments).
Wal buffers
Son descargados (flushed) desde el área de búfer
hacia los segmentos WAL por el proceso wal writer. La asignación de memoria de los Wal buffers es controlada por
el parámetro wal_buffers.
Clog Buffers
Significa “bitácora de confirmación” (commit log), y los búferes de CLOG son un área en la RAM del Sistema operativo dedicada a guardar páginas de la bitácora de confirmación.
Work Memory
La memoria de trabajo es una memoria reservada para un orden único (single sort) o una tabla hash (Parámetro: work_mem).
Maintenance Work Memory
La memoria de trabajo de mantenimiento se asigna para el trabajo de mantenimiento. (Parámetro: maintenance_work_mem).
Temp Buffers
Los búferes temporales son usados para acceder a tablas temporales en una sesión de usuario durante ordenamientos largos (large sort) y tabla hash. (Parámetro: temp_buffers).
Commit logs
Las bitácoras de confirmación tienen el estado de confirmación de todas las transacciones e indican si una transacción ha sido completada (commited) o no.
Archivos Locales
Data Files
Es un archivo usado para almacenar datos. No
contiene ninguna instrucción o código para ser ejecutado.
Wal Files
Es un archivo WAL, en donde primero son escritas
todas las transacciones antes de que ocurra un commit.
Log Files
Son todos los mensajes del servidor, incluyendo:
stderr, csvlog y syslog son registrados en archivos log.
Archive Logs
Los datos desde segmentos wal son escritos en archivos tipo “archive log” para ser utilizados con propósitos de recuperación.
Nombre: Eric Perez Martinez
No. Control: 21111160
Materia: Admin. de Bases de Datos
Tema: Arquitectura de Bases de Datos
Fecha: 18/02/2024