PostgreSQL Admin: Arquitectura
PostgreSQL Admin: Arquitectura
PostgreSQL Admin: Arquitectura
Introduccin y arquitectura
Eric U. Garca Cano Castillo
HISTORIA DE POSTGRESQL
15/12/2017 dba@unica.unam.mx 2
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 3
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 4
Eric U. Garca Cano Castillo
PRINCIPALES CARACTERSTICAS
15/12/2017 dba@unica.unam.mx 5
Eric U. Garca Cano Castillo
Principales caractersticas
Es Objeto-Relacional
Cada tabla define una clase, existe herencia y los
operadores son polimrficos
Cumple con ACID
Portable
Escrito en ANSI C
Soporte para Linux, Windows, MAC y casi cualquier UNIX
Confiable
ACID e integridad referencial
Soporte de transacciones y savepoints
Usa un mecanismo de escritura anticipada
15/12/2017 dba@unica.unam.mx 6
Eric U. Garca Cano Castillo
Principales caractersticas
Escalable
Usa un Control Multiversin de Concurrencia
Usa candados a nivel de renglones
Soporta el particionamiento de tablas
Soporta tablespaces
Seguro
Emplea control de acceso basado en el host
Provee permisos por nivel (granulares)
Soporte para bitacoras
SSL
15/12/2017 dba@unica.unam.mx 7
Eric U. Garca Cano Castillo
Principales caractersticas
Disponibilidad
Soporte para replicacin
Soporte para alta disponibilidad
Avanzado
Bsquedas full-text
Soporte de triggers y funciones
Soporta varios lenguajes procedurales
Soporta respaldos en caliente Point-in-Time
Recovery (PITR)
Vacuum, TOAST y EXPLAIN
15/12/2017 dba@unica.unam.mx 8
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 9
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 10
Eric U. Garca Cano Castillo
Protocolo WAL
15/12/2017 dba@unica.unam.mx 11
Eric U. Garca Cano Castillo
Recuperacin rpida.
15/12/2017 dba@unica.unam.mx 12
Eric U. Garca Cano Castillo
TERMINOLOGA DE POSTGRESQL
15/12/2017 dba@unica.unam.mx 14
Eric U. Garca Cano Castillo
Terminologa
PostgreSQL fue diseado de manera acadmica:
Los objetos estn definidos en trminos acadmicos
La terminologa est basada en la teora del clculo y el lgebra relacionales
Nombres de objetos comunes
Trmino en la industria Trmino Postgres
Tabla o ndice Relacin
Rengln Tupla
Columna Atributo
15/12/2017 dba@unica.unam.mx 15
Eric U. Garca Cano Castillo
Terminologa
Tablespaces
Directorios que contienen informacin de las bases de
datos de un cluster fuera del directorio data principal.
Schemas
Son simplemente espacios de nombres. De esta
manera es posible crear en una misma base de datos,
objetos que tengan el mismo nombre (similar a las
carpetas del SO).
15/12/2017 dba@unica.unam.mx 16
Eric U. Garca Cano Castillo
Terminologa
Clster
Es un conjunto de objetos (bases de datos, usuarios,
schemas, etc.) que son manejados por una sola
instancia del servidor de bases de datos.
En el sistema de archivos, el clster es un directorio
(directorio data).
Instancia
Conjunto de procesos compartidos y estructuras de
memoria que permiten el acceso a los datos.
15/12/2017 dba@unica.unam.mx 17
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 18
15/12/2017 dba@unica.unam.mx 19
Eric U. Garca Cano Castillo
Arquitectura
La arquitectura de PostgreSQL es cliente-servidor
y utiliza un proceso por usuario.
Cada conexin de algn usuario tiene su propio
proceso del S.O.
15/12/2017 dba@unica.unam.mx 20
Eric U. Garca Cano Castillo
Arquitectura
Cada instancia de PostgreSQL tiene un conjunto
de procesos (opcionales y obligatorios) y
estructuras de memoria.
BG Writer
WAL Writer
Stats collector
Autovacuum luncher
Syslogger
Archiver
15/12/2017 dba@unica.unam.mx 21
Eric U. Garca Cano Castillo
Postmaster
Es el padre de todos los procesos de PostgreSQL.
BG Writer
Es un proceso obligatorio.
15/12/2017 dba@unica.unam.mx 23
Eric U. Garca Cano Castillo
BG Writer
La mayor parte del tiempo est dormido, pero al
pasar a modo activo:
Busca todas las pginas del Shared Buffer Pool que
han sido modificadas.
Escoge un nmero de pginas modificadas para
escribirlas al disco.
Elimina las pginas menos usadas.
15/12/2017 dba@unica.unam.mx 24
Eric U. Garca Cano Castillo
WAL Writer
Es un proceso obligatorio.
15/12/2017 dba@unica.unam.mx 25
Eric U. Garca Cano Castillo
WAL Writer
Los Buffers WAL almacenan los cambios hechos a
la base en el log de transacciones, para garantizar
la seguridad de las transacciones.
15/12/2017 dba@unica.unam.mx 26
Eric U. Garca Cano Castillo
Stats Collector
Es un proceso opcional que por defecto est
activo.
Recolecta informacin acerca de la actividad del
servidor:
Cuenta el nmero de accesos a las tablas e ndices.
El nmero total de renglones en cada tabla.
Informacin acerca del VACUUM y ANALYZE para cada
tabla.
La recoleccin de estadsticas aumentan el tiempo de
ejecucin de las queries.
15/12/2017 dba@unica.unam.mx 27
Eric U. Garca Cano Castillo
Autovacuum luncher
Es un proceso opcional que por defecto est
activo.
15/12/2017 dba@unica.unam.mx 28
Eric U. Garca Cano Castillo
Syslogger
Es un proceso opcional que por defecto est
desactivado.
15/12/2017 dba@unica.unam.mx 29
Eric U. Garca Cano Castillo
Syslogger
15/12/2017 dba@unica.unam.mx 30
Eric U. Garca Cano Castillo
Archiver
Es un proceso opcional que por defecto est
desactivado.
15/12/2017 dba@unica.unam.mx 31
Eric U. Garca Cano Castillo
Archiver
15/12/2017 dba@unica.unam.mx 32
Eric U. Garca Cano Castillo
Clster
Es un conjunto de objetos que son manejados por una
sola instancia del servidor de bases de datos.
15/12/2017 dba@unica.unam.mx 33
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 34
Eric U. Garca Cano Castillo
Arquitectura fsica
15/12/2017 dba@unica.unam.mx 35
Eric U. Garca Cano Castillo
15/12/2017 dba@unica.unam.mx 36
Eric U. Garca Cano Castillo
Commit y Checkpoint
Antes del commit
Updates sin commit estn en la memoria.