[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MySQL o PostgreSQL



Con todo respeto para Manuel, siguen unas diferencias de opinión y
rectificaciones a algunas declaraciones que me parecen incorrectas o
incompletas.

Ipsissima verba Manuel Garcia Sancho:
> Yo opino parecido a lo que ya te han respondido en la lista, es
> independiente el SGDB que utilices aunque si que deberias estudiar
> las ventajas e inconvenientes de uno y otro.
> 
> Mysql vs. PostgresQL
> 
> * Mysql es gratuito en el 90% de los casos y sobre todo en
>   formacion.  Postgres no

Supongo que eso es un error de redacción tuyo...  Tanto MySQL como
PostgreSQL son gratuitos y libres: el primero es GPL, el segundo, BSD.

La diferencia es que si pretendes distribuir una aplicación enlazada
con las bibliotecas de MySQL, o usando una versión modificada del
motor, tu aplicación tiene que ser GPL, o tienes que comprar una
licencia comercial.  MySQL es GPL, *no* LGPL.

Con PostgreSQL, puedes hacer lo que quieras sin pagar un peso (o lo
que sea que uses para pagar cosas :-)

El que eso sea bueno o malo es discutible, claro.  Pero ninguno de los
dos es menos libre que el otro.

> * Mysql es el mas rapido segun las pruebas realizadas
> * Mysql tiene servidores para la mayoria de SSOO, mientras que
>   Postgres basicamente para el mundo UNIX y derivados.

PostgreSQL corre en NT (y supongo que W2K y XP), vía Cygwin.  Es un
poco desmadroso compilarlo, sí, pero me consta que se puede (tenemos
uno en la oficina de un cliente).  Claro, si quieres y puedes pagar
por quitarte trabajo y responsabilidades, hay compañías que te venden
versiones para UNIX y Win32 con soporte comercial.

> * Mysql dispone de multitud de librerias de ayuda a la programacion

PostgreSQL también: incluye interfaces nativas para C, C++, Perl, TCL,
Python, Ruby y PHP (son las que recuerdo).  Hay interfaces para Guile
y Zope también, creo.

En cuanto a herramientas para administrar la base de datos, ve los
paquetes Debian pgacess, pgmonitor, www-pgsql, phppgadmin.  Y no dejes
de darte una vuelta por http://www.pgadmin.org/pgadmin3/ (echa un ojo
a los "screenshots").  Y claro, usando las interfaces (también
nativas) para ODBC y JDBC puedes usar cualquier cantidad de
herramientas y bibliotecas, libres y comerciales, para manejo de bases
de datos genéricas.

> * Postgres es mas potente pues permite subconsultas directas

Y porque es "compliant" (¿cómo se dice eso en español?) con ANSI SQL y
pasa todas las pruebas ACID.  Y porque te da transacciones de varios
niveles con locking más avanzado que simple bloqueo por renglón, y con
commits por journal.  Además: integridad relacional, triggers, vistas,
outer joins, una amplia variedad de funciones, lenguajes procedurales,
"stored procedures", objetos (con herencia), soporte completo de
Unicode, soporte nativo de Kerberos y SSL, índices parciales,
replicación, un mecanismo de extensión para soportar nuevos tipos y
funciones sin tener que tocar el motor de la base de datos...

La lista es larga.  Seguro que se me olvidan cosas.

No sé cuántos de esos features los tenga MySQL estos días, porque dejé
de seguirle la pista hace tiempo.  Pero hasta donde recuerdo,
comparado con PostgreSQL, MySQL es un juguete.  Lo único que se me
ocurre como una ventaja de MySQL es que es más ligero: requiere menos
disco y menos recursos, y sí, es considerablemente más rápido (más
rápido que Oracle 9i, creo).  Aunque si vamos a comparar naranjas con
manzanas, cualquier implementación de Berkeley DB es más rápida que
MySQL.

> De momento no me acuerdo de mas, pero supongo que en la lista iran
> añadiendo mas puntos de vista.

Bien, el mío es que usen PostgreSQL.  Yo creo que MySQL es una opción
sólo cuando la aplicación no requiere mucha sofisticación en el RDBMS.
Digamos, como "backend" de un "weblog", o algo así.  Pero incluso en
esos casos no cuesta mucho migrar de una vez a PostgreSQL, para estar
mejor preparado para crecer en el futuro.

Para una alternativa a PostgreSQL yo consideraría Firebird
(http://firebird.sourceforge.net/), no MySQL.

 -CR

-- 
Ceterum censeo: SCO delenda est.



Reply to: