Clase 2 - Arquitectura de Postgres

15
Introducción a la Arquitectura de Postgres Ing. Eddie Malca Vicente [email protected] [email protected] @emalca /iluminatic

description

Segunda Sesión del Curso de Administración de Base de Datos

Transcript of Clase 2 - Arquitectura de Postgres

Page 1: Clase 2 - Arquitectura de Postgres

Introducción a la Arquitectura de

Postgres

Ing. Eddie Malca [email protected]

[email protected]

@emalca

/iluminatic

Page 2: Clase 2 - Arquitectura de Postgres

Antes de elegir el SGBD

• Experiencia: ¿Tenemos alguna experiencia con otras bases de datos relacionales? ¿Estamos acostumbrados a la terminología utilizada ó conocemos algo de teoría de bases de datos relacionales?

• Tipo de uso: ¿Cómo vamos a utilizarla, en sistemas de producción, para desarrollar otros sistemas, para jugar y aprender SQL con ella?

• Tamaño del sistema: ¿Cual es el tamaño de las bases de datos que quereis administrar, las medidas en MB, GB, TB?

• Carga del sistema: ¿Cuantos usuarios van a utilizar el sistema y que concurrencia podemos esperar?

• Disponibilidad: ¿Cuales son los requisitos de disponibilidad (uptime) de nuestro sistema?

Page 3: Clase 2 - Arquitectura de Postgres

Qué es Postgres

• PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, Open Source y distribuido bajo licencia BSD, con su código fuente disponible libremente.

• Es el sistema de gestión de bases de datos de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales.

• Es una alternativa a otros sistemas de bases de datos de código abierto (como MySQL, Firebird y MaxDB), así como sistemas propietarios como Oracle o DB2.

www.postgresql.orgwww.postgresql.org

Page 4: Clase 2 - Arquitectura de Postgres

Características de Postgres

• Instalación Ilimitada• Soporte• Ahorros en costo de operación• Estabilidad y Confiabilidad• Extensible• Multiplataforma• Diseñador para ambientes de alto volumen• Herramientas Gráficas de diseño y administración• Soporte SQL ANSI – Estándares ACID• Transacciones• Integridad Referencial• Múltiples Tipos de datos definidos• Soporte de tipos y funciones de usuario• Conectividad TCP/IP, ODBC, JDBC• Interfaz con diversos lenguajes de programación

Page 5: Clase 2 - Arquitectura de Postgres

Importante

• PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema.

• Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando.

Page 6: Clase 2 - Arquitectura de Postgres

Arquitectura Sistema Postgres

Page 7: Clase 2 - Arquitectura de Postgres

Sistema Postgres

• Aplicación cliente: Aplicación cliente que utiliza PostgreSQLcomo administrador de bases de datos. La conexión puede ocurrir via TCP/IP ó sockets locales.

• Demonio postmaster: Este es el proceso principal de PostgreSQL. Encargado de escuchar por un puerto/socket por conexiones entrantes de clientes. Tambien es el encargado de crear los procesos hijos que se encargaran de autentificar estas peticiones, gestionar las consultas y mandar los resultados a las aplicaciones clientes

• Ficheros de configuracion: Los 3 ficheros principales de configuración utilizados por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf

Page 8: Clase 2 - Arquitectura de Postgres

Sistema Postgres

• Procesos hijos postgres: Procesos hijos que se encargan de autentificar a los clientes, de gestionar las consultas y mandar los resultados a las aplicaciones clientes

• PostgreSQL share buffer cache: Memoria compartida usada por POstgreSQL para almacenar datos en caché.

• Write-Ahead Log (WAL): Componente del sistema encargado de asegurar la integridad de los datos (recuperación de tipo REDO).

• Kernel disk buffer cache: Caché de disco del sistema operativo.

• Disco: Disco físico donde se almacenan los datos y toda la información necesaria para que PostgreSQL funcione.

Page 9: Clase 2 - Arquitectura de Postgres

El desarrollo de Postgres

Tomado de http://www.postgresql.org.es/

Page 10: Clase 2 - Arquitectura de Postgres

Una comparativa práctica

-MediaAltaSeguridad

-SiNoSoporte Unicode-SiSiBackups funcionando-SiSiTransaccionesSiSiNoIntegridad Referencial-SiSiReplicaciónSiSiNoSoporte disparadores

SiSiNoIntegridad de Datos-MediaMedia/AltaVelocidad

-AltaMediaCumple con estándar SQL

SAP DBPostgreSQLMySQL

Page 11: Clase 2 - Arquitectura de Postgres

Límites de Postgres

Tomado de http://www.postgresql.org.es/

Page 12: Clase 2 - Arquitectura de Postgres

Quiénes usan PostgresTomado de la presentación del Ing. Luis Guevara Alcalde – Gob. Reg. Lambayeque

Page 13: Clase 2 - Arquitectura de Postgres

Y en PerúTomado de la presentación del Ing. Luis Guevara Alcalde – Gob. Reg. Lambayeque

• Asociación de Empleados del BCP.• Gobierno Regional del Callao• Gobierno Regional de Lambayeque• Prompyme• Grupo Carolina• CONCYTEC• Universidad Nacional del Callao• Y ahora la UPCI…

Page 14: Clase 2 - Arquitectura de Postgres

Enlaces Sugeridos

• http://www.postgresql.org (Sitio principal de PostgreSQL)

• http://pgfoundry.org (Sitio de proyectos PostgreSQL)

• http://www.postgresql.org/about/awards (Reconocimientos)

• http://es.wikipedia.org/wiki/PostgreSQL

• http://www.postgresql.org.es

Page 15: Clase 2 - Arquitectura de Postgres

Introducción a la Arquitectura de

Postgres

Ing. Eddie Malca [email protected]

[email protected]

@emalca

/iluminatic