domingo, 15 de febrero de 2009

Firebird vs mySQL

Lo primero que me planteé fue poder manejar los datos con una base de datos 'de verdad' y mis dos primeras opciones fueron sin ninguna duda para estos dos sistemas.
Firebird porque lo conozco desde que comenzó el proyecto a partir de la liberación de Interbase, me siento cómodo por su facilidad de instalación, de mantenimiento, por su robustez y fiabilidad, porque es rápida y conozco bastante el lenguaje de procedimientos que utiliza.
MySQL por su implantación universal, casi todos los sistemas open source relacionados con el bi, data cleasing y similares lo contemplan como la base de datos por defecto.
El primer problema con el que me encontré fue la imposibilidad de instalar nada en el PC donde trabajo, tenía que conseguir que funcionase sin instalación. Buscando encontré dos primeras soluciones: por la parte de firebird pensé en el servidor embebido como solución, pero pronto aparecieron los problemas: los ejecutables tienen que estar en la misma carpeta que la dll del servidor, o metía todos los ejecutables en la misma carpeta (que desorden) o copiaba la dll en mil y una carpetas; y lo más grave solo permite una conexión a la base de datos, imposible lanzar un proceso sobre una tabla y a la vez estar escribiendo un procedimiento, o cualquier otra combinación de tareas. Además no fui capaz de hacerlo funcionar con aplicaciones en java, vamos un desastre y deseché esta solución.
Para mySQL la solución fue Mowes , no me costó demasiado encontrar lo que buscaba, un servidor mySQL, un Apache con PHP y algunas utilidades en este entorno. Las primeras pruebas prometían, veloz, fácil conexión con todas las herramientas que estaba probando. Parecía que había encontrado lo que estaba buscando. Los problemas aparecieron con las primeras cargas completas, con más siete millones y medio de registros, las cosas empezaron a cambiar. Sin índices, las cargas eran rápidas, pero las consultas y procesos se eternizaban... con índices, eran las cargas las que se eternizaban, si cargaba sin índices y luego intentaba indexar, era aquí donde se eternizaba...¿mala configuración? ¿desconocimiento? Mala cosa, mi gozo en un pozo. Tenía que seguir buscando. Empecé a probar distintas soluciones: derby, H2, Hypersonic, pero ninguna cumplía con todo lo que yo quería.
A veces la solución la tenemos delante de las narices y la encontramos por casualidad, un día, navegando sin mucho rumbo, acabé en la zona de descarga de Firebird y me encontré con algo en lo que nunca me había fijado, firebird comprimido en zip para instalación manual... sin instaladores, solo copiando los ficheros en mi pen y arrancando el servidor desde allí con un simple "fbserver -a", ¿como no se me había ocurrido antes?

2 comentarios:

  1. Hola Amigo, como estas mira estoy desarrollando un sistema de facturacion, con Java y Mysql, y por lo que estoy informandome en tu blog veo que tuvistes problemas con el Mysql, pues mi pregunta es la siguiente. o mejor dicho mi preocupacion esque si despues de haber instalado la Bd en una compu puedas conectarte a ella desde otra compu diferenete osea tener a dos conexiones a la BD al mismo tiempo.

    gracias por tu atencion espero tu respuesta

    ResponderEliminar
  2. Que tal Miguel, efectivamente puedes tener más de una conexión a distintas bases de datos sin mayor problema.

    Saludos

    ResponderEliminar