Summary
Apache Derby is a standards-based, pure-Java relational database engine. Its easy-to-use data manager requires no administration by end users. Derby runs on any JVM at Java version 9 or higher and Derby supports JDBC version 4.3. Derby's platform-independent database format may be copied to any file system.
Apache Derby is a subproject of the Apache DB project, licensed under the Apache License, Version 2.0, which you may obtain from https://www.apache.org/licenses/LICENSE-2.0 You may find Derby on the web at https://db.apache.org/derby/. You may download Apache Derby releases from https://db.apache.org/derby/derby_downloads.html.
Information on Derby configurations follows.
Derby Configurations
Derby's modules may be wired together in several configurations. The modules are:
Module name | Jar file | Description |
---|---|---|
org.apache.derby.engine | derby.jar | The embedded database engine contains Derby's core functionality. It contains its own JDBC driver, allowing one JVM to host both Derby and the applications which use it. |
org.apache.derby.server | derbynet.jar | The network server wraps the database engine, enabling networked JDBC access. |
org.apache.derby.client | derbyclient.jar | The remote JDBC client connects to a server across a network. |
org.apache.derby.tools | derbytools.jar | Basic tools include a schema dumper and an interactive SQL interpreter. |
org.apache.derby.optionaltools | derbyoptionaltools.jar | Optional tools support metadata introspection and access to other vendors' databases. |
org.apache.derby.runner | derbyrun.jar | The runner module supports easy command-line administration of Derby installations. |
org.apache.derby.commons | derbyshared.jar | The commons module contains cross-module support utilities. |
org.apache.derby.locale_* | derbyLocale_*.jar | Message localizations support human-readable diagnostics in languages other than English. |
org.apache.derby.tests | derbyTests.jar | An extensive body of tests stresses functionality in all of the other modules. |
The following conventions apply to the module diagrams presented here:
- Derby modules appear in blue.
- JVM modules appear in black.
- 3rd party modules appear in pink.
- Optional modules appear in gray.
Module | Description |
---|---|
org.apache.derby.client |
Applications running on remote machines access Derby databases via a
remote client configuration.
|
org.apache.derby.commons |
All configurations need this utility module.
|
org.apache.derby.engine |
The smallest footprint, core Derby configuration consists of the embedded engine.
|
org.apache.derby.optionaltools |
An extra set of tools supports metadata introspection, access to other
vendors' databases, full-text search, and the importing of
JSON-formatted data.
|
org.apache.derby.runner |
This convenience module makes it easy to run several tools and to
administer the network server.
|
org.apache.derby.server |
The Derby network server wraps the engine in a DRDA protocol
driver.
|
org.apache.derby.tools |
A set of basic tools (including an interactive SQL monitor) can access
Derby databases via either the embedded or remote client
drivers.
|