Apache Derby logo

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.

1 APIs 6 Features
ApacheDatabaseEmbeddedJavaJDBCOpen SourceRelationalSQL

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

Embedded Mode

Derby can be embedded directly in Java applications as a library, providing a zero-administration database with no separate server process required.

Client/Server Mode

Derby Network Server supports multiple concurrent JDBC clients connecting over TCP/IP using the Derby Network Client driver.

Full SQL Support

Supports ANSI SQL-92 with extensions including subqueries, joins, constraints, triggers, views, stored procedures, and user-defined functions.

ACID Transactions

Full ACID transaction support with row-level locking, MVCC-style isolation levels, and savepoints.

Small Footprint

The base Derby engine and embedded JDBC driver is approximately 3.5MB, making it suitable for desktop and embedded applications.

Java Stored Procedures

Supports Java-based stored procedures and functions callable directly from SQL using standard JDBC interfaces.

Use Cases

Embedded Application Database

Embed Derby in desktop Java applications, IDEs, or tools that need a local SQL database without a separate server.

Unit and Integration Testing

Use Derby as an in-memory or on-disk test database for Java application integration tests with JDBC.

Lightweight Development Database

Use Derby as a development database when production uses a heavier RDBMS, without installing MySQL or PostgreSQL.

Data Migration and ETL

Use Derby as a staging database for ETL processes in Java-based data pipelines.

Integrations

JDBC

Derby provides JDBC 4.0/4.1/4.2 compliant embedded and network client drivers.

Spring Framework

Commonly used with Spring DataSource and JPA/Hibernate for test database configuration.

Hibernate / JPA

Derby has a Hibernate dialect (DerbyDialect) for ORM integration.

Apache Maven

Derby artifacts are available on Maven Central under org.apache.derby group ID.

Eclipse IDE

Eclipse IDE includes Derby as a built-in SQL explorer and development database.

Semantic Vocabularies

Apache Derby Context

2 classes · 15 properties

JSON-LD

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
👥
GitHubRepository
GitHubRepository
👥
GitHubOrganization
GitHubOrganization
👥
StackOverflow
StackOverflow
🔗
Vocabulary
Vocabulary