You are on page 1of 8

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

VENTANA INFORMTICA No. 12 Universidad de Manizales, enero junio / 2005 pp 277-286





Bases de datos con
software libre

Diego Samir Melo Solarte
1






Resumen

En el presente artculo ilustra diferentes opciones de Sistemas Gestores de
Bases de Datos, desde la perspectiva del software libre, mostrando un listado
de las diferentes opciones existentes y breves caractersticas de cada uno de
ellos que le permitirn a los desarrolladores de software tener a su
disposicin una gama de opciones ms amplia y econmica. Adems, se
plantea varias caractersticas que se deben tener en cuenta a la hora de
elegir una herramienta para administrar y desarrollar sistemas de informacin.
Por ltimo se realiza una breve comparacin entre PostgreSQL y MySQL
como las herramientas ms comunes dentro del desarrollo WEB.




Hoy en da, todas las empresas ya sean grandes, medianas o pequeas y sin
importar su tipo (acadmicas, comerciales, industriales, etc.) requieren de un
buen sistema de informacin (SI) que de soporte a la toma de decisiones ya
sea a nivel Administrativo, Tctico e incluso el Operativo.

Ahora bien, el trabajo de los desarrolladores est orientado al anlisis, diseo
y construccin de un sistema de informacin acorde a las necesidades de la
empresa, de tal forma que satisfaga en gran medida los requerimientos de
software planteados por una organizacin, adems de las caractersticas
propias de la Ingeniera de Software como son: la escalabilidad, usabilidad,
desempeo, seguridad, disponibilidad, tolerancia a fallos, estabilidad y la
robustez del sistema entre otras. Si se piensa en ello, es muy comn que el
desarrollador oriente sus esfuerzos en buscar una herramienta SGBD
2
, que

1
Ingeniero de Sistemas, Facultad de Ingeniera, Universidad de Manizales.
mdiego@athenea.umanizales.edu.co

2
Sistema Gestor de Base de Datos (SGBD): se puede definir como todo el conjunto de herramientas
que acompaan al motor de base de datos y permiten a los diferentes tipos de usuarios interactuar con
la BD. recuerde que el motor de BD es la arquitectura lgica o mejor dicho el algoritmo que permite
- Universidad de Manizales, enero junio / 2005

2
pueda dar el mejor soporte y la garanta de poder cubrir las exigencias de
funcionamiento y calidad que requiere el sistema.

A la hora de implementar sistemas de informacin de alto desempeo ya
sean OLTP
3
o OLAP
4
, los SGBD elegidos por la mayora de los
desarrolladores son Oracle, Informix o DB2, entre otros. Pero surge un
interrogante. Qu costo implica utilizar una herramienta de este nivel?; tal
vez si se realiza una evaluacin de todas las consideraciones que implica el
desarrollo de un sistema de informacin, se detecta que de todo el
presupuesto del proyecto, la herramienta que sustentar la Base de Datos
BD
5
, se lleva un porcentaje considerable y no todas las organizaciones o
empresas disponen de una solvencia econmica suficiente como para elegir
un SGBD de los mencionados anteriormente; esto ha llevado a diferentes
grupos desarrolladores, a buscar nuevas alternativas en el mercado que
adems de respaldar un SI, tambin permita cubrir todas las necesidades del
diseo. Como alternativa, las organizaciones de software libre y sus
herramientas se ha convertido en una gran posibilidad de hacer buenos
desarrollos a un menor costo y quiz con muchas ms posibilidades; es muy
alta la oferta que existe de SGBD con software libre, fcilmente se puede
conseguir en Internet SGBD para todos los gustos (Tabla 1), todo depende
de las necesidades que se tenga y la disposicin para evaluar diferentes
alternativas que a continuacin se presentan.


acceder los datos. Los SGBD tambin se conocen como sistemas administradores de BD con su sigla
en ingles DBMS(Data Base Management System).
3
On Line Transaction Processing OLTP: El procesamiento transaccional se realiza para manipular
poco volumen de informacin y alto nivel de concurrencia, tal es el caso de los sistemas bancarios,
donde una consignacin es una transaccin que solo necesita Nmero de Cuenta y Valor a consignar.
4
On Line Analitical Process OLAP: El Procesamiento Analtico esta orientado a solo consultas basadas
el estudio de grandes volmenes de informacin histrica y donde la operacin es lenta, las consultas
realizadas en una BD OLAP tienen un alto nivel de complejidad y no son predecibles
5
Bases de Datos (BD): Coleccin de datos almacenados en un dispositivo informtico no voltil, los
datos deben estar disponibles en todo momento para actualizaciones, adiciones, borrados y consultas,
esttos datos siempre deben mantener su integridad y coherencia. Es muy comn encontrar personas
que hablan de bases de datos cuando se refieren a un listado, pero no hay que confundir el producto
de una base de datos con la misma base de datos, por ejemplo: un directorio telefnico, no es una
base de datos ya que en l no se podr ni actualizar, ni borrar y mucho menos agregar datos
CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

3
Tabla 1.
Listado de algunos SGBD que se inclinan por la filosofa del software libre

Los anteriormente listados, no son los nicos SGBD; desde el punto de vista
acadmico o comercial, se han desarrollado otros, quizs no tan comunes o
difundidos como los anteriores pero que hacen parte de la gran oferta que se
puede encontrar en la familia del software libre, como lo muestra la Tabla 2.

Nombre Generalidades Interfaces Sistema Operativo
mSQL Mini SQL o MSQL es un ligero
motor de bases de datos orientado
principalmente a trabajar en
maquinas de poca velocidad
C, ESL, Tcl, Perl, Python,
NextSTEP, X11 y SQL
como lenguaje de consulta
SunOS, Solaris, HP-UX,
AIX, Linux, FreeBSD-2,
SCO, SVR4, NeXT, Cray
Unicos, OSF/1, Ultrix.
MySQL Quizs el SGBD ms popular hoy
en da para WEB, su principal
caracterstica es la velocidad
aunque carece de grandes
posibilidades de administracin.
SQL92, ODBC, C, Perl,
JAVA, C++, Python
BSDOS, SunOS, Solaris,
Linux, IRIX, AIX, OSF1,
BSD/OS, FreeBSD,
Windows
University
INGRES
SGBD que parte del uso bsico que
tena el antiguo INGRES
Corporation, aunque no tiene todas
las bondades del producto
comercial actual
QUEL, EQUEL SunOS, Linux
Qddb Se basa en la versin comercial de
Qddb, su principal caracterstica es
la velocidad aunque no tiene un
amplio soporte en el tipo de datos.
Tcl/Tk, SQL Ultrix, OSF/1, BSD/386,
Linux, SunOS, Solaris.
Exodus Un SGBD orientado a objetos,
permite el manejo de transacciones
y la construccin de BD
distribuidas, no soporta SQL
GNU E, C++ MIPS/Ultrix, SPARC/SunOS,
HP 7xx/HP-UX, Linux
Berkely DB De la misma familia de Postgres, es
un SGBD de alto desempeo,
rpido y una de las grandes
ventajas es que permite una
buenahttps://athenea.umanizales.e
du.co/mail2/src/webmail.php puesta
a punto para cada caso de negocio.
dbm, ndbm, hsearch, DB
1.85
Linux, MacOS X, QNX,
UNIX, VxWorks y Windows.
PostgreSQ
L
Un SGBD objeto relacional
orientado principalmente a bases
de datos grandes, tiene muy buen
soporte de administracin y
auditoria
SQL, C API, C++ API, Tcl
API, Perl5 API, Python
API, WWW Gateway,
JDBC driver, X11
Linux, Solaris, Digital Unix,
BSD, Windows
Ozone Es un nuevo SGBD orientado a
objetos cuya objetivo principal es
soportar desarrollos WEB
JAVA, XML Cualquiera que soporte la
maquina virtual de java
- Universidad de Manizales, enero junio / 2005

4
Tabla 2.
Otros SGBD

SGBD DIRECCIN
Beagle SQL www.beaglesql.org
MOOD-SX Material's Object-Oriented
Database
mood.mech.hi-tech.ac.jp/mood/mood-sx.html
Cbase www.cbase.com
LEAP leap.sourceforge.net
DBX Database XML sourceforge.net/projects/dbxsqlxmldbms/
Requiem www.ptf.com/ptf/products/UNIX/current/0045.0.html
DiamondBase www.csse.monash.edu.au/~darrenp/diamondbase.html
ConceptBase www-i5.informatik.rwth-aachen.de/CBdoc/cbflyer.html
FireBird firebird.sourceforge.net
GNU SQL www.ispras.ru/~kml/gss
YOODA (Yet another Object Oriented
Database)
www.ptf.com/ptf/products/UNIX/current/0047.0.html#0
Onyx www.ptf.com/ptf/products/UNIX/current/0037.0.html
XORM sourceforge.net/projects/xorm
TdbEngine SQL Server sourceforge.net/projects/tdbsql
OCELOT sourceforge.net/projects/ocelot
http://www.jepstone.net/directory/index.cgi/Databases/Database_Servers
http://www.iam.unibe.ch/~scg/Archive/Software/FreeDB/FreeDB.list.html

PostgreSQL y MySQL son los SGBD de mayor representacin dentro del
mundo de Software Libre, principalmente por su alta integracin con
herramientas de programacin WEB como PHP
6
o JAVA
7
. al confrontarlas,
surgen varias inquietudes, entre ellas las ms frecuentes son: cul es
mejor? o tambin la pregunta que se hace todos los DBA
8
a la hora de
implementar un sistema de informacin: qu SGBD debo escoger, MySQL o
PostgreSQL?.

Pues bien, desde un punto de vista objetivo, hacer la comparacin de
PostgreSQL y MySQL se podra considerar inadecuado; ya que si se realiza
una pequea analoga, sera como comparar un camin, frente a una
tractomula, cada uno fue desarrollado con un propsito y un tipo de servicio
diferente. Esto de paso permite responder la segunda inquietud, cul
escoger?, bien cuando el DBA se responda para qu lo necesita y que
resultados espera, podr elegir fcilmente entre un SGBD u otro.

A continuacin se plantean algunos puntos de comparacin, no con el fin de
determinar cual SGBD es mejor, sino para ayudar a los analistas,

6
Preintrprete de Hipertexto PHP: Lenguaje de programacin de alto nivel, orientado a la WEB
http://www.php.net

7
JAVA: Lenguaje de programacin orientado a objetos, desarrollado por SUN Microsystem, sus
principales caractersticas son: portabilidad, seguridad y multitarea. http://www.sun.com

8
Administrador de Bases de Datos DBA: son los encargados de velar por el correcto funcionamiento
de la BD, en trminos generales, son las personas que garantizan que la BD que soporta al Sistema de
Informacin esta disponible en cualquier momento para cualquier usuario que desee usar el Sistema.
CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

5
diseadores y desarrolladores a tomar una decisin, de acuerdo a las
necesidades propias del SI y las caractersticas que cada SGBD tenga.


En resumen, PostgreSQL y MySQL tienen muy buen soporte web,
actualmente es para lo que ms se les utiliza, aunque si se piensa en
desarrollar aplicaciones WEB, donde el factor principal es la velocidad, se
puede inclinar por MySQL ya que este es ms rpido debido a que no hace
ningn tipo de control y/o auditora; mientras, si el objetivo es desarrollar una

9
Struct Query Language SQL: el lenguaje de consulta estructurado es una herramienta estndar
dentro de las interfaces existentes para interactuar con una BD.

10
Triggers: se denominan disparadores, su principal objetivo es ejecutar algn procedimiento en el
momento que ocurra un evento en la BD o tabla asociada a l.
Caracterstica MySQL PostgreSQL
Definicin de Esquema Relacional Objeto / Relacional
SQL
9
para Consulas SQL92 SQL92 y SQL99
Herramientas de
Administracion Grafica
PhpMyAdmin, perlDBDmysql y
herramientas que soporten java o
jdbc
PgAccess y herramientas que
soporten java o jdbc
Tipos de Datos Soportados en la versin 4. soporta
aproximadamente 27 tipos de
datos entre carcter, numricos y
fecha
en la versin 7.4 soporta 62
tipos de datos entre carcter,
numricos, fecha y otros de tipo
administrativo como aclitem,
oid, xid etc.
Procedimientos almacenados No tiene soporte de
procedimientos almacenados
Triggers
10
y Funciones
Elementos adicionales (Vistas,
Sinnimos, Secuencias, etc. )
No soporta Vistas, no soporta
sinnimos, pero si soporta
algunas secuencias.
soporta vistas, dominios, tipos
de objetos nuevos, secuencias,
reglas, no soporta sinnimos
Backup en Caliente mysql_dump pg_dump
Integridad de Datos No tiene soporte de constraint Buen manejo de constraint
Joins No tiene soporte Soporta, natual join, inner join,
cross join sin ningn
inconveniente, adems permite
manejar subconsultas con
unin, interseccin y
excepciones.
Recursos Bajo consumo de recursos como
memora RAM y hardware
el consumo de memoria
aumenta aproximadamente en
25% ms que MySQL
Interfaz bsica de comandos mysql psql
PHP buena integracin con php Buena integracin con php, en
las ltimas versiones ha
aumentado el soporte de
funciones.
Rendimiento alta velocidad Buena velocidad pero menor
que la ofrecida por mysql
- Universidad de Manizales, enero junio / 2005

6
aplicacin a la medida donde predomine la estabilidad, integridad y seguridad
del sistema, la orientacin es PostreSQL. Tenga en cuenta que PostgreSQL
es un SGBD de alto desempeo orientado a la construccin de SI
distribuidos, Clusters
11
, o Mineras de informacin, es decir esta orientado al
manejo de grandes volmenes de informacin, y MySQL esta orientado a la
realizacin de transacciones rpidas con el fin de agilizar la respuesta de una
WEB.

Un DBA cul elegira?. Bien, para ello se requieren evaluar algunos factores
importantes que involucra el desarrollo de cualquier sistema de informacin,
entre los cuales se tienen:

Factores Tcnicos:
Es necesario determinar el tipo de sistema de informacin a construir,
Cliente/Servidor, Distribuido, Data Mining, entre otros.
La Interfaz de usuario a usar.
Tipos de Lenguaje que puede soportar un SGBD.
La disponibilidad de hardware.


Factores Econmicos
Costo de licenciamiento
Costo de desarrollo e implementacin
Determinar el costo de capacitacin
Costo de operacin

Otros factores:
La seguridad de los datos
Estabilidad
Velocidad
Mecanismos de respaldo
Mecanismos de Control
Cantidad de Peticiones
Mecanismos de seguridad

Por ltimo, se requiere un anlisis minucioso que permita determinar la
relacin costo/beneficio
12



11
Cluster: tipo de arquitectura paralela distribuida que consiste de un conjunto de computadores
independientes interconectados operando de forma conjunta como un nico recurso computacional Sin
embargo, cada computador puede utilizarse de forma independiente o separada.
http://www.ac.uma.es/educacion/cursos/informatica/ArqDist/pdfs/05-ClustersBW.pdf

12
costo/beneficio Valorizacin de evaluacin que relaciona las utilidades en el capital invertido o el
valor de la produccin con los recursos empleados y el beneficio generado.
http://www.definicion.org/costo-beneficio
CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

7
Evaluando la alternativas del software libre, se puede encontrar SGBD que
se ajusten a cualquier necesidad que involucran los factores tcnicos; en los
factores econmicos se podr obtener una muy buena reduccin de costos
ya que el software libre por lo general es muy econmico y en muchas
ocasiones tiende a cero, para el caso, MySQL y PostgreSQL se los consigue
de manera gratuita en cualquier distribucin de Linux o en la red.

Algunos DBA's consideran que el dinero que se ahorra en el licenciamiento,
se hace necesario invertirlo en capacitacin, pero hay que tener en cuenta
que quin desarrolla el SI es conocedor de las diferentes herramientas y en
los usuarios finales no es necesario invertir, ya que para ellos existen sus
propias interfaces, totalmente transparentes para el manejo e interaccin con
la BD.

Las BD con software libre claramente se ve que son una muy buena opcin,
pero, por qu existe desconfianza para usar esta tecnologa?.
Generalmente, las personas argumentan que no usan software libre simple y
llanamente porque no hay soporte, porque el cdigo fuente lo conoce todo el
mundo y es peligroso, lo barato puede salir caro; en fin, varios argumentos
que producen desconfianza y temor pero la razn primordial es el
desconocimiento lo cual ha llevado a generar juicios si fundamento y de
paso justificar el miedo que produce probar algo nuevo.

El soporte si lo existe, basta con adquirir cualquier distribucin de Linux
(Debian, Suse, RedHat, entre otras), adems si existe inconveniente,
fcilmente se podr recurrir a Internet y en cuestin de horas alguna
persona en el mundo le facilitar ayuda.

Lo del cdigo abierto es la esencia de GNU
13
, es decir del software Libre,
y en vez de ser un riesgo se convierte en una fortaleza ya que cualquier
usuario, como en este caso los desarrolladores, pueden adecuar la
herramienta de acuerdo a las necesidades mejorando en cierta forma el
desempeo de un Sistema de Informacin; ahora bien, esto es lo que ha
permitido que la aparicin de bugs
14
sea rpidamente corregida y esa
correccin rpidamente difundida por la red.

Por ltimo el ahorro obtenido en el software libre no puede ser juzgado
como riesgo, sino como una oportunidad de hacer viable un proyecto de
software.

El software libre existe y con l los SGBD libres, siendo estos, herramientas

13
GNU: Nombre otorgado por la Free Sosftware Fundation a todo software que se distribuye con su
cdigo fuente y que el usuario puede adecuarlo de acuerdo a sus necesidades. http://www.gnu.org

14
Bugs: Denominacin dada a los diferentes agujeros de seguridad encontrados en un software.
- Universidad de Manizales, enero junio / 2005

8
que ofrecen una diferente pero excelente alternativa para poder construir
sistemas de informacin a muy bajo costo, con igual o mejor desempeo y
dinamismo que los soportados en herramientas propietarias.

Bibliografa

DE MIGUEL Adoracin.; et. al. Fundamentos y modelos de bases de datos,
Alfaomega, Mxico, 1999.

ULLMAN Jefrey, WIDOM Jennifer; Introduccin a los sistemas de bases de
datos, Prentice Hall, Mxico, 1999.

PIATTINI Mario G; Anlisis y diseo detallado de aplicaciones informticas
de gestin, Alfaomega, Mxico, 2000.

University of California at Berkeley Computer Science Department,
PostgreSQL, On Line, California USA, 2005, (http://www.postgresql.org/)
About History. Disponible en: http://www.postgresql.org/about/history

Mysql AB Founders, The World's Most Popular Open Source Database, On
Line, Octubre 12 2001, (http://www.mysql.com) About. Disponible en
http://www.mysql.com/company/

FirebirdSQL Foundation, Relational Database for the New Millenium, On Line,
2005, (http://firebird.sourceforge.net/) documentation history. Disponible en:
http://firebird.sourceforge.net/index.php?op=history

Open Source Development Network, On Line, 2005, (http://sourceforge.net)
opcin about souceforge.net, busquedas SGBD, DBMS.

Hughes Technologies, The home of Mini SQL (mSQL), On Line, Febrero 3 de
2005, (http://http://www.hughes.com.au/) products Mini SQ. Disponible en:
http://www.hughes.com.au/products/msql/