Tema
BASES DE DATOS LIBRES
¿Qué alternativas existen?
Desarrolladores
Acosta, Rodrigo Martín –
[email protected]
Remedi, Rolando Martin –
[email protected]
Schumacher, Diego Leonel –
[email protected]
Copyright (c) 2008, Acosta, Rodrigo M.
Remedi, Rolando M.
Schumacher, Diego L.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled "GNU
Free Documentation License".
INDICE
Presentación......................................................................................................3
Firebird...............................................................................................................4
PostGreSQL.......................................................................................................6
MySQL................................................................................................................8
MaxDB..............................................................................................................10
MySQLCluster..................................................................................................11
HSQLDB...........................................................................................................14
SQLite..............................................................................................................15
Vulcan..............................................................................................................17
H2.....................................................................................................................18
KEXI.................................................................................................................19
GNOMEDB......................................................................................................20
BIBLIOGRAFIA................................................................................................23
PRESENTACIÓN
El siguiente trabajo pretende conocer las distintas alternativas en Base de Datos que
existan en la actualidad en lo que respecta a Software Libre.
Las Bases de Datos incluidas en el informe son:
Firebird
MySQL
✔ MaxDB
✔ MySQL Cluster
POSTGRESQL
HSQLDB
SQLite
Vulcan
H2
Asimismo, se presentan algunas alternativas a las Bases de Datos anteriores, que aun no
cumplen con las características necesarias para denominarse motores de Base de Datos,
pero creemos conveniente describirlas brevemente.
Ellas son:
KEXI
GNOMEDB
FIREBIRD
Firebird es un sistema de administración de base de datos relacional (o RDBMS) de
código abierto, basado en la versión 6.0 de Interbase, cuyo código fue liberado por
Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla
activamente y el 18 de abril de 2008 fue liberada la versión 2.1.
Firebird viene con un completo conjunto de utilitarios de línea de comandos que te
permiten crear bases de datos, obtener estadísticas, ejecutar comandos y scripts SQL,
realizar copias de seguridad y restauraciones, etc.
En Windows, puedes ejecutar Firebird como servicio o en modo aplicación. El instalador
puede crear, en el panel de control, un icono para administrar el servidor (iniciarlo,
detenerlo, etc.).
Firebird está siendo usado para grandes bases de datos con muchas conexiones.
La tecnología de Firebird ha estado en uso por 20 años, lo que lo hace un producto muy
estable y maduro.
Sus principales características son:
Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos:
Linux, HPUX, FreeBSD, Mac OS, Solaris y Microsoft Windows.
Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
Soporte de transacciones ACID y claves foráneas.
Integridad Referencial.
Arquitectura multigeneracional.
Ejecutable pequeño, con requerimientos de hardware bajos.
Completo lenguaje interno para procedimientos almacenados y disparadores
(PSQL)
Soporte para Funciones Externas (UDFs).
Poca o ninguna necesidad de DBAs especializados.
Prácticamente no requiere configuración.
Gran comunidad y muchos sitios donde podes encontrar soporte gratuito.
Versión incrustada, ideal para crear catálogos en CDROM, versiones mono
usuario, de evaluación o portátiles de las aplicaciones.
Docenas de herramientas de terceros, como herramientas de administración
gráficas, herramientas de replicación, etc.
Escritura segura recuperación rápida.
Muchas formas de acceder a tu base de datos: nativo/API, drivers dbExpress,
ODBC, OLEDB, proveedor .Net, driver JDBC nativo tipo 4, módulo Python, PHP,
Perl, etc.
Copias de seguridad incrementales.
Disponibilidad de binarios en arquitectura de 64bits.
Implementación completa de cursores en PSQL.
Tablas de Monitoreo.
Disparadores a nivel de Conexión y Transacción.
Tablas Temporales.
Es medianamente escalable.
Buena seguridad basada en usuarios/roles.
Diferentes arquitecturas, entre ellas el Firebird incrustado (embedded server) que
permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software
Firebird.
Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin
capacidad de escritura, como cdroms.
Requisitos de administración bajos, siendo considerada como una base de datos
libre de mantenimiento, al margen de la realización de copias de seguridad.
Pleno soporte del estándar SQL92, tanto de sintaxis como de tipos de datos.
Capacidad de almacenar elementos BLOB (Binary Large OBjects).
Tipos de servidor
Existen básicamente dos tipos de servidor Firebird para ser instalados: Classic y Super
server. Si bien tienen varias diferencias menores entre si, la principal consiste en que el
super server maneja hilos de ejecución individuales para cada conexión.
La edición Classic inicia un proceso servidor independiente por cada conexión que recibe.
Por lo tanto, para un número reducido de conexiones el recomendado sería el classic
porque consumirá menor cantidad de recursos.
En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever
no tiene soporte para este tipo de arquitectura.
Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse
por uno de estos servidores:
En plataformas Windows, seleccionar el Superserver.
En Linux, simplemente elegir cualquiera, según las conexiones
estimadas. En la mayoría de las situaciones no se notará diferencias
en la ejecución.
Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única biblioteca
de enlace dinámico DLL (de unos 2 MB de tamaño) que contiene todo el servidor. De esta
forma se puede tener un DBMS completo disponible y distribuíble junto con aplicaciones
de usuario sin requerir que este se instale por separado. Es un completo Servidor Firebird
empacado en unos cuantos ficheros. Con él es muy fácil distribuir aplicaciones, puesto
que no requiere instalación. Es ideal para catálogos en CDROM, demostraciones o
aplicaciones de escritorio independientes.
POSTGRESQL
PostGreSQL es un sistema de gestión de bases de datos objetorelacional (ORDBMS)
basado en el proyecto POSTGRES, de la universidad de Berkeley. El director de este
proyecto es el profesor Michael Stonebraker, y fue patrocinado por Defense Advanced
Research Projects Agency (DARPA), el Army Research Office (ARO), el National Science
Foundation (NSF), y ESL, Inc.
PostGreSQL es una derivación libre (OpenSource) de este proyecto, y utiliza el lenguaje
SQL92/SQL99, así como otras características que comentaremos más adelante.
Fue el pionero en muchos de los conceptos existentes en el sistema objetorelacional
actual, incluido, más tarde en otros sistemas de gestión comerciales. PostGreSQL es un
sistema objetorelacional, ya que incluye características de la orientación a objetos, como
puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e
integridad transaccional. A pesar de esto, PostGreSQL no es un sistema de gestión de
bases de datos puramente orientado a objetos.
Historia de PostGreSQL
La implementación de Postgres DBMS comenzó en 1986, y no hubo una versión
operativa hasta 1987. La versión 1.0 fue liberada en Junio de 1989 a unos pocos
usuarios, tras la cual se liberó la versión 2.0 en Junio de 1990 debido a unas críticas
sobre el sistema de reglas, que obligó a su reimplementación. La versión 3.0 apareció en
el año 1991, e incluyó una serie de mejoras como una mayor eficiencia en el ejecutor de
peticiones. El resto de versiones liberadas a partir de entonces, se centraron en la
portabilidad del sistema. El proyecto se dio por finalizado en con la versión 4.2, debido al
gran auge que estaba teniendo, lo cual causó la imposibilidad de mantenimiento por parte
de los desarrolladores.
En 1994, Andrew Yu y Jolly Chen añadieron un intérprete de SQL a este gestor.
Postgres95, como así se llamó fue liberado a Internet como un proyecto libre
(OpenSource). Estaba escrito totalmente en C, y la primera versión fue un 25% más
pequeña que Postgres, y entre un 30 y un 50% más rápida. A parte de la corrección de
algunos bugs, se mejoró el motor interno, se añadió un nuevo programa monitor, y se
compiló usando la utilidad GNU Make y el compilador gcc sin necesidad de parchearlo
(como había hecho falta en versiones anteriores).
En 1996, los desarrolladores decidieron cambiar el no
Comentarios de: Bases de datos libres ¿Qué alternativas existen? (0)
No hay comentarios