Derby (Apache)
Apache Derby is an open-source, pure-Java relational database management system that can be embedded directly inside an application or run as a network server, historically bundled with the Java Development Kit as Java DB.
Definition
Apache Derby is an open-source, pure-Java relational database management system that can be embedded directly inside an application or run as a network server, historically bundled with the Java Development Kit as Java DB.
Overview
Derby is a fully SQL-compliant, transactional database engine implemented entirely in Java, which lets it run inside the same process as an application with no native binaries or external installation. It was donated to the Apache Software Foundation by IBM and later shipped by Sun/Oracle under the name Java DB as part of certain JDK distributions, giving it a long history inside the Java ecosystem. Like other embeddable databases, Derby supports both an embedded driver, where the database lives inside the application's JVM, and a network server mode, where it accepts JDBC connections over the network from multiple clients. It provides standard relational features including transactions, referential integrity, stored procedures, and triggers, making it capable of serving as a lightweight production database for small applications, not just a testing tool. In practice, Derby has been largely overshadowed by alternatives such as H2 Database and SQLite, which are perceived as faster and simpler for many development workflows, but Derby remains in use in legacy Java applications and in some Apache projects that adopted it as a default embedded store.
Key Features
- Pure-Java implementation with no native dependencies
- Embedded and client-server (network) operating modes
- Full ACID transaction support
- Standard JDBC driver for application connectivity
- Small footprint suitable for bundling with applications
- Support for stored procedures, triggers, and views
Use Cases
Frequently Asked Questions
From the Blog
Introduction to Apache Spark for Beginners
Apache Spark is a fast, distributed engine for processing huge datasets across many machines. Learn what it is, how it works, and how to run your first job.
Read More AI & TechnologyWhat Is PySpark? Python's Gateway to Big Data
PySpark is the Python API for Apache Spark, letting developers process massive datasets across many machines using familiar Python syntax. This guide covers what PySpark does, its core components, and when to reach for it.
Read More