Algo de bases de datos en Linux...

Daniel Serpell dserpell en gmail.com
Jue Jul 26 16:26:29 CLT 2007


Hola!

El Thu, Jul 26, 2007 at 03:36:01PM -0400, Ricardo Mun~oz A. escribio:
> Alvaro Herrera wrote:
>> Ricardo Mun~oz A. escribió:
>>
>>   
>>> - usar solo tablas InnoDB y crear siempre sus relaciones mediante Foreign 
>>> Keys [3] (esto es igual para PostgreSQL)
>>>     
>>
>> Observa que en cuanto usas tablas InnoDB, MySQL se vuelve *l*e*n*t*o*
>>   
>
> tienes datos concretos al respecto? alguna URL con benchmarks o algo asi?

Mira en: http://www.sqlite.org/cvstrac/wiki?p=SpeedComparison

Es necesario mirar los resultados que dicen "sync", que corresponden en
MySQL a tablas InnoDB y a SQLite en modo ACID. Los scripts de medición
están disponible en esa misma página, junto con los comentarios.

Lamentablemente, la metodología de medición no parece ser favorable a
PostgreSQL, ya que al utilizarse "psql" para la conexión eso alenta las
cosas.


IMHO, MySQL nunca es una buena opción :-)

Yo recomiendo SQLite para bases locales sin multiples procesos
escribiendo, (o cuando las escrituras son esporádicas), y PostgreSQL
cuando tienes bases remotas o más de un proceso escribiendo en la base
al mismo tiempo, o bases muy grandes.

En la práctica, he utilizado SQLite con bases de hasta unos 150MB y
PostgreSQL con bases de hasta un poco más de 2GB, ambos sin ningun
problema de rendimiento o confiabilidad.

Y con respecto a los respaldos, lamentablemente con un sistema de base
de datos los respaldos no son suficientes, ya que por más que tu
respaldo de hace X horas esté completo, has perdido todas las
transacciones de las últimas X horas, lo que podría ser vital. Por esto,
en mi experiencia es mejor contar con sistemas redundantes si es
importante no perder los datos (respondiendo a la pregunta, ¿cuál es la
probabilidad de pérdida de datos que se puede tolerar?)

    Daniel.



Más información sobre la lista de distribución Linux