domingo, 19 de septiembre de 2010

Aplicación en Java utilizando una base de datos embebida

Desde hace un buen rato he estado tratando de decidir qué base de datos utilizar en una aplicación en Java que estoy haciendo y luego de darle varias vueltas las opciones que quedaban eran:

- HSQLDB (http://hsqldb.org/)
- H2 (http://www.h2database.com/)

De las dos opciones la que más ubicaba era HSQLDB por ser utilizada por programas como el OpenOffice, JDownloader, Sockso, etc. Sin embargo, luego de leer un buen resto, le daré una oportunidad a la H2 :P... esto principalmente porque el desarrollador de ella corresponde al creador original de la HSQLDB.

La gracia de este tipo de bases de datos es que son embebidas, es decir, no es necesario instalarlas en el computador donde se ejecutará la aplicación (programa base), sino que sólo se carga una librería dentro de él y listo :)


Hablando un poco de las bases de dato que dejé cómo opción (H2 y HSQLDB): Como todo en esta vida, hay que ver lo malo y lo bueno...

Lo que siempre habrá de tenerse en mente es que ambas trabajan con archivos de texto para guardar y cargar en el inicio, dejando la información en memoria, por lo que hay que tener en cuenta la capacidad del computador donde se trabajará. De por sí la máquina virtual de java (JVM) tiende a consumir grandes cantidades de memoria con programas que se ejecutan por largo tiempo y con mucho manejo de información. Un ejemplo, la JVM se dispara cuando se descargan cosas con el jdownloader y se deja muchas horas o algunos días encendido (especialmente cuando se bajan pelis :P).

Lo bueno de este tipo de BD es que pueden ser configuradas para ser accedidas sólo por la aplicación que la carga o bien como servidor, evitamos instalar algo adicional para que nuestra aplicación funcione -a estas alturas un gran porcentaje de usuarios tiene instalada por defecto la JVM-, permite trabajar con Hibernate y lo importante es que podemos trabajar con código SQL de forma directa... además del hecho que ambas son opensource :)

Otro punto a favor de este tipo de bases de datos, es que al ser de fácil y rápido uso, nos sirven para hacer pruebas en aplicaciones que serán utilizadas para conectarse a otras bases de datos más robustas.

Ya en un próximo post hablaré un poco de cómo usar la H2 ;)

Referencias:
Wiki - Embedded database
Wiki - Comparison of relational DB
H2 Database Engine
HSQLDB - HyperSQL

No hay comentarios:

-