You are on page 1of 8

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

Bases de datos con software libre


Diego Samir Melo Solarte1

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 SGBD2, que
1

Ingeniero de Sistemas, Facultad mdiego@athenea.umanizales.edu.co


2

de

Ingeniera,

Universidad

de

Manizales.

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

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

- Universidad de Manizales, enero junio / 2005 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 OLTP3 o OLAP4, 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 BD5, 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.

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

Tabla 1. Listado de algunos SGBD que se inclinan por la filosofa del software libre
Nombre mSQL Generalidades Interfaces Sistema Operativo SunOS, Solaris, HP-UX, AIX, Linux, FreeBSD-2, SCO, SVR4, NeXT, Cray Unicos, OSF/1, Ultrix.

Mini SQL o MSQL es un ligero C, ESL, Tcl, Perl, Python, motor de bases de datos orientado NextSTEP, X11 y SQL principalmente a trabajar en como lenguaje de consulta maquinas de poca velocidad

MySQL

Quizs el SGBD ms popular hoy SQL92, ODBC, C, Perl, BSDOS, SunOS, Solaris, Linux, IRIX, AIX, OSF1, en da para WEB, su principal JAVA, C++, Python BSD/OS, FreeBSD, caracterstica es la velocidad Windows aunque carece de grandes posibilidades de administracin. SGBD que parte del uso bsico que QUEL, EQUEL tena el antiguo INGRES Corporation, aunque no tiene todas las bondades del producto comercial actual Se basa en la versin comercial de Tcl/Tk, SQL Qddb, su principal caracterstica es la velocidad aunque no tiene un amplio soporte en el tipo de datos. Un SGBD orientado a objetos, GNU E, C++ permite el manejo de transacciones y la construccin de BD distribuidas, no soporta SQL SunOS, Linux

University INGRES

Qddb

Ultrix, OSF/1, BSD/386, Linux, SunOS, Solaris.

Exodus

MIPS/Ultrix, SPARC/SunOS, HP 7xx/HP-UX, Linux

Berkely DB De la misma familia de Postgres, es dbm, ndbm, hsearch, DB Linux, MacOS X, QNX, un SGBD de alto desempeo, 1.85 UNIX, VxWorks y Windows. 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. PostgreSQ Un SGBD objeto relacional L orientado principalmente a bases de datos grandes, tiene muy buen soporte de administracin y auditoria Ozone SQL, C API, C++ API, Tcl Linux, Solaris, Digital Unix, API, Perl5 API, Python BSD, Windows API, WWW Gateway, JDBC driver, X11 Cualquiera que soporte la maquina virtual de java

Es un nuevo SGBD orientado a JAVA, XML objetos cuya objetivo principal es soportar desarrollos WEB

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.

- Universidad de Manizales, enero junio / 2005 Tabla 2. Otros SGBD


SGBD Beagle SQL MOOD-SX Material's Object-Oriented Database Cbase LEAP DBX Database XML Requiem DiamondBase ConceptBase FireBird GNU SQL YOODA (Yet another Object Oriented Database) Onyx XORM TdbEngine SQL Server OCELOT DIRECCIN www.beaglesql.org mood.mech.hi-tech.ac.jp/mood/mood-sx.html www.cbase.com leap.sourceforge.net sourceforge.net/projects/dbxsqlxmldbms/ www.ptf.com/ptf/products/UNIX/current/0045.0.html www.csse.monash.edu.au/~darrenp/diamondbase.html www-i5.informatik.rwth-aachen.de/CBdoc/cbflyer.html firebird.sourceforge.net www.ispras.ru/~kml/gss www.ptf.com/ptf/products/UNIX/current/0047.0.html#0 www.ptf.com/ptf/products/UNIX/current/0037.0.html sourceforge.net/projects/xorm sourceforge.net/projects/tdbsql 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 PHP6 o JAVA7. al confrontarlas, surgen varias inquietudes, entre ellas las ms frecuentes son: cul es mejor? o tambin la pregunta que se hace todos los DBA8 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 JAVA: Lenguaje de programacin orientado a objetos, desarrollado por SUN Microsystem, sus principales caractersticas son: portabilidad, seguridad y multitarea. http://www.sun.com

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

diseadores y desarrolladores a tomar una decisin, de acuerdo a las necesidades propias del SI y las caractersticas que cada SGBD tenga.
Caracterstica Definicin de Esquema SQL para Consulas Herramientas Administracion Grafica Tipos de Datos Soportados
9

MySQL Relacional SQL92

PostgreSQL Objeto / Relacional SQL92 y SQL99

de PhpMyAdmin, perlDBDmysql y PgAccess y herramientas que herramientas que soporten java o soporten java o jdbc jdbc en la versin 4. soporta aproximadamente 27 tipos de datos entre carcter, numricos y fecha No tiene soporte procedimientos almacenados en la versin 7.4 soporta 62 tipos de datos entre carcter, numricos, fecha y otros de tipo administrativo como aclitem, oid, xid etc.
10

Procedimientos almacenados

de Triggers

y Funciones

Elementos adicionales (Vistas, No soporta Vistas, no soporta soporta vistas, dominios, tipos Sinnimos, Secuencias, etc. ) sinnimos, pero si soporta de objetos nuevos, secuencias, algunas secuencias. reglas, no soporta sinnimos Backup en Caliente Integridad de Datos Joins mysql_dump No tiene soporte de constraint No tiene soporte pg_dump Buen manejo de constraint 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 el consumo de memoria memora RAM y hardware aumenta aproximadamente en 25% ms que MySQL mysql buena integracin con php psql Buena integracin con php, en las ltimas versiones ha aumentado el soporte de funciones. Buena velocidad pero menor que la ofrecida por mysql

Interfaz bsica de comandos PHP

Rendimiento

alta velocidad

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.

- Universidad de Manizales, enero junio / 2005 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, Clusters11, 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/beneficio12
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 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

12

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

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 GNU13, 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 bugs14 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 Bugs: Denominacin dada a los diferentes agujeros de seguridad encontrados en un software.

14

- Universidad de Manizales, enero junio / 2005 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/