Apache Derby

discontinued

by Apache Software Foundation · since 1997 · also known as Derby, Java DB, JavaDB, IBM Cloudscape

Pure-Java embedded SQL database from the Cloudscape lineage, retired by Apache in 2025.

relationaldatabase engineopen source (permissive)legacy

discontinued. Retired by its PMC on 2025-10-10; read-only, no further releases or fixes. Final release 10.17.1.0. Migrate to H2, HSQLDB or PostgreSQL.

Overview

Apache Derby is a standards-oriented relational database written entirely in Java, descended from Cloudscape and donated by IBM to Apache in 2004. It runs embedded in a JVM or as a network server, and for years shipped with the JDK as Java DB, making it a common choice for tests, tooling and small embedded apps. On 2025-10-10 the Derby developers voted to retire the project into a read-only state: development and bug fixing ended and no further releases will be published, so 10.17.1.0 from 2023 is the final version. Existing users should plan a move to H2, HSQLDB or SQLite for embedding, or PostgreSQL for server use.

Strengths & trade-offs

Strengths

  • +Pure Java with a small footprint; embeds with a single JAR
  • +Strict SQL standard conformance and JDBC compliance
  • +Same database usable embedded or via the network server
  • +Built-in disk encryption and Java stored procedures

Trade-offs

  • −Project retired: no security fixes or new releases
  • −Slower than H2 or HSQLDB for most embedded workloads
  • −No JSON, full-text search or modern SQL features
  • −Limited tooling and community left

Great for

  • +Maintaining legacy Java applications that already embed Derby
  • +Read-only reference for existing test suites

Think twice for

  • −Any new project
  • −Internet-facing services needing security patches
  • −Large or concurrent workloads

Capabilities

Native or official first-party support · 9 of 25 tracked

✓Transactions
✓Joins
✓Secondary indexes
✓Triggers
✓Stored procedures
✓In-memory
✓Durable persistence
✓Encryption at rest
✓Role-based access
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–Compression
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Small · ≤ 100 GB
Horizontal scaling
None
Multi-region
No
Transactions
Full ACID
Consistency
Strong
Schema
Strict
Architecture
Embedded, Client server, Single node
Query languages
SQL

Single JVM or single network server; asynchronous replication for one standby.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsJDBC, DRDA network protocol
client languagesJava

Alternatives to Apache Derby

Compare all→
H2 DatabaseRelational23.5

Fast pure-Java SQL engine for embedded, in-memory and test databases, with compatibility modes.

apache-derby vs h2 →
HyperSQL (HSQLDB)Relational9.4

Long-running pure-Java SQL database with strong SQL:2023 coverage, used embedded and in LibreOffice.

apache-derby vs hsqldb →
SQLiteRelational75.5

The in-process SQL engine that ships in every phone, browser and OS: one file, zero servers.

apache-derby vs sqlite →
PostgreSQLRelational93.2

The extensible, standards-first open-source relational database.

apache-derby vs postgresql →
FirebirdRelational32.8

Lightweight, MVCC relational database from the InterBase lineage, embeddable or client-server.

apache-derby vs firebird →
Microsoft AccessRelational45.8

Desktop database and forms builder bundled with Microsoft 365; still everywhere in back offices.

apache-derby vs microsoft-access →

Apache Derby FAQ

What is Apache Derby?

Apache Derby is a relational database by Apache Software Foundation, first released in 1997. Apache Derby is a standards-oriented relational database written entirely in Java, descended from Cloudscape and donated by IBM to Apache in 2004. It runs embedded in a JVM or as a network server, and for years shipped with the JDK as Java DB, making it a common choice for tests, tooling and small embedded apps. On 2025-10-10 the Derby developers voted to retire the project into a read-only state: development and bug fixing ended and no further releases will be published, so 10.17.1.0 from 2023 is the final version. Existing users should plan a move to H2, HSQLDB or SQLite for embedding, or PostgreSQL for server use.

Is Apache Derby open source?

Yes. Apache Derby is open source. License: Apache License 2.0.

Does Apache Derby support ACID transactions?

Yes. Apache Derby supports full ACID transactions, with strong consistency.

Does Apache Derby scale horizontally?

Apache Derby does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).

How can I run Apache Derby?

You can self-host it and embed it in your application.

What is Apache Derby best for?

Apache Derby is a strong fit for maintaining legacy Java applications that already embed Derby and read-only reference for existing test suites. Think twice for any new project.

What are the best alternatives to Apache Derby?

Common alternatives to Apache Derby include H2 Database, HyperSQL (HSQLDB), SQLite, PostgreSQL and Firebird. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

Is Apache Derby still maintained?

Apache Derby is discontinued. Retired by its PMC on 2025-10-10; read-only, no further releases or fixes. Final release 10.17.1.0. Migrate to H2, HSQLDB or PostgreSQL.

How popular is Apache Derby?

Apache Derby ranks #307 of 844 databases on the WhichDB Score (9.6/100), and #99 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.