Apache Derby is a DB subproject of Apache Software Foundation. It’s one of its commercial-quality, open-source database solutions licensed for distribution at no charge to the public.
Derby roots are in JDBMS database developed by Cloudscape back in 1997. Renamed to Cloudscape, then acquired by Informix, which was in turn acquired by IBM in 2001. IBM, contributed the database code to Apache in 2004.
Derby is based on Java, SQL and JDBC standards. It includes embedded JDBC driver, so it can be included in any Java-based application. Derby is extremely small – complete database engine and its embedded driver consume just 2.6MB of space. It can even be used in a client/server mode, not only as an embedded solution.
It’s very easy for Java applications to use Derby as its data store. However, it’s not really a good client/server solution. With rather low performance and locking issues, you may want to reconsider your database choice unless all you need is an embedded database (also, a well-known embedded alternative is SQLite). Users report Derby to be a rock-solid embedded database. Keep in mind its modest performance. Complex queries have significant hit on Derby performance, as well. In H2 database’s comparison of H2, HSQLDB and Derby, Derby turned out to be the slowest of the Java embedded databases.
Sun Corporation packaged Derby as JavaDB in JDK 6 and today Oracle (who acquired Sun) continues that practice. IBM packages Derby as Cloudscape.
All our applications are .NET applications. We opted to support Java-based Derby by migrating it to .NET platform using IKVM.NET, which automatically migrates Java bytecode to .NET bytecode. Therefore, we have native support for Derby and can read, write and query Derby.
It's very easy to copy existing database tables into your Derby database. Just point Full Convert to your source database, select your target and let it copy things over.
Tutorials showing how to copy data from another database into Derby:
It may make sense to migrate your data away from Derby. You may want to do it permanently or just need to share your tables with a collague in a different format.
Tutorials showing how to copy data from Derby to another database: