Este documento presenta una introducción a PostgreSQL, un sistema de gestión de bases de datos relacional abierto. Describe las características técnicas de PostgreSQL como su compatibilidad con estándares SQL, su extensibilidad, y su capacidad para manejar grandes volúmenes de datos. También discute el soporte disponible para PostgreSQL y algunas organizaciones que usan este software, incluyendo el Gobierno Regional de Lambayeque en Perú.
2. AGENDA
• ¿QUÉ ES?
• CARACTERÍSTICAS TÉCNICAS
• POSTGRES Y LOS ESTÁNDARES DE CALIDAD
• SOPORTE PARA POSTGRESQL
• QUIENES USAN POSTGRESQL
• EXPERIENCIAS DEL GOBIERNO REGIONAL
LAMBAYEQUE
• RECONOCIMIENTOS AL GOBIERNO REGIONAL
• REFERENCIAS
3. ¿QUE ES?
• Reconocido gestor de Base de datos relacional Open
•
Source más avanzado del mundo.
Está liberado bajo licencia BSD.
• Historia:
• 1977 - 1985: Ingres. (Prof. M. Stonebraker) University of
California, Berkeley
1986 - 1994: Postgres. (POST-inGRES)
University of California, Berkeley
1994 - 1995: Postgres95 (Portaron al lenguaje SQL)
1996 - hoy : PostgreSQL
PostgreSQL Global Development Group.
•
•
•
4. CARACTERISTICAS TÉCNICAS
PostgreSQL tiene TODO LO QUE SE EXIGE de un gestor de
bases de datos relacional:
Características para la
integridad de los datos: claves
primarias, llaves foráneas con
capacidad de actualizar en
cascada o restringir la acción,
restricción check, restricción de
unicidad y restricción not null.
5. CARACTERISTICAS TÉCNICAS
Es conforme al estándar SQL. Se sujeta
fuertemente a los estándares ANSI-SQL 92/99
• Transacciones anidadas.
• INNER / OUTER JOIN
• Sub Consultas
• Agrupamiento
• Últimamente se han añadido características del
SQL2003.
6. CARACTERISTICAS TÉCNICAS
• Resistencia a fallas.
Escritura adelantada de
registros (WAL) para evitar pérdidas de datos en
caso de fallos por: Energía, Sistema Operativo,
Hardware.
• Cumple completamente con las reglas ACID.
(Atomicity, Consistency, Isolation, Durability).
• Disparadores (triggers).
• Sistema de reglas (el sistema re-escritor de
consultas), permite identificar ciertas acciones
sobre una tabla y reemplazarlas por otras o
ejecutar adicionales.
7. CARACTERISTICAS TÉCNICAS
• Vistas.
• PostgreSQL es muy Extensible:
o Funciones.
o Agregación.
o Tipos de datos. Permite la creación de tipos de
datos personalizados.
o Indices. compuestos, únicos, parciales,
funcionales (sobre funciones) que pueden ser
definidos como B-tree, R-tree, hash o GiST, y
toda la infraestructura necesaria para extender
estos tipos de índices;
8. CARACTERISTICAS TÉCNICAS
• Funciones o procedimientos almacenados:
o Pueden escribirse en múltiples lenguajes.
PLSQL, C, Java, Perl, R Python, Ruby, Tcl,
PHP, así como su lenguaje nativo PL/PGSQL.
o Se usan de tres formas: Las que retornan o no
valores, las que se usan de triggers, las que
retornan tablas.
9. CARACTERISTICAS TÉCNICAS
• Metadatos son datos.
La descripcion de las tablas,
está en tablas.
• Diseñado para entornos de gran volumen de
información y alta concurrencia. Utiliza la
tecnología MVCC (Multi-Version Concurrency
Control ), que sirve para lograr un control de
concurrencia tan eficiente que generalmente no se
requiere de bloqueos.
10. CARACTERISTICAS TÉCNICAS
• Es muy portable: Linux, Unix, BSD's, Mac OS X,
Solaris, AIX, Irix, HP-UX, Windows.
• PITR. Puntos de recuperación en el tiempo.
(respaldo incremental)
• Tablespaces. (Ubicaciones alternativas para los datos)
• Replicación síncrona y asincrónica.
• Respaldos en línea e incrementales.
11. POSTGRES Y LOS ESTÁNDARES DE CALIDAD
Definición de calidad del software
“Concordancia con los requisitos funcionales y de
rendimiento explícitamente establecidos con los
estándares de desarrollo explícitamente
documentados y con las características implícitas que
se espera de todo software desarrollado
profesionalmente” (Pressman).
12. POSTGRES Y LOS ESTÁNDARES DE CALIDAD
Estándares de desarrollo explícitamente
documentados: Se sujeta fuertemente a los
estándares ANSI-SQL 92/99 (y últimamente se han
añadido características del SQL2003).
Ha obtenido la certificación ISO/IEC 15408. Define
los criterios utilizados para evaluar si productos de
tecnología de la información y los sistemas son
diseñados y aplicados correctamente desde el punto
de vista de la seguridad.
Mediante ACID cumple con el standard ISO/IEC
10026-1
13. POSTGRES Y LOS ESTÁNDARES DE CALIDAD
Código de Postgres fue sometido al análisis por Coverity Inc.
Fabricante de la solución de análisis de código fuente más
avanzada para detectar defectos en el software y en la
vulnerabilidad de la seguridad.
Se econtraron sólo 20 defectos en más de 775,000 líneas de código
(un defecto por casi 39.000 líneas de código).
Según Coverity, es la tasa más baja de error para una base de
datos relacional de código abierto.
14. POSTGRES Y LOS ESTÁNDARES DE CALIDAD
Al buscar vulneravilidades en http://cve.mitre.org/
Para Postgres 26 entradas de las que 25 están resueltas
15. POSTGRES Y LOS ESTÁNDARES DE CALIDAD
Cumple con factores que determinan la calidad del
software (Modelo Mccall). ISO 9126-1.
• Características operativas: Corrección, Fiabilidad,
Eficiencia, Integridad, Facilidad de uso.
• Capacidad para soportar cambios: Facilidad de
mantenimiento, Flexibilidad, Facilidad de prueba.
• Adaptabilidad a nuevos entornos: Portabilidad,
Reusabilidad, Interoperabilidad
16. SOPORTE PARA POSTGRESQL
• Soporte de la comunidad. El principal soporte de PostgreSQL.
• Listas en inglés y español.
http ://archives.Postgresql.Org/pgsql–es–ayuda/
Gran cohesión, bastante
participación, participan algunos desarrolladores de Postgres.
• Los canales de IRC. Server:irc.freenode.net.
#postgresql-es #postgresql-pe
17. SOPORTE PARA POSTGRESQL
• Proyectos relacionados
o PGFoundry. http://pgfoundry.org/ repositorio de proyectos.
o Directorio "Contrib". utilidades interesantes.
18. SOPORTE PARA POSTGRESQL
Libros y documentación en línea con comentarios de los
usuarios, artículos.
Soporte comercial: EqSoft (Perú), Fujitsu (Australia); Hub.org
(Canadá); PostgreSQL, Inc. (Canadá); credativ GmbH
(Alemania); Afilias Limited (Irlanda); Software Research
Associates (Japón, con subsidiarias en USA); Delta-Soft LLC
(Rusia); 2ndQuadrant (Reino Unido); 800 Pound Gorilla
(USA); Command Prompt, Inc. (USA); EnterpriseDB (USA);
Greenplum (USA); Pervasive Software, Inc. (USA); RedHat,
Inc. (USA), Sun Microsystems, Otros.
19. QUIENES USAN POSTGRESQL
Agencias gubernamentales de Estados Unidos (City of Garden
Grove, CA; National Gallery; Media Library project of the
Library of Congress; US Army; Dept of Forestry; State of
California; NCSA; National Weather Hidrology Laboratory).
The Oxford University Computing Services, Skype, Yahoo,
Fujitsu, Red Hat, Sun Microsystems.
20. QUIENES USAN POSTGRESQL
Ecuador:
• Universidad Politécnica Salesiana.
• Palo Santo Solutions
•
•
•
(http://www.palosanto.com/) Sistemas de
información gerencial
La SENACYT, Secretaría Nacional de
Ciencia y Tecnología.
La subsecretaria de informatica del Ecuador
(www.compraspublicas.gov.ec).
Aerogal (http://www.aerogal.com.ec/), Línea
Aerea sistema de reservas de pasajes.
21. QUIENES USAN POSTGRESQL
Perú:
• Asociación de empleados del BCP.
• Americatel
• Camara de Comercio de Lima
• Prompyme atiende el portal de compras del
estado.
• Grupo Carolina. Sistema de ordenes de trabajo.
• Gobierno Regional Lambayeque
22. EXPERIENCIAS DEL GOBIERNO REGIONAL LAMBAYEQUE
• Tenemos 7 años usando Postgres.
• Sistemas / Módulos desarrollados en PHP y Postgresql.
o SisGeDo. Sistema de Gestión Documentaria.
Descripción
Módulos
Gestiona toda la documentación interna y externa en todo el Gobierno
Regional, comprendiendo la sede y sus 15 entidades externas. Diariamente
se registran un promedio de 1600 expedientes y 14000 movimientos.
•
•
Gestión Documentaria.
Mensajero Institucional.- Chat institucional tipo messenger para
facilitar la comunicación en línea entre todos los empleados y con la
población general.
Base de datos
•
•
•
•
•
•
Promedio de usuarios concurrentes
250
Tamaño: 10 GB
Tablas: 25
Functions: 20
Triggers: 10
Índices: 56
Número de registros que contiene la tabla de movimientos: 7‘282,798
23. EXPERIENCIAS DEL GOBIERNO REGIONAL LAMBAYEQUE
• SIGA. Sistema Integrado de Gestión Administrativa
Descripción
Comprende los módulos integrados de la Gestión Administrativa del Gobierno Regional.
• Escalafón de personal.
• Gestión de plazas laborales.
• Control Presupuestal.
• Planilla de remuneraciones.- Al momento se general el pago para 25,500
Módulos
•
•
•
•
•
Base de datos
Promedio de usuarios
concurrentes
•
•
•
•
•
•
150
empleados(administrativos y docentes) a nivel regional.
Convenios de planillas.- Vía internet ingresan proveedores (Bancos, cooperativas,
asociaciones, etc.).
Logística y Almacén.
Tesorería.
Contabilidad.
Transparencia pública, Gestión educativa, Administración de portales web.
Tamaño: 20 GB
Tablas: 230
Views: 12,
Functions: 128
Indices: 276
Número de registros que contiene la tabla con más movimientos: 18‘520,074
24. RECONOCIMIENTOS AL GOBIERNO REGIONAL:
• Premio a las Buenas Prácticas gubernamentales.
• Reconocimieto por parte de Proética e IPYS como
primer Gobierno Regional con mayor facilidad al acceso
a la información.
• Convenios establecidos con diferentes gobiernos
regionales y municipalidades a nivel nacional. (Replicar
experiencia).
• Invitación para participar en eventos relacionados al
software libre organizados por entidades privadas y
públicas a nivel nacional.
25. REFERENCIAS
• http://www.regionlambayeque.gob.pe/
• http://www.postgresql.org (Sitio principal de PostgreSQL)
• http://pgfoundry.org (Sitio de proyectos PostgreSQL)
• http://www.postgresql.org/about/awards (Reconocimientos)
• http://www.nttdata.co.jp/en/media/2007/041100.html
• http://es.wikipedia.org/wiki/ACID
• “PostgreSQL: Introduction and Concepts”
• www.postgresql.org/docs/awbook.html
• http://troels.arvin.dk/db/rdbms/
• http://en.wikipedia.org/wiki/Comparison_of_SQL_database_mana
gement_systems