You are on page 1of 54

BIENVENIDOS

UNIVERSIDAD AGRARIA DEL ECUADOR


FACULTAD DE CIENCIAS AGRARIAS ESCUELA DE COMPUTACIN E INFORMTICA
MONOGRAFA Presentado como Requisito previo para Optar al Ttulo de: TECNLOGO EN COMPUTACIN E INFORMTICA AUTOR: EDISON ENCALADA CRUZ Guayaquil Ecuador 2011

TEMA:

BENEFICIOS DE LA BASE DE DATOS POSTGRESQL EN EL DESARROLLO DE SISTEMAS DE INFORMACIN

Introduccin
y En los ltimos aos, el software de bases de datos ha experimentado un auge extraordinario, debido Progresiva informatizacin . y Tenemos Oracle, Microsoft SQL Server, Borland Interbase entre otras. y En el mundo del software libre, siempre que se necesita algo se implementa (MySQL, o PostgreSQL gestor que trataremos).

Introduccin
y Gestores de bases de datos comerciales utilizados tienen un costo de licenciamiento. y Eleva su valor de desarrollo del sistema y por ende el costo de venta. y Con PostgreSQL no hay valor de licenciamiento (licencia BSD) y disponible para multitud de plataformas.

Introduccin
y Sus caractersticas tcnicas la hacen una de las bases

de datos ms potentes y robustas del mercado.


y y y y y

Estabilidad Potencia Robustez Facilidad de administracin Implementacin de estndares).

y En la actualidad se han concentrado mucho en la

velocidad de proceso y en caractersticas demandadas en el mundo empresarial.

Puntos a tratar (capitulo I)


Historia Caractersticas Beneficios de la base de datos

PostgreSQL

Historia

Historia
y Se inicia en 1982 con el proyecto Ingres en la Universidad de Berkeley

(liderado por Michael Stonebraker) primeros intentos en implementar un motor de base de datos relacional.

y Despus de haber trabajado un largo tiempo en Ingres decidi volver a

la Universidad en 1985

y Nuevo proyecto sobre la experiencia de Ingres, llamado post-ingres o

simplemente POSTGRES (pretenda resolver los problemas con el modelo de base de datos relacional).
y

Problemas era la incapacidad del modelo relacional de comprender "tipos"

Historia
y Se esforzaron en introducir la menor cantidad posible

de funcionalidades para completar el soporte de tipos.

y En Postgres la base de datos comprenda las

relaciones y poda obtener informacin de tablas relacionadas utilizando reglas.

y Postgres us muchas ideas de Ingres pero no su cdigo.

Historia
Desde el ao 1986 a 1994 existieron evoluciones muy importantes como:
y y y

y y

Se publicaron varios papers. Ya se contaba con una versin utilizable. Se publicaron versiones como 1 y 2 (reescrito el sistema de reglas) Crecimiento importante de la comunidad de usuarios Despus de la publicacin de la versin 4, el proyecto termin y el grupo se disolvi.

Historia
y Dos graduados de la universidad Andrew Yu y Jolly Chen, comenzaron a trabajar sobre el cdigo de POSTGRES. y 1996 se unieron al proyecto personas ajenas a la Universidad Marc Fournier de Hub.Org Networking Services, Bruce Momjian y Vadim B. Mikheev (Proporcionaron el primer servidor de desarrollo), adems decidieron cambiar el nombre de Postgres95 a PostgreSQL. y La primera versin formal de PostgreSQL (6.0) fue liberada en enero de 1997

Historia
y PostgreSQL no se desarroll con fines comerciales. y Paula Hawthtorn y Michael Stonebraker conformaron Illustra Information Technologies para comercializar Postgres. y 2000, ex inversionistas de Red Hat crearon la empresa Great Bridge para comercializar PostgreSQL. y Fines del 2001 cerr por la dura competencia de compaas como Red Hat.

Historia
y Enero 2005, PostgreSQL recibi apoyo del proveedor de base de datos Pervasive Software(Julio de 2006 dej el mercado de soporte de PostgreSQL). y A mediados de 2005 otras dos compaas anunciaron planes para comercializar PostgreSQL con nfasis en nichos separados de mercados.
y

EnterpriseDB aadi funcionalidades que le permitan a las aplicaciones escritas para trabajar con Oracle ser ms fciles de ejecutar con PostgreSQL. Greenplum contribuy mejoras directamente orientadas a aplicaciones de Data Warehouse e Inteligencia de negocios.

Historia
y En octubre de 2005, John Loiacono, vicepresidente ejecutivo de
software en Sun Microsystems coment: "No estamos yendo tras el OEM de Microsoft pero estamos viendo a PostgreSQL ahora .

y Para noviembre de 2005, Sun Solaris 10 (lanzamiento 6/06) inclua

PostgreSQL.

y En agosto de 2007 EnterpriseDB anunci el Postgres Resource Center y

EnterpriseDB Postgres, y 2008 EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008.

Historia
y Durante los aos de existencia del Proyecto

PostgreSQL, el tamao del mismo, nmero de desarrolladores y de lnea de cdigo, funciones y complejidad del mismo ha ido aumentando ao a ao.

Caractersticas

Caractersticas
Es multiplataforma

Usa una arquitectura proceso-por-usuario

Tipos de Datos
y Tipos tpicos : numricos, secuencias, cadenas,

fechas y horas segn localidad, binarios, BLOBs, etc.

y Tipos de datos especficos y extensiones:

primitivas geomtricas, IPs, etc. el ms interesante: matrices.

y Capacidad plena de definicin de nuevos tipos de

datos nuevos y sus operadores, completamente indexables!.

Concurrencia e Integridad
y Control Multi-Versin de la Concurrencia (como

ORACLE), mucho mejor que el bloqueo de filas (SQLServer hasta 2005 o DB2).

y PostgreSQL es ACID, por tanto soporta el uso de

transacciones atmicas, pudiendo guardar el estado temporal de las mismas.

y Soporte total de la integridad referencial y

estricciones semnticas a nivel de fila y campo.

Lenguaje de Consultas
y Adecuadamente configurado, es el ms rpido, y

tambin es el ms completo: soporta todos los tipos de composiciones, consultas anidadas y recursivas.

y Motor de optimizacin de consultas cuasi-ptimo

y/o Optimizador Gentico de consultas.

y Adems del soporte de expresiones regulares, la

bsqueda de texto con ordenacin por relevancia est integrada y con soporte nativo del espaol.

Seguridad
y Control de acceso a las Bases de Datos segn

usuario, roles e IP.

y Toda transferencia de contraseas y datos es

encriptada con SSL.

y La definicin de permisos sobre los objetos del

SGBD a usuarios/roles pueden ser definidos a espacios fsicos, bases de datos, tablas, columnas, funciones, lenguajes, esquemas y manejo de otros usuarios.

Triggers, reglas y procedimientos


y Soporte completo de procedimientos almacenados y triggers. y Definicin en lenguaje nativo as como lenguajes interpretados, compilados e incluso estadsticos. y Reglas: redefinicin de consultas. y Sistema de intercomunicacin de eventos para monitoreo sin polling . y Consultas entre bases de datos locales y remotas.

ndices
y Tipos predefinidos (B-trees y hashs) y Definicin personalizada para bsquedas y tipos

de datos particulares.

y Caractersticas ventajosas: y Escaneo adelante/atrs y ndices basados en expresiones y ndices parciales sobre secciones de una tabla y GiST y GIN

Herencia
y PostgreSQL proporciona esta caracterstica de la

OO: una tabla puede heredar los atributos de otra, encargndose PostgreSQL de mantener la coherencia entre los datos de tablas hijas y padres (herencia mltiple!).

y La consulta, insercin y/o borrado de columnas

en la tabla padre har lo propio en las hijas.

y Facilita el particionamiento y la traduccin desde

EER.

Respaldo, replicacin
y Adems de los respaldos completos, PostgreSQL proporciona bitcoras sucesivas (Write Ahead Logs). y Mejora la velocidad de recuperacin y ahorra espacio en los respaldos. y Puede recuperarse el estado de la BD al momento deseado en el tiempo (restauracin point-in-time). y SGBDs redundantes, replicacin sncrona y asncrona multi-master y master-slave.

Caractersticas (ultima versin )


y Replicacin y Escalabilidad y Hot Standby. y Replicacin en flujo. y Administracin y Seguridad y Actualizacin in-situ integrada (pg_upgrade). y Autentificacin RADIUS. y Verificacin de fortaleza de contraseas (passwordcheck). y rdenes de gestin de permisos ms sencillas (GRANT ON ALL y DEFAULT PERMISSIONS).

Caractersticas (ultima versin )


y Diseo de Base de Datos y SQL y Restricciones de unicidad postergables. y Triggers condicionales y Triggers por columna. y Ordenamiento en funciones de agregacin. y Nuevas opciones de ventanas deslizantes (ROWS PRECEDING y FOLLOWING).

Caractersticas (ultima versin )


y Procedimientos Almacenados y Bloques annimos de cdigo procedural (sentencia DO). y Procedimientos almacenados en Perl y Python mejorados (incluyendo soporte para Python 3). y Invocaciones con nombres de parmetros.

Caractersticas (ultima versin )


y Rendimiento y Funciones avanzadas
y Mensajera de eventos mejorada (LISTEN/NOTIFY) y Soporte a Windows 64-bit y Optimizacin para consultas generados por ORM

(eliminacin de JOIN) y Llaves de unicidad para datos no escalares (restricciones por exclusin) y Expansin del soporte a datos de tipo llave-valor (hstore) y Planes de EXPLAIN en JSON y XML

Beneficios

Beneficios
y Instalacin ilimitada y Mejor soporte que los proveedores comerciales y Ahorros considerables en costos de operacin y Estabilidad y confiabilidad legendarias y Extensible y Multiplataforma y Diseado para ambientes de alto volumen y Herramientas grficas de diseo y administracin de bases de datos

Comparativa

PostgreSQL vs Oracle
y Base de datos con 635 tablas y un tamao total de 11.3

Gb de datos en texto plano. Es destacable la existencia de una tabla histrica de casi 23 millones de registros (3 Gb de datos).

PostgreSQL vs Oracle
y Plataforma actual en produccin en servidor real

Servidor Xeon doble Quad Core 64 bits 3.40 Ghz, 16 Gb RAM, almacenamiento por canal de fibra ptica en un HP EVA 4400 (max. 400 MB/s). Sistema Operativo Windows 2003 Server R2.
y Plataforma de pruebas

Servidor virtual Xeon Quad Core 64 bits 3.40 Ghz, 8 Gb RAM, por canal de fibra ptica en un HP EVA 4400 (max. 400 MB/s). Sistema Operativo GNU/Linux.

Sentencia SELECT.
Consulta con join tabla ms voluminosa de la BD (clie.pagos_y_desembolsos_cl, que tiene ms de 22,7 millones de filas.

Sentencia INSERT.

Sentencia UPDATE.

Sentencia DELETE.

PostgreSQL vs MySQL
y Por su arquitectura de diseo,

PostgreSQL

escala muy bien al aumentar el nmero de CPUs y la cantidad de RAM. y Soporta transacciones y desde la versin 7.0, claves ajenas (con comprobaciones de integridad referencial). y Tiene mejor soporte para triggers y procedimientos en el servidor. y Soporta un subconjunto de SQL92 MAYOR que el que soporta MySQL. Adems, tiene ciertas caractersticas orientadas a objetos.

y Mayor rendimiento. Mayor

MySQL

y y

velocidad tanto al conectar con el servidor como al servir select y dems. Mejores utilidades de administracin (backup, recuperacin de errores, etc.). Aunque se cuelgue, no suele perder informacin ni corromper los datos. Mejor integracin con PHP. No hay lmites en el tamao de los registros

Puntos a tratar (capitulo II)


Configuracin para la seguridad Accesos Administracin de PostgreSQL.

y Existen varios software para la administracin de

PostgreSQL entres ellos estn:


PGAccess  PgAdmin III  PhpPgAdmin


Descripcin PgAdmin III


y Herramienta de cdigo abierto para la administracin de bases de datos PostgreSQL Incluye:
Interfaz administrativa grfica.  Herramienta de consulta SQL (con un EXPLAIN grfico).  Editor de cdigo procedural.  Agente de planificacin SQL/shell/batch.  Administracin de Slony-I. y Est disponible para varios sistemas operativos, incluyendo Microsoft Windows, Linux, FreeBSD, Mac OSX y Solaris.


Estructura de PostgreSQL.

Configuracin
y pg_hba.conf (tipos de accesos) y pg_ident.conf (acceso del tipo ident en pg_hba.conf) y postgresql.conf (parmetros de configuracin que

afectan al funcionamiento y al comportamiento de PostgreSQL)

Presentacin PgAdmin III

You might also like