Para empezar, me gusta muchísimo PostgreSql y Firebird, y no tanto MySql.
El haber elegido usar firebird es porque por aquellos días había un grave problema con postgresql,
era muy lento. Lo demás me encantaba, la verdad.
Pero las pruebas que hice, estoy hablando de 1998/99 (no existía firebird, era interbase), resultaron abrumadoramente superior la velocidad de interbase sobre postgresql.
Otro punto a favor de interbase (entre otros muchos) es que puedes desconectar el servidor (de la corriente eléctrica), o puedes resetear el equipo, y 'normalmente' nunca pasa nada, se recupera automáticamente como si no hubiese pasado nada. Resumiendo es rápido y seguro ante problemas físicos.
Yo sé que postgresql es muy potente, que tiene características muy interesantes, no lo descarto para futuros proyectos, pero centrándonos en lo que trata este tema: mysql.
Si tuviera que elegir entre mysql y firebird para lo que se usa hoy en día mysql (en la mayoría de casos), me parece mucho más acertado usar firebird, es mucho más pequeño, no consumo apenas recursos, es muy rápido, es muy seguro ante caídas/parones/desconexiones, etc.
Fuera de internet, sin embargo, postgresql lo usaría para proyectos de gestión para empresas rivalizando también con firebird.
Por ahí tengo una comparativa que hicieron hace años entre mysql, interbase, postresql y sapdb. Una de las pruebas que hicieron (además de las habituales de insertar muchos registros y haces cosas), fue la de conexiones persistentes y.... ya lo encontré, mejor pongo los enlaces al final de este texto.
Ahí dicen frases como:
* Mysql bajo pocas conexiones funcionó perfectamente, cumpliendo expectativas, pero no pudo con el Interbase en el tramo final.
* Interbase se lleva el premio de base de datos ideal para servidor Internet.
Hay que tener en cuenta que es de hace bastantes años, que todos han envolucionado, pero sirve de referencia para darnos cuenta que muchas veces son sensaciones, prejuicios, imagen, desconocimiento, etc. y lo que tenemos en nuestro cerebrito no siempre es la realidad de las cosas.
La máquina de test es un Pentium III 800Mhz con 256Mb RAM y un disco IDE de 20Gb. (ya hace tiempo, sí)
Aquí algunos datos que se ofrecen en la comparativa:
Código:
Segundos en completar las 1000 peticiones
MySQL PostgreSQL Interbase SAP DB
10p 312,66 752,74 225,30 305,31
10 325,22 943,40 212,42 300,03
20p 849,47 813,69 262,76 549,99
20 947,91 974,51 291,12 612,06
30p 1153,88 1620,00 377,75 763,76
30 1199,01 1468,79 408,23 806,18
40p Timeout Error 681,38 timeout
40 Timeout Error 683,29 timeout
50p Timeout Error timeout timeout
50 Timeout Error timeout timeout
Peticiones servidas por segundo
MySQL PostgreSQL Interbase SAP DB
10p 3,17 1,32 4,39 3,24
10 3,04 1,04 4,66 3,30
20p 1,17 1,21 3,77 1,80
20 1,04 1,01 3,40 1,62
30p 0,86 0,61 2,62 1,30
30 0,83 0,67 2,43 1,23
40p Timeout Error 1,45 timeout
40 Timeout Error 1,45 timeout
50p Timeout Error Timeout timeout
50 Timeout Error Timeout timeout
Código:
Ratio de transferencia en Kb/seg
MySQL PostgreSQL Interbase SAP DB
10p 763,40 317,09 1059,45 781,79
10 733,98 253,01 1208,55 795,54
20p 280,97 293,34 962,69 433,98
20 251,80 244,93 940,92 389,97
30p 206,85 147,34 664,13 312,52
30 199,07 162,50 658,69 296,07
40p Timeout Error 363,22 timeout
40 Timeout Error 402,41 timeout
50p Timeout Error timeout timeout
50 Timeout Error timeout timeout
Aquí está el enlace.