Mi experiencia con Firebird: opinión amateur

Como ya comenté en el post anterior, me he visto obligado a utilizar Firebird como motor de base de datos relacional. Hasta hace unos pocos años, me era totalmente desconocida, ya que yo usaba exclusivamente MySQL, y para utilizar en aplicaciones web, sobre todo. MySQL nunca me había dado problemas, tiene una comunidad muy amplia y está soportado por casi cualquier sistema operativo y lenguaje de programación.

Desde que estoy enfrascado en la realización del doctorado, me pasaron una base de datos Firebird. Inicialmente estaba muy ilusionado, porque era un motor diferente, una oportunidad para aprender, pero no tenía por qué ser tan diferente del MySQL que ya había estado utilizando. Además, los entendidos coinciden en que se muy potente y muy rápido, y su rendimiento estaba por encima de MySQL. Probémoslo, pues.

Después de varios meses intentado llevarme bien con él, lo he dejado. Lo dejo. Me da más problemas que soluciones. De hecho, no me ha dado ninguna solución.

El primer problema que tuve es el de tener un cliente sencillo y potente. Salvo aplicaciones como IBExpert, prácticamente no hay. La versión personal de IBExpert está limitada y no permite exportar los datos a ficheros .CSV. La línea de comando tampoco, y si lo hace, es ciertamente complicado (en el momento de escribir esto, no he conseguido hacerlo de manera sencilla).

Existe, además, una discrepancia con las versiones. Como había comentado en el anterior post, Firebird utiliza un número interno llamado ODS (On Disk Structure) para saber con cual versión de Firebird fue creada una base de datos. Eso significa que el fichero que me pasaron a mí tenía un ODS que indicaba la versión 1.5 de Firebird. ¿Cómo poder acceder al fichero desde una versión 2.5 ó 3.0? No hay manera si no monto primero un Firebird 1,5, creo una copia de seguridad transportable y me traigo esa copia al servidor 3.0. Muy sencillo todo.

Lo peor, lo que ha culminado con esta decisión de pasar totalmente de Firebird, ha sido lo árido que es usar SQL. Es curioso, y pensaba que en Informática, esas cosas no pasaban, pero resulta que sí lo hacen. Ejecutando las mismas órdenes en Firebird que en MySQL, Firebird no para de escupirme errores, mientras que la sentencia se ejecuta en MySQL sin ninguna queja. Son las mismas órdenes, las mismas tablas, las mismas primary keys y los mismo índices. ¿Tiene acaso algún sentido? Uno querría pensar que es porque uso órdenes complejas, con muchos JOIN o funciones de agregación (MAX(), MIN(), GROUP BY, DISTINCT), pero lo cierto es que aún no he conseguido ejecutar una sentencia SQL con un GROUP BY en Firebird, mientras que con MySQL no tuve ningún problema.

Cuando Firebird me asegure la facilidad de uso que tengo con MySQL, volvemos a hablar. Mientras tanto, seguiré trabajando con MySQL (o MariaDB).

2 opiniones en “Mi experiencia con Firebird: opinión amateur”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *