Está en la página 1de 9

PostgreSQL es un sistema de gestión de bases de

datos relacional orientado a objetos y de código abierto,


publicado bajo la licencia PostgreSQL,1 similar a la
BSD o la MIT.

Como muchos otros proyectos de código abierto, el


desarrollo de PostgreSQL no es manejado por una
empresa o persona, sino que es dirigido por una comunidad de desarrolladores
que trabajan de forma desinteresada, altruista, libre o apoyada por organizaciones
comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global
Development Group). PostgreSQL no tiene un gestor de defectos, haciendo muy
difícil conocer el estado de sus defectos.

Características

 Números de precisión arbitraria.


 Texto de largo ilimitado.
 Figuras geométricas (con una variedad de funciones asociadas).
 Direcciones IP (IPv4 e IPv6).
 Bloques de direcciones estilo CIDR.
 Direcciones MAC.
 Arrays.

Ventajas

 -Seguridad en términos generales


 -Integridad en BD: restricciones en el dominio
 -Integridad referencial
 -Afirmaciones (Assertions)
 -Disparadores (Triggers)
 -Autorizaciones
 -Conexión a sistema de gestión de bases de datos
 -Transacciones y respaldos
Desventajas

 Es relativamente lento en inserciones y actualizaciones en bases de datos


pequeñas, PostgreSQL está diseñado para ambientes de alto volumen.
Ésto hace que la velocidad de respuesta pueda parecer lenta en
comparación con bases de datos de pequeño tamaño.
 Soporte oficial: No cuenta con un soporte en línea o telefónico. PostgreSQL
cuenta con foros oficiales donde los usuarios pueden exponer sus dudas
que responden otros usuarios de la comunidad. También, disponemos
soporte empresarial como EnterpriseDB o TodoPostgreSQL. Cabe resaltar
que la comunidad de usuarios PostgreSQL es una de las más activas en el
mercado.
 La sintaxis de algunos de sus comando o sentencias puede llegar a no ser
intuitiva si no tienes un nivel medio de conocimientos en lenguaje SQL.

Evolución

PostgreSQL ha tenido una larga evolución, la cual se inicia en 1982 con el


proyecto Ingres en la Universidad de Berkeley. Este proyecto, liderado por Michael
Stonebraker, fue uno de los primeros intentos en implementar un motor de base
de datos relacional. Después de haber trabajado un largo tiempo en Ingres y de
haber tenido una experiencia comercial con el mismo, Michael decidió volver a la
Universidad en 1985 para trabajar en un nuevo proyecto sobre la experiencia de
Ingres, dicho proyecto fue llamado post-ingres o simplemente POSTGRES.

El proyecto post-ingres pretendía resolver los problemas con el modelo de base de


datos relacional que habían sido aclarados a comienzos de los años 1980. El
principal de estos problemas era la incapacidad del modelo relacional de
comprender "tipos", es decir, combinaciones de datos simples que conforman una
única unidad. Actualmente estos son llamados objetos. Se esforzaron en introducir
la menor cantidad posible de funcionalidades para completar el soporte de tipos.
Estas funcionalidades incluían la habilidad de definir tipos, pero también la
habilidad de describir relaciones - las cuales hasta ese momento eran
ampliamente utilizadas pero mantenidas completamente por el usuario. En
Postgres la base de datos «comprendía» las relaciones y podía obtener
información de tablas relacionadas utilizando reglas. Postgres usó muchas ideas
de Ingres pero no su código.

La siguiente lista muestra los hitos más importantes en la vida del proyecto
Postgres.

1986: se publicaron varios papers que describían las bases del sistema.

1988: ya se contaba con una versión utilizable.

1989: el grupo publicaba la versión 1 para una pequeña comunidad de usuarios.

1990: se publicaba la versión 2 la cual tenía prácticamente reescrito el sistema de


reglas.

1991: publicación de la versión 3, esta añadía la capacidad de múltiples motores


de almacenamiento.

1993: crecimiento importante de la comunidad de usuarios, la cual demandaba


más características.

1994: después de la publicación de la versión 4, el proyecto terminó y el grupo se


disolvió.

Después de que el proyecto POSTGRES terminara, dos graduados de la


universidad, Andrew Yu y Jolly Chen, comenzaron a trabajar sobre el código de
POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo la
BSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a
POSTGRES, dado que anteriormente contaba con un intérprete del lenguaje de
consultas QUEL (basado en Ingres), creando así el sistema al cual denominaron
Postgres95.

Para el año 1996 se unieron al proyecto personas ajenas a la Universidad como


Marc Fournier de Hub.Org Networking Services, Bruce Momjian y Vadim B.
SQLite es un sistema de gestión de bases de datos
relacional compatible con ACID, contenida en una
relativamente pequeña biblioteca escrita en C.
SQLite es un proyecto de dominio público creado por
D. Richard Hipp.

A diferencia de los sistema de gestión de bases de


datos cliente-servidor, el motor de SQLite no es un
proceso independiente con el que el programa principal se comunica. En lugar de
eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral
del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas
simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de
datos, debido a que las llamadas a funciones son más eficientes que la
comunicación entre procesos. El conjunto de la base de datos (definiciones,
tablas, índices, y los propios datos), son guardados como un solo fichero estándar
en la máquina host. Este diseño simple se logra bloqueando todo el fichero de
base de datos al principio de cada transacción.

En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño,


y también permite la inclusión de campos tipo BLOB.

El autor de SQLite ofrece formación, contratos de soporte técnico y características


adicionales como compresión y cifrado.

Características

 La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo


transacciones de base de datos atómicas, consistencia de base de datos,
aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas
complejas.
 SQLite usa un sistema de tipos inusual.
 tratará en primera instancia de convertir la cadena en un entero). Algunos
usuarios consideran esto como una innovación que hace que la base de
datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de
scripting de tipos dinámicos. Otros usuarios lo ven como un gran
inconveniente, ya que la técnica no es portable a otras bases de datos SQL.
SQLite no trataba de transformar los datos al tipo de la columna hasta la
versión 3.
 Varios procesos o hilos pueden acceder a la misma base de datos sin
problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un
acceso de escritura solo puede ser servido si no se está sirviendo ningún
otro acceso concurrentemente.
 Existe un programa independiente de nombre sqlite que puede ser utilizado
para consultar y gestionar los ficheros de base de datos SQLite. También
sirve como ejemplo para la escritura de aplicaciones utilizando la biblioteca
SQLite.

Ventajas

 Tamaño: SQLite tiene una pequeña memoria y una única biblioteca es


necesaria para acceder a bases de datos, lo que lo hace ideal para
aplicaciones de bases de datos incorporadas.
 Rendimiento de base de datos: SQLite realiza operaciones de manera
eficiente y es más rápido que MySQL y PostgreSQL.
 Portabilidad: se ejecuta en muchas plataformas y sus bases de datos
pueden ser fácilmente portadas sin ninguna configuración o
administración.
 Estabilidad: SQLite es compatible con ACID, reunión de los cuatro
criterios de Atomicidad, Consistencia, Aislamiento y Durabilidad.
 SQL: implementa un gran subconjunto de la ANSI – 92 SQL estándar,
incluyendo sub-consultas, generación de usuarios, vistas y triggers.
 Interfaces: cuenta con diferentes interfaces del API, las cuales permiten
trabajar con C++, PHP, Perl, Python, Ruby, Tcl, groovy, etc.
 Costo: SQLite es de dominio público, y por tanto, es libre de utilizar
para cualquier propósito sin costo y se puede redistribuir libremente.
Desventajas

 Limitaciones en Where: esta limitación está dada por el soporte para


clausuras anidadas.
 Falta de Clave Foránea: se hace caso omiso de las claves foráneas; esto
quiere decir, cuando se realice la creación de la tabla desde el modo
consola, está permitiendo el uso de la clausura, aunque no realizara el
chequeo de la misma.
 Falta de documentación en español: si bien ya contamos con una
comunidad latino americana de SQLite, sería importante encontrar mucha
más documentación, libros, review, etc. como muchos otros motores de
bases de datos cuentan hoy en día.

Evolución

Cuando D. Richard Hipp trabajaba desarrollando software para la fuerza naval de


los Estados Unidos, comenzó a desarrollar SQLite, según él cuenta con sus
propias palabras: El proyecto SQLite surgió de una necesidad personal, para mi
propio uso.

En enero de 2000 D. Richard Hipp estaba trabajando con su equipo de la General


Dynamics en la Fuerza naval de los Estados Unidos, en un proyecto de software,
el cual se conectaba a una base de datos Informix, el motor funcionaba muy bien,
pero habían tenido problemas para hacer una reconfiguración cuando el sistema
se reiniciaba. Luego cambiaron a PostgreSQL, pero administrar la base de datos
era un poco más complejo. Fue en ese momento cuando surgió la idea de escribir
un simple motor de base de datos SQL que permitiera leer los archivos del disco
duro, y luego ser llamados en diferentes solicitudes.

Cinco meses más tarde comenzó a escribir las primeras versiones de lo que hoy
conocemos como SQLite, con el pensamiento de que sería útil en algún problema
similar. Es claro que SQLite tiene la capacidad de reemplazar a grandes motores
de Bases de Datos y acoplarse al desarrollo de nuestros proyectos informáticos,
ya sea en ambientes de prototipos.
Interbase es un sistema de gestión de bases de datos
relacionales (RDBMS) desarrollado y comercializado por
la compañía Borland Software Corporation y
actualmente por Embarcadero Technologies.

Interbase se destaca de otros DBMS's por su bajo


consumo de recursos, su casi nula necesidad de
administración y su arquitectura multi-generacional. InterBase corre en
plataformas Linux, Microsoft Windows y Solaris.

CARACTERISTICAS

 Corre en plataformas LINUX, MICROSOFT WINDOWS Y SOLARIS.


 Dispone de transacciones.
 Integridad referencial.
 Posee de un sistema escalable.

Ventajas

 InterBase destaca del resto de los sistemas de bases de datos por su


arquitectura única, basada en versiones. Otro de los puntos fuertes de
InterBase es su cercanía al estándar de SQL, sobre todo en la sintaxis de
procedimientos almacenados y triggers.
 Es sumamente fáciles programar una base de datos activa en InterBase y
posteriormente adaptar la definición para Oracle.
 El lenguaje de procedimientos y triggers es muy potente, e incluso supera a
Oracle en la facilidad para expresar cláusulas de verificación check que
involucren a varias tablas, y en que los triggers no están sujetos a los
problemas ocasionados en Oracle por las denominadas “tablas mutantes”.

Desventajas:

 Los problemas de InterBase se deben a la misma causa que sus ventajas:


su arquitectura única. Es muy sencillo realizar particiones en otros sistemas
(Oracle, DB2, SQL Server, Informix) para aumentar el rendimiento físico de
una base de datos, pero este concepto es difícil de adaptar para InterBase.
De todos modos, el particionamiento por software no es sino un sustituto un
poco más flexible de ciertas técnicas RAID para la mejora del rendimiento,
e InterBase sí permite que una base de datos se expanda a lo largo de
varios discos, aunque no controla qué tablas van a parar a qué dispositivo.

Evolución

Jim Starkey trabajaba en DEC en su producto “Datatrive network database”.


Cuando tuvo la idea de un sistema que manejara cambios hechos
concurrentemente por varios usuarios.

La idea simplificaba dramáticamente los problemas existentes del control de


concurrencia utilizando trancas (locking), los cuales representaban un serio
problema para los nuevos sistemas de base de datos relacionales que se estaban
desarrollando en ese momento. Entonces comenzó a trabajar en el sistema en
DEC, pero en ese momento DEC comenzaba el desarrollo de una base de datos
relacional que resultó en el producto Rdb/VMS.

Cuando se enteraron de su proyecto se desató un gran problema, y Starkey


eventualmente decidió desistir. Starkey se enteró que el proveedor de plataformas
locales Apollo Computer buscaba una base de datos para sus máquinas Unix, y
accedían a solventar su desarrollo. Con su apoyo, Starkey formó Groton Database
Systems (Groton, Massachusetts era el lugar donde se encontraban) en 1984 y
comenzó a trabajar en lo que eventualmente sería lanzado como InterBase en
1986. Apollo sufrió un inconveniente corporativo y decidió dejar el negocio del
software, pero en ese tiempo el producto ya estaba generando dinero.

Entre 1986 y 1991 el producto fue gradualmente vendido a Ashton-Tate, creadores


del famoso dBASE, quienes en ese entonces se encontraban comprando varias
compañías de base de datos con el fin de ampliar su catálogo. La compañía cayó
rápidamente y Borland la compró en 1991, adquiriendo InterBase como parte del
trato.

También podría gustarte