Apache Derby
Apache Derby is an open-source relational database implemented entirely in Java, formerly governed by the Apache Software Foundation (retired October 2025). It provides a small-footprint (~3.5MB) database engine with full SQL support, JDBC compliance, ACID transactions, stored procedures, and triggers. Derby operates in both embedded mode (bundled inside Java applications) and client/server mode via the Derby Network Server.
APIs
Apache Derby
Derby provides a standard JDBC API for database operations in both embedded (org.apache.derby.jdbc.EmbeddedDriver) and client/server (org.apache.derby.jdbc.ClientDriver) modes, ...
Features
Derby can be embedded directly in Java applications as a library, providing a zero-administration database with no separate server process required.
Derby Network Server supports multiple concurrent JDBC clients connecting over TCP/IP using the Derby Network Client driver.
Supports ANSI SQL-92 with extensions including subqueries, joins, constraints, triggers, views, stored procedures, and user-defined functions.
Full ACID transaction support with row-level locking, MVCC-style isolation levels, and savepoints.
The base Derby engine and embedded JDBC driver is approximately 3.5MB, making it suitable for desktop and embedded applications.
Supports Java-based stored procedures and functions callable directly from SQL using standard JDBC interfaces.
Use Cases
Embed Derby in desktop Java applications, IDEs, or tools that need a local SQL database without a separate server.
Use Derby as an in-memory or on-disk test database for Java application integration tests with JDBC.
Use Derby as a development database when production uses a heavier RDBMS, without installing MySQL or PostgreSQL.
Use Derby as a staging database for ETL processes in Java-based data pipelines.
Integrations
Derby provides JDBC 4.0/4.1/4.2 compliant embedded and network client drivers.
Commonly used with Spring DataSource and JPA/Hibernate for test database configuration.
Derby has a Hibernate dialect (DerbyDialect) for ORM integration.
Derby artifacts are available on Maven Central under org.apache.derby group ID.
Eclipse IDE includes Derby as a built-in SQL explorer and development database.