Apache Derby

Apache Derby is a project of the Apache Software Foundation, which developed an eponymous Java-based relational database management system. Derby is one of the lightweight databases, because there in the delivery has only two megabytes in size and is very easy to install. Derby is mainly, but not exclusively, in Java projects to use.


The software was originally developed by the company Cloudscape Inc., in Oakland (California ) under the name JBMS. The first version came out in 1997. The product was later renamed " cloudscape ".

1999 Cloudscape was bought by the company Informix Software Inc., whose database division was acquired by IBM in 2001. 2004 appropriated IBM Cloudscape software from the Apache Software Foundation under the name " Derby " as Free Software.

From the beginning of 2005, and Sun Microsystems participated in Derby. 2006 Derby was integrated as Java DB in Java Development Kit from Java 6 and it is now also supported by Sun Microsystems.

Product Features

The essential features of Derby are:

Apache Derby in Java applications

Java applications talk to Derby via the JDBC interface. Derby knows an embedded JDBC mode and a network JDBC mode. In the first case, the Derby database runs on the same Java Virtual Machine and the same process as the application. In a network JDBC mode (type -4 JDBC driver) operated Derby database, however, attack other Java applications over TCP / IP on a network server to Derby, which in turn accesses over DRDA to the Derby database. Derby this can also be operated as a master-slave cluster to achieve a higher reliability.

In a third mode Derby, the database can hold rather than on the hard disk and in main memory. This in-memory database mode is particularly advantageous when testing or when the data must be persisted immediately, because in this mode the single database access runs much faster than in the other modes. Since Derby used in all three modes the same database structure, such as an embedded scale database can also be operated as a network database or in-memory database; it is to start only different.