Documentos de Académico
Documentos de Profesional
Documentos de Cultura
D
e un modo simplificado, un SGBD (o DBMS • Lenguaje de definición de datos (DDL), que permite
linux@software.com.pl
en inglés) es una plataforma de software crear y alterar las estructuras en las que la informa-
que almacena los datos que se le introduz- ción se almacena;
can, debiendo garantizar principalmente su • Lenguaje de manipulación de datos (DML), que per-
disponibilidad, su seguridad y su integridad. Esto significa mite insertar, modificar, consultar y eliminar conteni-
que es un conjunto de programas que permiten el almace- dos de la base de datos;
namiento de información, velando porque se pueda dispo- • Lenguaje de control de datos (DCL), que gestiona el
ner de ella en cualquier momento, que la información sea acceso a los datos desde el punto de vista de la segu-
correcta desde un punto de vista lógico y que sólo pueda ridad (usuarios), como desde el punto de vista de la
ser accedida por las personas adecuadas. integridad (concurrencia).
Y de un modo más directo, el SGBD es el guardián de
los datos de la empresa. Ni más ni menos. De ahí que sea En este artículo se revisarán tres gestores: Microsoft SQL
trascendental su correcta elección. Server, MySQL y PostgreSQL. Los dos últimos son mul-
Los productos que se analizan a continuación están tiplataforma, se encuentran implementaciones para varios
creados en torno a un estándar en lenguajes de bases de da-
tos, el SQL (Structured Query Language), proveniente del SE-
QUEL (Structured English QUEry Language). Este último fue Sobre el autor
desarrollado durante la década de los 70 e implementado
Santiago Gómez Ruiz es Director de Proyectos de Pro-
experimentalmente, ya que las máquinas comerciales de la
talia, una consultoría española especializada en implan-
época no tenían la suficiente potencia de cálculo como para
tación y migración de Software Libre en entornos em-
ejecutar con rendimiento aceptable las operaciones del len-
presariales, docentes e institucionales.
guaje. El lenguaje SQL se divide en tres sublenguajes:
52 Linux+ 4/2007
linux en la empresa
Cómo ahorrar dinero con Linux
sistemas operativos, incluyendo GNU/Linux tuación que he experimentado yo perso- por debajo de la interfaz gráfica? Esto es una
y Windows. Por el contrario, Microsoft SQL nalmente), exija un reinicio del sistema cuestión subjetiva, y cada administrador de-
Server sólo funciona sobre Windows. Nuestra no ayuda a mejorar la disponibilidad; berá valorar su peso en la decisión.
instalación será modesta, 25 puestos de tra- • Los tiempos de mantenimiento son eleva- El precio de Microsoft Windows 2003
bajo. dísimos, en parte causados por el defi- Server STD es de 490,24 € , más 4 paquetes de
Se parte de la premisa de que se trata de ciente sistema de ficheros utilizado, NTFS, 5 licencias para uso de los puestos de traba-
una nueva instalación, sin ningún producto que obliga a defragmentar los sistemas jo: 457,36 * 4 = 1.829,44 €, sumando un total
anterior instalado y por lo tanto, sin gastos de archivo muy frecuentemente. Casi ca- de 2319,68 euros.
de migración, que serían muy variables. La da actualización del sistema operativo En cuanto al sistema operativo GNU/Li-
segunda parte de este artículo trata de cómo obliga a reiniciar el sistema. nux Debian 3.1 Sarge, es un sistema operativo
sería un proceso de migración. de código abierto, y totalmente libre y gra-
El que se evalúen estos tres SGBD no sig- En cuanto a la seguridad, y aún con un buen tuito, que se puede descargar de la página
nifica que sean los únicos o necesariamente los antivirus actualizado, nada puede detener principal del proyecto (http://www.debian.org)
mejores para un propósito determinado. Hay a un virus lo suficientemente reciente como o desde cualquiera de sus mirrors.
productos magníficos como Oracle y DB2, am- para no constar en las bases de datos de nues- La estabilidad de Debian es legendaria.
bos cerrados y de un precio considerablemente tro antivirus. La cantidad de vulnerabilidades Salvo errores de hardware y lógicamente apa-
alto. Lamentablemente, todos los SGBD del gravísimas que han afectado a los sistemas gones, la probabilidad de tener que reiniciar
mercado no caben en este artículo. operativos de Microsoft, y que en alguna oca- un servidor basado en Debian es remotísima.
Esto es importante, porque independien- sión, como con los virus Sasser y Blaster, han La modularidad propia del sistema permite
temente de las características propias de cada llenado telediarios, no animan a confiar en la actualizarlo sin tener que reiniciar, ya que el
SGBD, éste a su vez va a correr sobre un sis- seguridad del sistema. mismo actualizador detiene el servicio que
tema operativo, beneficiándose de sus puntos En cuanto al rendimiento, es más pobre sea necesario, lo actualiza y vuelve a iniciarlo,
fuertes y viéndose perjudicado por sus debili- que el resto de los sistemas operativos. Si a es- en apenas un segundo.
dades. Por muy potente que sea un determi- to le añadimos la muy intensa carga de tra- La seguridad de Debian es la propia de
nado aplicativo, si se implementa sobre un bajo del antivirus y la imposibilidad de des- la mayoría de las distribuciones de GNU/Li-
sistema operativo pobre, el resultado no puede activar la sesión gráfica, que es una auténtica nux, salvo casos exóticos como Linspire. Po-
ser excepcionalmente bueno. devoradora de recursos, el rendimiento se ve líticas conservadoras de seguridad, perfecta
Por lo tanto, el primer extremo a consi- muy seriamente mermado. delimitación de los usos del administrador
derar será el sistema operativo a elegir para En consecuencia, y por si todo lo anterior y el usuario y perfecta compartimentación
hospedar a nuestro SGBD. Consideraremos fuese poco, Microsoft Windows 2003 Server de los directorios que cada uno puede utilizar
GNU/Linux Debian 3.1 Sarge por una parte, es muy exigente en cuanto a hardware. y su grado de utilización permiten al admi-
y Microsoft Windows 2003 Server STD por Finalmente, habría que hacer una consi- nistrador de un servidor basado en Linux
otra. deración final sobre este sistema operativo de dormir tranquilo por las noches.
Microsoft Windows 2003 Server (www. código cerrado: ¿es prudente confiar todos Los virus no son un problema en Linux.
microsoft.com/spain/windowsserver2003/default. los datos de nuestra empresa a un sistema Salvo experimentos en laboratorio, en los que
mspx) es probablemente el sistema operativo operativo que sólo Microsoft sabe lo que hace expresamente se abren vulnerabilidades en el
más estable y seguro de Microsoft. Lamentable-
mente, eso no es mucho. Tanto en estabilidad
como en seguridad deja mucho que desear,
de hecho, la puesta en producción de una
máquina con Windows nos va a obligar a la
adquisición de un software antivirus.
En cuanto a la estabilidad, un problema
endémico de todos los sistemas operativos de
Microsoft son sus bajas tasas de disponibili-
dad. Esto se debe fundamentalmente a dos
motivos:
www.lpmagazine.org 53
linux en la empresa
Cómo ahorrar dinero con Linux
sistema, y posteriormente se aprovechan, o in- faz es clara e intuitiva y viene acompañado de clientes de la base de datos, o por fallos de
cluso extravagancias como emular un virus una suite de utilidades bastante completa. programación en los mismos clientes.
de Windows con privilegios de administra- La herramienta de administración de Otra característica incluida en Microsoft
dor. En conclusión, incluso provocándolo Microsoft SQL Server (Microsoft SQL Server SQL Server son los procedimientos almace-
expresamente, es muy difícil hacer funcionar Enterprise Manager) muestra la habitual dis- nados (stored procedures). Estos procesos se
un virus para Linux. posición de este tipo de aplicativos de Micro- ejecutan a petición de las aplicaciones cliente
Vaya, que si lo que queremos es fastidiar soft, esto es, un árbol a la izquierda donde se y tienen que estar escritos en lenguajes com-
nuestra máquina, es más fácil meterle fuego. muestra cada objeto clasificado por su tipo, prensibles por el motor de base de datos, por
Una ventaja común a todas las distribucio- y un panel a la derecha donde se modifican ejemplo, y tratándose de Microsoft SQL Ser-
nes de GNU/Linux es que son altamente per- las propiedades de dicho objeto. Esta dis- ver, se podrían escribir en .NET.
sonalizables. Esto significa que se puede des- posición permite acceder fácilmente a cual- Las ventajas de los procedimientos al-
cargar al sistema de todo lo que no se necesi- quier objeto de la base de datos, detener y re- macenados son las mismas que las de los dis-
ta, incluyendo el sistema gráfico, dejando so- iniciar el servicio y utilizar las utilidades in- paradores: rendimiento y mantenibilidad. Un
lamente las funcionalidades que se van a uti- cluidas. uso eficaz de ambos elementos permite la
lizar. Lo anterior redunda en que el sistema Dentro de estas utilidades, aparte de bas- creación de clientes de la base de datos lige-
sea más liviano y más rápido, resumiendo, tante detallados programas de mantenimien- ros, fáciles de depurar y de escribir y libres
aumenta el rendimiento. to, podemos encontrar importadores/expor- de errores. Operaciones tediosas y propensas
De hecho, la interfaz gráfica se puede dejar tadores de datos y demás herramientas acce- a pequeños errores, como las validaciones de
desactivada, o se pueden instalar interfaces sorias al propio SGBD. campo, se pueden implementar en base a dis-
gráficas sencillas e increíblemente ligeras, co- Microsoft SQL Server posee disparadores paradores, y otras operaciones complejas co-
mo Fluxbox, Xfce o Enlightenment, que apenas (triggers). Los disparadores son procedimien- mo ajustes de stock en una facturación se pro-
impactan en los recursos. Yo personalmente tos que se ejecutan cuando ocurre un evento gramarán una sola vez, garantizando su va-
suelo dejarla desactivada, y sólo la utilizo por determinado, por ejemplo, que se inserte, mo- lidez independientemente del cliente utiliza-
comodidad en algunos casos, ya que realmen- difique o elimine un registro. De esta manera, do.
te, ¿para qué necesita un servidor la interfaz parte de la lógica de la aplicación la realiza la Si bien la interfaz de usuario es muy bue-
gráfica la mayoría de su tiempo? base de datos. na y sobre el papel tiene muchas funcionali-
Como se ha comentado, la licencia de La utilización de disparadores es muy dades, Microsoft SQL Server adolece también
GNU/Linux Debian 3.1 Sarge es gratuita y su conveniente tanto por rendimiento como por de serios problemas. Las pruebas de rendi-
descarga libre: precio 0€. mantenibilidad de las aplicaciones cliente. Por miento nunca son definitivas, los escenarios
A estas alturas, la comparativa perjudica rendimiento, porque el proceso se ejecuta en de ejecución son tan variopintos que cual-
a Microsoft SQL Server, ya que únicamente el mismo servidor, evitando el trasiego de quier productor de un SGBD puede acondi-
puede ejecutarse sobre Windows. consultas SQL y datos entre cliente y servi- cionar la prueba a un escenario propicio a su
Microsoft SQL Server (https://www.micro- dor. Por mantenibilidad porque de esta for- producto. Eso es posible hasta con Microsoft
soft.com/latam/sql/) en sí es un buen producto, ma, esta lógica es independiente de la aplica- SQL Server, el producto de los tres evaluados
probablemente de los mejor acabados por Mi- ción, lo que asegura que la implementación con peor rendimiento en general, según la
crosoft. Su instalación es sencillísima, su inter- de la lógica no se vea alterada por diferentes experiencia común de los administradores.
Aunque se puedan encontrar estudios sufra-
gados por Microsoft que demuestran que en
un determinado ambiente ejecutando una
determinada consulta con un hardware muy
concreto Microsoft SQL Server puede superar
a sus competidores en cuanto a rendimiento,
la regla general es que es el SGBD más lento
para la gran mayoría de las tareas. El hecho
de que sólo pueda ejecutarse en el sistema
operativo más pobre en rendimiento de los
dos considerados tampoco ayuda.
Otro aspecto que no favorece a Microsoft
SQL Server es la estabilidad. Sus tablas tien-
den a corromperse fácilmente, permitiendo
la duplicación de claves únicas y desastres
de ese tipo. Es importante incluir una recons-
trucción de tablas en el programa de manteni-
miento diario de la base de datos para evitar
su degeneración.
De manera similar a Microsoft 2003 Ser-
ver, Microsoft SQL Server funciona en un
sistema de licencias en el cual se paga por el
Figura 2. Administración de una base de datos de MySQL mediante Webmin servidor, y luego por cada puesto que se sirve
54 Linux+ 4/2007
linux en la empresa
Cómo ahorrar dinero con Linux
www.lpmagazine.org 55
linux en la empresa
Cómo ahorrar dinero con Linux
incluyendo AIX, BSD, FreeBSD, HP-UX, GNU/ Desde siempre, PostgreSQL ha estado lisis anteriores son simples orientaciones. Pa-
Linux, Mac OS X, NetBSD, Novell Netware, arropado por la fama de ser un producto muy ra tener una idea más detallada de todas
OpenBSD, OS/2 Warp, QNX, SGI IRIX, Sola- profesional, completo y serio, aunque no ex- y cada una de las características que poseen
ris, SunOS, SCO OpenServer, SCO UnixWare, cesivamente rápido comparado con MySQL. y las que no poseen cada uno de estos tres
Tru64, Windows 95, Windows 98, Windows NT, Como expuse antes, eso ya no es cierto. Post- productos, una buena idea es visitar esta com-
Windows 2000, Windows XP, Windows Vista greSQL es tremendamente eficiente, sobre parativa de la página de MySQL: http://dev.
y otras versiones de Windows. También existe todo en entornos multiprocesador y MySQL mysql.com/tech-resources/features.html.
MySQL para OpenVMS. Si fuese necesario un se le ha acercado mucho en funcionalidades. La comparativa, a pesar de estar alojada
ejemplo de lo que es multiplataforma, sería Si MySQL ha ocupado el nicho de las ap- en la página de MySQL es más que razonable-
difícil encontrar uno mejor. licaciones web y aquellas con un moderado mente objetiva, y podrá ayudar a determinar,
Como se ha comentado antes, MySQL se tamaño, PostgreSQL es la elección tradicional basado en las necesidades concretas, el SGBD
puede descargar libremente desde la web del para aplicaciones serias, de la dimensión de ser- que mejor se ajuste a nuestras necesidades.
fabricante, bien como código fuente, bien en vidores de dominios raíz de DNS, y de em- Otra historia es intentar encontrar una
forma de binarios. Además, la gran mayoría presas con volúmenes realmente grandes de comparativa de rendimiento. Como ya expuse
de las distribuciones de Linux incorporan en datos. De todas formas, cada vez este uso viene anteriormente, son infinitos los escenarios de
sus repositorios los paquetes precompilados siendo determinado más por la tradición y las desempeño posibles, y siempre habrá algún
y configurados para instalarse sobre la mar- herramientas existentes que han surgido al- escenario que beneficie particularmente a un
cha limpiamente. Para Windows, sólo hay rededor de este tipo de proyectos que por la SGBD (consecuentemente, hay casi infinitas
que descargarse el instalador de la página de imposibilidad de usar MySQL en un proyecto comparativas de rendimiento con casi infi-
MySQL AB. realmente grande, o una excesiva complejidad nitos resultados contradictorios). La opinión
La versión con soporte oscila en precio de PostgreSQL. de quien sufra cada uno de estos productos
entre los 595$ y 4995$, dependiendo del nivel Porque la desventaja clásica que se aduce puede orientar mucho más que cualquier ben-
de soporte ofrecido por la empresa creadora al hablar de PostgreSQL es la complejidad, al chmark.
del producto. Se puede obtener soporte de ser más grande es más complicado. Realmente Resumiendo, las conclusiones serían:
otras muchas empresas a precios muy dife- no tiene por qué ser así. Además del clásico
rentes. interfaz de consola, existen utilidades libres e • Windows + Microsoft SQL Server: 8.731,
El soporte para cada uno de estos pro- igualmente multiplataforma para la adminis- 58€: Recomendable si por alguna razón el
ductos requiere una cualificación muy pare- tración de servidores PostgreSQL. software a utilizar no puede funcionar con
cida, ya que tanto conceptualmente como en Tres ejemplos a considerar podrían ser otra plataforma. Es muy caro, menos es-
sus interfaces son muy parecidos y la curva pgAdmin III (www.pgadmin.org/), Pg Access table, menos eficiente, menos seguro y no
de aprendizaje es mínima. Por lo tanto, no se (www.pgaccess.org/) y phpPgAdmin (http://php- aporta nada fundamental que no aporte
tienen en cuenta los gastos de administración pgadmin.sourceforge.net/). Las dos primeras herra- cualquier otra opción;
y mantenimiento, que serían prácticamente mientas siguen el esquema del árbol de objetos • Windows + MySQL/PostgreSQL: 2319,
los mismos. a la izquierda y el panel de propiedades a la de- 68€: Si el gestor de bases de datos es libre
recha, y permiten la gestión de usuarios y gru- y multiplataforma, la única razón para
Precio de MySQL 0 € pos, uno de los temas complejos de Postgre- utilizar un sistema operativo propietario,
PostgreSQL (www.postgresql.org/) es un SG- SQL. Son aplicaciones gráficas intuitivas a la caro e inestable es que sea necesario para
BD que hunde sus raíces en los desarrollos altura de las correspondientes a los dos SGBD cualquier otra cosa además de soportar
de la Universidad de Berkeley, como tantas anteriormente evaluados. En cuanto a phpPg- la base de datos. Parece un poco absurdo
otras magníficas creaciones de software. El Admin, es la contrapartida funcional a phpM- a priori;
proyecto nace con el nombre de Ingres, y tras yAdmin, aunque manteniendo la estructura tí- • GNU/Linux Debian 3.1 Sarge+ MySQL: 0€:
una primera descontinuación por parte de pica de árbol a la izquierda y panel a la derecha, Solución estable, gratuita, rápida y segu-
su creador, Michael Stonebraker, el proyec- un producto muy profesional. ra. Muy recomendable para desarrollos
to se retoma como un proyecto post-Ingres. Además, también existe un módulo de medios, ya que hay mucha documenta-
El resultado es llamado entonces Postgres. Webmin para PostgreSQL, lo que aporta ción al respecto. Es conveniente revisar
Tras unos años de desarrollo en el seno de idénticas ventajas que su homólogo para My- las funcionalidades necesarias para nues-
la Universidad, el proyecto se estabiliza y se SQL. tra aplicación, y verificar que todas son cu-
abandona por parte de ésta. En ese momento Al ser un producto abierto y gratuito, biertas por MySQL. Especialmente indi-
(1993), y gracias a su licencia libre, se retomay al igual que con MySQL, también se pueden cado para aplicaciones web;
por la comunidad convirtiéndose ya en Post- descargar de la página de PostgreSQL tanto • GNU/Linux Debian 3.1 Sarge + Postgre-
greSQL. fuentes como binarios y ejecutables para Win- SQL: 0€: Marco ideal para desarrollos gran
Por lo tanto, a diferencia de los dos ante- dows. Por supuesto, también están disponi- des y con un tratamiento de datos exten-
riores, no hay una compañía tras el producto, bles paquetes preconfigurados en los repo- sivo. La combinación es estable, gratuita,
es creado y mantenido exclusivamente por sitorios de las principales distribuciones de segura y muy potente.
la comunidad. Eso no quiere decir que no GNU/Linux.
haya soporte comercial, en la misma página Haciendo este tipo de análisis se entiende
del proyecto se puede acceder a multitud de Precio de PostgreSQL: 0 € perfectamente la política de Microsoft de ce-
empresas que ofrecen soporte de pago para Los sistemas gestores de bases de datos son rrar formatos y provocar incompatibilidades:
el producto. piezas de software tan complejas que los aná- es la única manera de mantener sus produc-
56 Linux+ 4/2007
linux en la empresa
Cómo ahorrar dinero con Linux
www.lpmagazine.org 57