About Apache Derby

Page content

What Is Apache Derby?

Apache Derby is an open-source relational database management system written in Java. Derby is distributed as Sun® Java DB, previously it was distributed as an IBM Cloudspace. It can be integrated with Java applications and used for online transactions processing (OLTP). It has a very small footprint – 2 MB for the embedded JDBC driver and base engine.

The main technology of the Derby’s database engine is a fully featured relational embedded database engine. It provides SQL and JDBC programming APIs and uses the SQL and IBM DB2 syntax.

Comparison With Other Embedded SQL Java Databases

Apache Derby is said not to have very good performance in terms of SQL compliance and speed compared to other common embedded SQL databases. It also has lesser rank among other few open-source databases such as H2 and hsqldb. In terms of usability, Derby database is easy to use and many projects are using it without any assistance from Derby users or developers.

Derby Network Server

You can also configure an embedded database to work as a hybrid server or embedded RDBMS. You can do this to enable accepting of TCP/IP connections from clients other than those in the same JVM.

The Derby Network server gives you more reach to the Derby database engine with the provision of standard client server functionality. The server lets clients to connect with TCP/IP using DRPA protocol. The server also provides JDBC, PHP, Perl, CLI, ODBC support for the Derby engine.

Database Utilities

Apache Derby provides a number of useful utilities you can use for doing different works. Here are the utilities that come with Apache Derby and their use:


This tool extracts schemas from Derby database.


You can use this tool to execute SQL scripts against the JDBC engine.


This utility displays class path and version numbers.

User Manuals

Derby user manuals are available to download in PDF and HTML format from here.

For tips and help on using Derby on Java ME platforms, click here.