Foro # 3

SubTemas: ¿Qué es PostgreSQL?

Autor: Tomas Moreno.

¿Qué es PostgreSQL?

PostgreSQL es un sistema de gestión de base de datos de tipo objeto-relacional Comenzó como un proyecto denominado Ingres en la Universidad Berkeley de California, fue un proyecto dirigido por el Profesor Michael Stonebraker y contó con el apoyo de diversos organismos y empresas de EE.UU.

En 1986 otro equipo dirigido por Michael Stonebraker de Berkeley continuó el desarrollo del código de Ingres para crear un sistema de bases de datos objeto-relacionales llamado Postgres. En 1996, debido a un nuevo esfuerzo de código abierto y a la incrementada funcionalidad del software, Postgres fue renombrado a PostgreSQL, tras un breve periplo como Postgres95. El proyecto PostgreSQL sigue actualmente un activo proceso de desarrollo a nivel mundial gracias a un equipo de desarrolladores y contribuidores de código abierto.

PostgreSQL está ampliamente considerado como el sistema de bases de datos de código abierto más avanzado del mundo. Posee muchas características (las cuales serán discutidas en detalle en la sección denominada ``Juego de Características de PostgreSQL'') que tradicionalmente sólo se podían ver en productos comerciales de alto calibre.

Los sistemas de base de datos objeto-relacionales ( u ORDBMS), no deben ser confundidos con los sistemas gestores de base de datos orientados a objetos. Los ORDBMS sólo incluyen algunas características típicas de la orientación a objetos.

Bases de Datos relacionales SQL. PostgreSQL

PostgreSQL es software libre que proviene del código original de Berkeley. Proporciona soporte para SQL92 y SQL99, además de un conjunto de características actuales.

POSTGRES incorporó gran parte de los conceptos de objetos-relacionales que hoy día incluyen algunos gestores de base de datos comerciales. Los gestores de base de datos relacionales tradicionales (RDBMS) permiten la existencia de una colección de relaciones identificadas por un nombre, las cuales poseen atributos a los que se le asocia un determinado tipo de datos.

Los sistemas de base de datos actuales permiten tipos de datos tales como números en coma flotante, enteros, cadenas de caracteres, monedas y fechas; pero como es bien sabido, esto no basta para satisfacer las necesidades de las aplicaciones del futuro.

Por esta razón, PostgreSQL proporciona un conjunto de nuevos conceptos que permitirán a los usuarios ampliar de forma cómoda sus aplicaciones.

Entre estos nuevos conceptos cabe destacar:

Otras características que proporcionan flexibilidad y solidez al sistema son:

Nuevas Características Avanzadas

Roles: PostgreSQL ahora soporta roles de bases de datos, los que simplifican el manejo de grandes cantidades de usuarios con esquemas complejos de privilegios superpuestos.

Parametros de entrada/salida (IN/OUT): Las funciones ahora soportan parámetros de entrada (IN), salida (OUT) y entrada/salida (INOUT), lo cual mejora sustancialmente el soporte de lógica compleja y aplicaciones J2EE y .NET.

Compromiso en Dos Fases (Two-Phase Commit, 2PC): esta característica, muy necesaria para aplicaciones WAN y centros de cómputo heterogéneos, permite transacciones conformes con ACID a través de servidores distribuidos.
Mejoras de Rendimiento

Rendimiento Multiprocesador (SMP) mejorado: el gestor de memoria ha sido mejorado para 8.1, de manera que escala casi lineamente con el número de procesadores. Esto conlleva mejoras significativas de rendimiento en sistemas de 8 vías, 16 vías, dual-core y multi-core.

Recorridos de Mapas de Bits: los índices son convertidos a mapas de bits en memoria cuando es apropiado, otorgando hasta veinte veces más rendimiento en consultas complejas para tablas muy grandes. Esto también ayuda a simplificar la administración de bases de datos reduciendo significativamente la necesidad de índices multicolumna.

Particionamiento de Tablas: El optimizador de consultas es capaz de evitar recorrer secciones completas de tablas grandes, a través de una técnica conocida como Exclusión por Restricciones. Similar a las características de Particionado de Tablas de otros sistemas gestores de datos, esta característica mejora tanto el rendimiento como la gestión de datos para tablas de varios gigabytes.

Bloqueos Compartidos de Registros: El modelo de bloqueos «mejor que a nivel de registro» de PostgreSQL ahora soporta niveles de concurrencia aún mayores, a través de la adición de candados compartidos a nivel de registro para llaves foráneas. Estos candados compartidos mejorarán el rendimiento de inserción y actualización para muchas aplicaciones OLTP de gran concurrencia.

PostgreSQL 8.1 ofrece una mejora de rendimiento enorme, a todos los niveles, en nuestros servidores Opteron de doble procesador», según Merlin Moncure, Administrador de Bases de Datos para Reliable Computer Solutions.. Más específicamente, estamos viendo alrededor de un 20% de reducción en los tiempos de ejecución de consultas simples, y una reducción adicional de un 20% en el nivel de carga de CPU, para una reducción total de carga del servidor de entre 20 y 40%».

Hay más de 120 mejoras, algunas de las cuales se encuentran detalladas en los cambios de la versión.

Infografía

Definición de PostgreSQL:

http://softwarelibre.unsa.edu.ar/orglug/

Historia y Definición de PostgreSQL:

http://www.postgresql.org.mx/?q=node/6

PostgreSQL 8.1, características de la versión:

http://www.postgresql.org/about/press/presskit81.html.es

Tutorial de PostgreSQL:

http://scholar.google.co.ve/scholar?hl=es&lr=&q=cache:uwStwuYA8cYJ:palomo.usach.cl/Docs/postgres/Postgres-Tutorial.pdf+Dise%C3%B1o+de+Sistemas+de+Informaci%C3%B3n+usando+Postgres

Comparación entre diversos SMBD:

http://www.ilustrados.com/documentos/sgbd.pdf

 

Hosted by www.Geocities.ws

1