¿Qué es Derby?


Derby es una base de datos relacional escrito íntegramente en JAVA. Actualmente se encuentra bajo una licencia Apache 2.0.

Pero esta base de datos no siempre se llamó Derby, en el 1997 una empresa de Oakland, California denominada Cloudscape dio a luz, la que fue reconocida como primera versión de Derby, un motor de base de datos denominado JBMS. Posteriormente el producto adopto el nombre de la empresa Cloudscape y comenzaron a aparecer versiones cada seis meses, esto hizo que otra gran empresa se fijara en ellos y en 1999 Informix Software, Inc. adquirió Cloudscape, Inc. por diez millones de acciones, del paquete de acciones ordinarias para emisión; lo cual la verdad no se a cuánto ascendía, ahora mismo no soy capaz de encontrar el valor. Esta transacción no pasó desapercibida para la gigante IBM que en seguida se fijó en el paquete, o quizás orquesto él la compra, esto último nunca lo sabremos, la cuestión es que apenas dos años después, en Julio del 2001, IBM se hace con la BBDD de Cloudscape tras la compra de parte de Informix.
El motor de la base de datos fue renombrado a IBM Cloudscape y comenzaron a aparecer versiones enfocadas principalmente a los productos de IBM y su Middleware.

En el 2004 IBM cedió el código del "IBM Cloudscape" a la Apache Software Foundation para Derby, un proyecto patrocinado por el proyecto Apache DB. En Julio de 2005 el proyecto Derby continuó como un subproyecto de base de datos de alto nivel de Apache. Sun Microsystem se unió al proyecto para poder lanzar Derby como base de datos empotrada de Java, lo cual consiguió con el lanzamiento de Java 6 en diciembre de 2006, Sun comenzó empaquetando Derby en el JDK bajo el nombre Java DB.


En su modo embebido Derby sólo soporta un hilo, lo cual puede ser un problema para grandes proyectos, pero hay que tener en cuenta que esta base de datos no está pensada para ser utilizada en proyectos de larga duración ya que su consumo de memoria lo haría inviable. Derby más bien lo podríamos utilizar para demos, presentaciones, bases de datos auxiliares durante la instalación o cuando se sabe de antemano que la carga va a ser nula y los registros que se van a cargar van a ser pocos.