Fact-checked by Grok 2 weeks ago

Apache Derby

Apache Derby is an open-source relational database management system (RDBMS) implemented entirely in the Java programming language. It is licensed under the Apache License, Version 2.0, and serves as a subproject of the Apache DB project within the Apache Software Foundation. Derby is designed for ease of use and deployment, featuring a small footprint of approximately 3.5 MB for its base engine and embedded JDBC driver, making it particularly suitable for embedding directly into Java applications. Derby supports both embedded and client/server modes, with the embedded JDBC driver allowing seamless integration into Java solutions and the Network Server enabling TCP/IP connections via the DRDA protocol for JDBC, ODBC/CLI, Perl, and PHP clients. It is based on Java, JDBC, and SQL standards, providing compliance with JDBC 4.0 and partial support for ANSI/ISO SQL features, including transaction control, savepoints, and isolation levels. Additional utilities include ij for running SQL scripts, dblook for schema extraction, and sysinfo for version details. However, on October 10, 2025, the Derby developers voted to retire the project into a read-only state, ending further development and bug fixes, with the website, wiki, and issue tracker now archived. The last stable release was version 10.17.1.0 (November 2023).

Overview

Description and key characteristics

Apache Derby is an open-source relational database management system (RDBMS) implemented entirely in the Java programming language. It serves as a lightweight, standards-based database engine designed for seamless integration into Java applications, offering both embedded and networked deployment options under the Apache License, Version 2.0. Key characteristics of Apache Derby include its exceptionally small disk footprint of approximately 3.5 megabytes for the base engine and embedded JDBC driver, making it suitable for resource-constrained environments. As a pure Java implementation, it achieves platform independence by running on any Java Virtual Machine (JVM), ensuring portability across operating systems without requiring native code compilation. Derby supports two primary modes of operation: an embedded mode where the database runs within the same JVM as the application for tight coupling and low overhead, and a client/server mode that enables remote access via a network server. Derby adheres to core SQL standards, providing partial compliance with Entry Level and extensions supporting features from SQL:2011, such as basic data types, queries, joins, and transactions. It fully complies with JDBC 4.0 and later versions (up to 4.2), allowing standard . For networked operations, Derby utilizes the Distributed Relational Database Architecture (DRDA) protocol over / to handle client connections. Compared to traditional RDBMS like or , Derby positions itself as a simpler, lighter-weight optimized for ease of and rather than extreme in high-volume scenarios.

Licensing and current status

Apache Derby is distributed under the 2.0, a permissive that permits free use, modification, and distribution of the software, provided that the copyright notice and disclaimer are retained in all copies. This licensing model has facilitated its integration into various Java-based applications and proprietary projects without restrictive requirements. As a subproject of the Apache DB project, Derby operated under the governance of the Apache Software Foundation, with development driven by a community of contributors through consensus-based decision-making until the project's cessation. The Apache DB Project Management Committee (PMC) oversaw strategic direction, ensuring adherence to Apache's meritocratic processes for code contributions, releases, and issue resolution. The most recent stable release, version 10.17.1.0, was announced on November 14, 2023, introducing support for SE 21 while maintaining compatibility with earlier versions. On October 10, 2025, the Derby community voted to retire the project into a read-only state, halting all further development, bug fixes, and new releases. Following retirement, key resources including the project website, wiki, issue tracker, and mailing lists have been archived or disabled, with no new interactions possible. This retirement implies that while existing Derby deployments remain fully usable and downloads are available on an as-is basis, there is no ongoing support, security updates, or enhancements.

History

Origins as Cloudscape

Cloudscape Inc. was established in 1996 in Oakland, California, by former Sybase engineers Nat Wyatt and Howard Torf, with the goal of developing database technology based on the emerging Java programming language. The company focused on creating lightweight, embeddable relational database solutions tailored for Java applications, addressing the need for portable and efficient data management in distributed environments. Early development efforts resulted in the release of the company's first product, JBMS 1.0 (Java Backend Management System), in 1997, which provided a foundational -based engine for application deployment. This was followed by Cloudscape 2.0 in April 1999, which enhanced SQL capabilities, including support for JDBC 2.0 and ODBC 3.0, enabling more robust data access and integration in Java ecosystems. In October 1999, Cloudscape Inc. was acquired by Informix Software for approximately $85 million in stock, integrating its technology into Informix's portfolio of database solutions. When acquired Informix's database assets in July 2001 for $1 billion, Cloudscape became part of , where it was rebranded as IBM Cloudscape. Under , Cloudscape was primarily positioned as an embeddable, pure- engine, emphasizing its small footprint and ease of integration for Java-based applications. It was incorporated into IBM products such as , where it served as a for and testing, and used extensively internally at IBM to meet requirements in enterprise Java environments.

Transition to Apache Derby and later developments

In August 2004, contributed the source code of its Cloudscape database to as an incubator project under the Apache DB umbrella, renaming it Derby to reflect its new open-source identity. This move aimed to foster community-driven development while preserving the technology's core strengths in Java-based management. The contribution included a snapshot of Cloudscape version 10.0, enabling immediate availability for open-source collaboration. The Derby project rapidly matured within the , releasing its first version, 10.0.2.1, in December 2004. By July 2005, it graduated to become a subproject of the top-level DB project, marking a significant in its transition to full Apache governance. The first post-graduation release, 10.1.1.0, arrived in August 2005, introducing enhancements such as a new network client driver, online database compression, XA transaction support, and longer identifier lengths to improve in distributed environments. Subsequent years saw steady evolution through major version releases that expanded Derby's capabilities and standards compliance. Version 10.5, released in , bolstered JDBC support with features like mode for faster prototyping and testing, alongside refinements to the engine. In 2013, version 10.10 advanced SQL conformance by incorporating elements aligned with SQL:2011, including improved query handling and procedural extensions. By 2017, version 10.14 delivered key performance optimizations, such as faster query compilation, reduced memory usage, and better integration with 8's JDBC 4.2 enhancements. The project continued with releases up to 10.17.1.0 in November 2023, focusing on stability, bug fixes, and compatibility with modern Java versions. In parallel, adoption grew through strategic integrations; in 2006, (acquired by in 2010) began bundling a supported distribution of Derby, known as Java DB, with SE 6, embedding it directly in the JDK for seamless use in Java applications. This boosted visibility and reliability for developers. The open-source community thrived with ongoing contributions from engineers, Oracle participants, and independent developers, emphasizing Derby's role in scenarios like applications and appliances where its footprint—around 3.5 MB for the core engine and —proved ideal. On October 10, 2025, the Derby developers voted to retire the project into a read-only state, ending further development and bug fixes.

Architecture

Core components

Apache Derby employs a modular architecture designed to separate concerns across distinct layers, enabling efficient implementation of relational database management system (RDBMS) functionality in pure Java. The overall structure consists of four primary code areas—JDBC, SQL, Store, and Services—that interact to process queries, manage data persistence, and provide connectivity, with modules using Java interfaces to allow pluggable implementations for system-wide or database-specific services. The Derby Engine forms the core RDBMS component, handling SQL query , optimization, and execution through a structured process. This process includes five steps: via a Javacc-generated parser to build query node trees, binding to resolve identifiers and data types, optimization to determine efficient access paths, into executable Java classes, and loading of those classes for runtime use. Execution occurs via these generated classes, which produce Derby-specific ResultSet objects subsequently presented to applications as standard JDBC ResultSets, with just-in-time () enhancing performance for iterative queries. The layer oversees physical , encompassing disk , for crash recovery, and coordination. Divided into and raw sub-layers, the component conducts and scans, applies locking for concurrency, and manages , while the raw component handles page-level storage, , pluggable file systems, and optional Java Extension (JCE) . Derby utilizes row- and table-level locking for , supporting four SQL-standard isolation levels—Read Uncommitted, Read Committed (the default), Repeatable Read, and Serializable—to mitigate issues like dirty reads, non-repeatable reads, and phantom reads. For distributed scenarios, management incorporates two-phase commit protocols through XADataSource and related javax.sql interfaces. The JDBC layer implements the java.sql and javax.sql interfaces, serving as the exclusive application-facing API for database connectivity and operations. It encapsulates all external interactions, forwarding SQL requests to the underlying SQL layer while abstracting the engine's internal mechanics from applications. Derby accommodates essential relational data structures such as tables, indexes, views, and constraints, all persisted and manipulated via the layer's mechanisms. The Services layer provides foundational utilities, including a monitor for module dispatching, lock management (e.g., via clock/ring algorithms), and caching for objects like statement plans, ensuring seamless coordination across the . Component interactions follow a linear flow: applications initiate connections and submit queries through the JDBC layer, which passes them to the Derby Engine's SQL module for , optimization, and ; execution then interfaces with the layer for data access and modification, drawing on Services for auxiliary support like locking and caching to maintain consistency and performance. Cached plans from prior compilations accelerate repeated query processing by bypassing initial optimization steps.

Deployment modes

Apache Derby supports multiple deployment modes to accommodate various application requirements, ranging from simple single-user setups to multi-user networked environments. These modes leverage Derby's pure implementation, allowing flexible integration without external dependencies. The primary modes include , network server, and embedded network server configurations, each optimized for specific use cases such as low-overhead applications or scalable client-server architectures. In embedded mode, Derby runs within the same (JVM) as the hosting application, eliminating the need for a separate . This mode is particularly suited for single-user or low-concurrency scenarios, such as standalone applications, where minimal overhead and tight are prioritized. Only one application can access the database at a time, and Derby boots automatically upon the first connection attempt using the EmbeddedDriver. Multi-threading is supported within the application, but concurrent access from multiple JVMs is not permitted, ensuring simplicity and isolation. Network server mode operates as a standalone process that accepts TCP/IP connections from multiple remote clients, enabling multi-user access to the same database instance. This setup uses the Distributed Relational Database Architecture (DRDA) protocol for communication and requires the Derby Network Client for client-side connections. It is ideal for distributed applications where multiple users or services need concurrent access, with the managing , connections, and . The can be started via command line using derbyserver.jar, and it supports booting multiple databases within a single instance by specifying database names in connection URLs. Shutdown is performed using a dedicated command or connection URL, ensuring orderly closure without data loss. Embedded network server mode provides a hybrid approach, where the network server embeds directly into the application's JVM while still allowing remote client connections via the DRDA . This balances the simplicity of mode with the accessibility of network server mode, avoiding conflicts between the application and a separate server process. It is configured by setting the derby.drda.startNetworkServer property to automatically boot the server upon Derby startup, or programmatically using the NetworkServerControl class. Clients can connect using either the driver locally or the network client driver remotely, supporting multi-database environments in a single JVM instance. Configuration basics across modes include setting the derby.system.home property to define the for database storage, which defaults to the current if unspecified; this ensures consistent file paths for data files and logs. Derby supports multi-database instances within one deployment by using unique names in connection s, allowing independent creation, access, and management of multiple databases without interference. Shutdown procedures vary by mode: in setups, a connection URL with shutdown=true triggers closure, returning a specific for confirmation; in network modes, dedicated commands or controls handle graceful termination. These mechanisms facilitate reliable deployment in diverse environments.

Features

Database capabilities

Apache Derby provides robust support for the SQL language, implementing a subset of the ANSI standard at the Entry, Transitional, and partial Intermediate levels. This includes core features such as (DDL) operations for creating and managing schemas, tables, and indexes, as well as (DML) operations like INSERT, UPDATE, DELETE, and complex SELECT statements supporting joins, subqueries, and aggregate functions. The database supports a range of standard SQL data types, including numeric types such as SMALLINT, INTEGER, BIGINT, DECIMAL, NUMERIC, REAL, FLOAT, and DOUBLE PRECISION; character types like CHAR, VARCHAR, and LONG VARCHAR; temporal types including DATE, TIME, and TIMESTAMP; and large object types BLOB and CLOB. The XML data type, introduced in version 10.7, enables storage and manipulation of XML documents. Boolean types are also available for logical operations. Derby does not natively support arrays as a built-in data type. These types enable flexible storage and manipulation of diverse data, with operations adhering to SQL standards for assignments, comparisons, sorting, and ordering. Derby extends basic functionality with select advanced features, such as the ROW_NUMBER() for ranking rows within partitions, introduced in version 10.4, along with support for a WINDOW clause to define named windows. However, it lacks support for common table expressions (CTEs), including recursive variants from SQL:2011, limiting its capability for certain hierarchical or iterative queries. Transaction management in Derby ensures ACID (Atomicity, , , ) compliance through full support, allowing commit and rollback operations. Concurrency is handled via locking at row or levels, with for multi-granularity locking and lock escalation, and four standard isolation levels: TRANSACTION_READ_UNCOMMITTED (allowing dirty reads), TRANSACTION_READ_COMMITTED (default, preventing dirty reads), TRANSACTION_REPEATABLE_READ (preventing non-repeatable reads), and TRANSACTION_SERIALIZABLE (full , preventing phantoms via range locks). detection is built-in, with a configurable timeout (default 60 seconds via derby.locks.deadlockTimeout) to abort one transaction and roll it back when cycles are identified. Key limitations include the absence of native table partitioning, requiring manual application-level strategies for large-scale data distribution. Stored procedures, implemented as Java methods, were introduced in version 10.0, with a maximum of 90 parameters per procedure; pure SQL stored procedures are not supported. Database scalability is constrained by structural limits, such as a maximum of 1,012 columns per table, 32,767 indexes per table, and page sizes up to 32 KB, leading to practical size limits around 100 for typical deployments despite theoretical capacities exceeding 2^64 bytes.

Security and administration

Apache Derby provides robust security mechanisms to protect and . User in Derby verifies the validity of user credentials before granting , supporting built-in properties-based methods such as NATIVE authentication, which stores usernames and hashed passwords in database properties files. For enhanced security in production environments, Derby integrates with external systems like LDAP directories, allowing configuration of LDAP servers for centralized and even for users. follows , offering coarse-grained control where only the database owner can create objects, or fine-grained SQL-based privileges assigned to users and roles, including permissions for tables, views, and procedures via and REVOKE statements. Data in Derby occurs at the database level using a boot password specified during creation with the dataEncryption=true attribute on the connection URL, employing configurable algorithms such as /CBC/PKCS5Padding for strong of files on disk. Existing unencrypted databases can be encrypted by booting with appropriate attributes, though this requires exclusive access. In network server mode, Derby secures client-server communications via SSL/TLS protocols, configurable through keystores for and of traffic, ensuring against and tampering. Administrative tasks in Derby emphasize secure maintenance and monitoring. Backup and restore operations support roll-forward recovery in LOG ARCHIVE MODE, where transaction logs are archived to a directory for online backups using SYSCS_UTIL.SYSCS_BACKUP_DATABASE, allowing restoration via the restoreFrom attribute in the connection to recover from failures. Space reclamation is achieved through compaction with SYSCS_UTIL.SYSCS_COMPRESS_TABLE, which reorganizes tables and indexes to return unused space to the operating system after deletions or updates. Monitoring relies on system tables like SYS.SYSCHEMA for details, SYS.SYSCOLUMNS for column information, and SYS.SYSSTATEMENTS for query plans, enabling administrators to query database state without external tools. Performance tuning in Derby focuses on optimization for embedded and server deployments. Administrators update index statistics using SYSCS_UTIL.SYSCS_UPDATE_STATISTICS to improve query optimizer decisions, potentially reducing execution time by selecting better access paths. Query hints via Optimizer overrides allow manual specification of join orders or index usage when default plans underperform. JVM heap sizing, typically set via -Xmx flags, influences buffer pool efficiency, with recommendations for at least 256MB for moderate workloads to avoid garbage collection overhead. Derby performs effectively in multi-user scenarios with proper indexing and configuration.

Tools and utilities

Following the project's on October 10, 2025, these tools are available in the final (10.17.1.0) with no further development or updates planned.

Built-in tools

Apache Derby includes several built-in command-line tools designed for direct interaction, inspection, and diagnostics of databases, facilitating tasks such as SQL execution, schema extraction, and environment verification without requiring external dependencies. These tools are bundled with the Derby distribution and can operate in both embedded and client/server modes, leveraging the JDBC interface for connectivity. The ij tool serves as an interactive SQL shell and scripting utility, enabling users to execute SQL statements, Derby-specific commands, and scripts against a database. It supports connections to databases via the JDBC driver or to network servers using the client driver, allowing seamless switching between modes. Key features include support for multiple simultaneous connections, transaction management, and for automation. To launch ij, users run java org.apache.derby.tools.ij or use the provided script in the Derby bin directory. Basic commands include CONNECT 'jdbc:derby:sample'; to establish a connection to the sample database, and RUN 'script.sql'; to execute an SQL script file, which is useful for initializing or testing database setups. In batch mode, ij processes input files non-interactively, making it suitable for automated testing or deployment scripts. The dblook tool is a schema extraction utility that generates Data Definition Language (DDL) scripts from an existing Derby database, aiding in documentation, migration, or replication efforts. It connects to the database via a JDBC URL and outputs the schema for specified objects, such as tables, views, or the entire database, while preserving details like constraints and indexes. Users invoke it with java org.apache.derby.tools.dblook -d jdbc:derby:sample, where options like -t tableName limit output to a specific table or -z schemaName filters by schema. Output formats include standard SQL (default, with customizable statement delimiters via -td ';') for direct re-execution, and it can redirect results to a file using -o output.sql for portability across database systems. This tool does not support XML output natively but focuses on SQL compatibility for broad interoperability. The sysinfo tool provides a diagnostic overview of the Derby environment, displaying critical details such as the Derby version, (JVM) properties, configuration, and build information to assist in or checks. It requires no database connection and is executed simply as java org.apache.derby.tools.sysinfo, producing console output that includes the Derby release number (e.g., 10.17.1.0), supported locales, and loaded JAR files. This utility is particularly valuable for verifying installations, as it highlights potential issues like missing dependencies or mismatched versions before runtime errors occur. For example, running sysinfo might reveal the full to ensure all Derby libraries are properly included.

Development and management utilities

Apache Derby offers a range of programmatic utilities that enable developers to control the at runtime through its . The primary interface for embedded mode is the EmbeddedDriver (org.apache.derby.jdbc.EmbeddedDriver), which applications load programmatically using or DriverManager to establish connections and boot databases without external processes. These facilitate seamless embedding within applications and support automated workflows for development cycles. Management tools in Derby extend beyond command-line interfaces to provide flexible runtime oversight. The DerbyRun.jar utility simplifies deployment by bundling all necessary Derby JAR files into a single executable, enabling straightforward launches of servers or tools, such as starting the Network Server with "java -jar derbyrun.jar NetworkServerControl start". For monitoring, Derby integrates with (JMX) through managed beans (MBeans) that expose attributes and operations for system health, including version details, database status, and shutdown controls. Administrators can connect using JConsole, launched from the JDK's bin directory (e.g., "jconsole"), to select the Derby-running JVM and navigate to the "org.apache.derby" domain for real-time graphing of metrics like lock waits or connection counts. Third-party extensions enhance Derby's management capabilities through its JDBC compliance. Tools like SQL Client integrate directly by registering Derby's JDBC drivers (derby.jar for embedded and derbyclient.jar for client modes) in the driver's panel and creating aliases with connection URLs such as "jdbc:derby:FirstDB;create=true" for embedded access or "jdbc:derby://localhost:1527/ClientDB" for networked setups. Similarly, supports Derby connections via its built-in JDBC driver configuration wizard, allowing schema browsing, query execution, and data visualization once the driver path and URL are specified. For migrations from other databases, utilities like Apache DdlUtils provide ANT-based tasks to extract schemas and transfer data via JDBC, ensuring compatibility during transitions to Derby without proprietary lock-in. Best practices for Derby utilities emphasize efficiency in automated environments and diagnostics. In pipelines, scripting with harnesses enables automated testing of Derby-embedded applications, such as running suites on each commit to verify database and . For , the derby-debug.properties file, placed in the derby.system.home directory, configures detailed traces—such as enabling detection with "derby.locks.deadlockTrace=true" or logging with "derby.language.logStatementText=true"—but should be used judiciously to prevent excessive file growth, appending output via "derby.infolog.append=true" for persistent records. These configurations, combined with selective property activation, support robust while maintaining system .

Applications and integrations

Use cases

Apache Derby's lightweight footprint and pure implementation make it particularly suitable for embedded applications where a full management system is needed without the overhead of a separate . It excels in software that requires local data persistence, such as contact management tools or personal productivity applications, allowing developers to bundle the database directly into the application's file for seamless deployment. For instance, the demo illustrates Derby's use in a standalone Java application for storing and managing user data like names, emails, and addresses, with the database file residing in the user's . Additionally, Derby supports interactive software that demands fast, local storage, enabling single-user access without network dependencies. Its embedded mode ensures the database runs within the same JVM as the application, minimizing latency and resource usage. Derby is widely adopted for testing and prototyping in development workflows, particularly for unit and integration tests where an in-memory or temporary database simulates production environments without persistent storage overhead. Developers often use its embedded mode to create disposable databases during test execution, ensuring and repeatability; for example, it integrates with frameworks like and DBUnit to validate data access layers in or JPA-based projects. This approach accelerates prototyping by allowing quick setup of relational schemas for ad-hoc queries and data validation, with automatic cleanup upon test completion. For appliances and devices, Derby's small size—approximately 3.5 MB—and standards-compliant SQL make it ideal for resource-constrained environments, where a full RDBMS would be impractical due to memory and processing limits. It enables for data, , or local in Java-enabled devices, supporting transaction integrity without requiring external . In legacy systems and migration contexts, Derby facilitates upgrades from predecessor technologies like Cloudscape, offering for in small-scale enterprise applications. It is commonly bundled with platforms such as for test environments or SE distributions (as Java DB), providing a for configuration and runtime data storage in integration servers or web applications. For example, organizations use Derby to migrate Cloudscape databases while preserving SQL syntax and features, ensuring minimal disruption in legacy Java ecosystems.

Java ecosystem integration

Apache Derby integrates seamlessly into the ecosystem through its pure implementation, enabling usage within applications and compatibility with standard APIs and frameworks. As a fully JDBC-compliant database, Derby's primary integration point is its , which supports both and client-server modes. To load the driver in applications, developers typically use Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); to register it with the DriverManager. Connections are established via URLs such as jdbc:derby:mydb, where mydb specifies the database directory; this format allows Derby to create the database if it does not exist. For 6 and later, automatic driver loading via the mechanism often eliminates the need for explicit Class.forName calls, simplifying setup. Derby supports integration with popular Java frameworks, particularly those leveraging JPA and ORM technologies. For recent versions of Hibernate (6.x), use org.hibernate.dialect.DerbyDialect, which supports Derby 10.15.2 and later. In Spring Boot applications, Derby is auto-configured as an embedded database when the spring-boot-starter-data-jpa dependency is present, with JPA support via the Hibernate dialect; developers can specify the dialect explicitly in application.properties as spring.jpa.database-platform=org.hibernate.dialect.DerbyDialect. Build tools like and facilitate inclusion through artifacts such as org.apache.derby:derby, which bundles the core engine and embedded ; for example, a dependency declaration is <dependency><groupId>org.apache.derby</groupId><artifactId>derby</artifactId><version>10.17.1.0</version></dependency>. Derby is bundled in distributions like Oracle's Java DB, which is essentially a supported release of Apache Derby, allowing developers to access it directly from JDK installations without separate downloads. In web application environments, Derby embeds effortlessly into servlet containers such as ; for instance, applications can deploy Derby-based data access within Tomcat by including the Derby JARs in the WEB-INF/lib directory and configuring connections in the servlet context, enabling persistent storage for web apps without an external database server. For advanced scenarios, Derby supports distributed transactions via the Java Transaction API (JTA) and XA interfaces, fully implementing the javax.transaction.xa package for two-phase commit protocols across multiple resources. In modular applications, Derby provides OSGi-compatible bundles, such as those wrapping the core JARs (e.g., via org.apache.servicemix.bundles.derby), allowing it to function as an OSGi service within frameworks like Apache Felix or Karaf. To ensure clean closure in embedded mode, applications often register JVM shutdown hooks using Runtime.getRuntime().addShutdownHook() to invoke DriverManager.getConnection("jdbc:derby:;shutdown=true");, performing checkpoints and releasing locks upon JVM termination. As of October 2025, Apache Derby has been retired into a read-only state, with no further development or bug fixes; however, existing applications and integrations remain functional.

References

  1. [1]
    Apache Derby
    Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0.DownloadsDocumentation
  2. [2]
    Apache Derby Project Charter
    Derby History. In 1996, a start-up called Cloudscape Inc. was founded in Oakland, California in order to develop Java database technology. In 1997 ...
  3. [3]
    Derby and standards - the Apache DB Project!
    Derby supports transaction control using JDBC 3.0 Connection methods. This includes support for savepoints and for the four JDBC transaction isolation levels.
  4. [4]
    Apache Derby: Downloads
    Apr 11, 2025 · On 2025-10-10, the Derby developers voted to retire the project into a read-only state. Derby development and bug-fixing have ended.10.17.1.0 · 10.14.2.0 · 10.16.1.1 · 10.15.2.0
  5. [5]
    Introduction to Derby - the Apache DB Project!
    Derby provides users with a small-footprint standards-based database engine that can be tightly embedded into any Java based solution. Derby ensures data ...Missing: characteristics compliance
  6. [6]
    SQLvsDerbyFeatures - DERBY - Apache Software Foundation
    ### Summary of Derby's SQL Standards Compliance
  7. [7]
    The Derby Network Server - the Apache DB Project!
    The Network Server uses the standard Distributed Relational Database Architecture (DRDA) protocol to receive and reply to queries from clients. Databases are ...
  8. [8]
    Apache Derby System Properties - DB-Engines
    Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. Primary database model, Relational DBMS · DB ...Missing: compliance | Show results with:compliance
  9. [9]
    Apache Derby: License
    Derby is available under the Apache License, Version 2.0. Also see: This page last updated: 09-September-2017
  10. [10]
    PMC Bylaws - the Apache DB Project!
    The PMC is responsible for the strategic direction and success of the DB Project. This governing body is expected to ensure the project's welfare and guide its ...
  11. [11]
    Project Guidelines - the Apache DB Project!
    This document defines the guidelines of The DB Project. It includes definitions of the various categories of membership, who is able to vote, how conflicts are ...Missing: governance | Show results with:governance
  12. [12]
    [ANNOUNCE] Apache Derby 10.17.1.0 released-Apache Mail ...
    Nov 14, 2023 · The Apache Derby project is pleased to announce feature release 10.17.1.0. Apache Derby is a sub-project of the Apache DB project.
  13. [13]
    [RESULT] [VOTE] Retire Derby-Apache Mail Archives
    Oct 11, 2025 · +1 = Derby should be retired -1 = Derby should not be retired The polls close at 5:00 pm San Francisco time on Friday 2025-10-10.
  14. [14]
    [VOTE] Retire Derby-Apache Mail Archives
    +1 = Derby should be retired -1 = Derby should not be retired The polls close at 5:00 pm San Francisco time on Friday 2025-10-10. Rick Hillegas - Monday ...
  15. [15]
    Former Sybase Workers' Startup Gets $10 Million in Cash ... - SFGATE
    Jun 23, 1998 · Cloudscape of Oakland was born two years ago when ex-Sybase engineers Nat Wyatt and Howard Torf saw opportunity in two trends. Advertisement.
  16. [16]
    [PDF] Internals of Derby - the Apache DB Project!
    Dec 2001 – IBM Cloudscape 5.0.. 2003 – IBM Cloudscape 5.1, 5.1FP1 & FP2. ➢ Significant IBM use as a component.. August 2004 – Open Sourced as Derby at. ASF ...
  17. [17]
    CLOUDSCAPE RELEASES NEXT-GENERATION JAVA DBMS
    Nov 15, 1998 · New versions of the database should come out at six- month intervals, with 2.5 due in the fourth quarter of 1999. The product used to be called ...Missing: 1.0 1997
  18. [18]
    Informix to buy Cloudscape for $83 million - CNET
    Sep 15, 1999 · Informix Corp. (Nasdaq: IFMX) plans to buy a developer of database and application management tools for more than $83 million in stock.Missing: December | Show results with:December
  19. [19]
    IBM Buys Informix Software for $1 Billion - Washington Technology
    Apr 25, 2001 · IBM Corp. and Informix Corp. have entered into a definitive agreement for IBM to acquire Informix Software in a cash transaction valued at $1 billion.Missing: Cloudscape<|control11|><|separator|>
  20. [20]
    [PDF] IBM Cloudscape 5.1: A Technical Overview - Your.Org
    This paper describes some of the technical features of IBM Cloudscape, the embeddable SQL database engine for Java. Because of its lightweight, pure-Java, ...
  21. [21]
    Proposal for Derby: an Apache Database Sub-Project
    Our goal is to produce a community of developers - with backgrounds in Database Engineering, SQL-92 and SQL-99 standards, data-centric applications, and XML- ...
  22. [22]
    Derby - The Apache Incubator
    "Derby" is a snapshot of the IBM's Cloudscape Java relational database. IBM is opening the code by contributing it to The Apache Software Foundation.Missing: history | Show results with:history
  23. [23]
    Apache Derby 10.1.1.0 Release
    Derby version 10.1.1.0. This is the first official release for Derby as a subproject of the Apache DB proejct. The build number of this release is 208786.
  24. [24]
    Apache Derby 10.5.3.0 Release
    Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. Derby functionality includes:<|control11|><|separator|>
  25. [25]
    Apache Derby 10.10.2.0 Release
    Apache Derby is a pure Java relational database engine using standard SQL and JDBC as its APIs. More information about Derby can be found on the Apache web ...Missing: 2011 | Show results with:2011
  26. [26]
    Apache Derby 10.14.1.0 Release
    Release Notes for Apache Derby 10.14.1.0 ... These notes describe the difference between Apache Derby release 10.14.1.0 and the preceding release 10.13.1.1.Missing: 10.0 | Show results with:10.0
  27. [27]
    Apache Derby 10.17.1.0 Release
    Derby release 10.17.1.0 was built using the following environment: Branch - Source code came from the 10.18 branch. Machine - Mac OSX 11.2.3.Distributions · Release Notes for Apache... · Overview · Bug Fixes
  28. [28]
    Java DB - FAQs - Oracle
    Java objects can be stored in the columns of Java DB tables. Q: Is Java DB a fork of Apache Derby? A: No, Java DB is Oracle's supported version of Apache ...Missing: 2006 | Show results with:2006
  29. [29]
    Derby Engine Architecture Overview - the Apache DB Project!
    There are four main code areas: JDBC, SQL, Store and Services. JDBC. JDBC presents the only api to Derby to applications and consists of implementations of the ...Missing: core | Show results with:core
  30. [30]
    Isolation levels and concurrency
    Lower isolation levels thus allow greater concurrency. Inserts, updates, and deletes always behave the same no matter what the isolation level is. Only the ...
  31. [31]
    Java EE compliance: Java Transaction API and javax.sql interfaces
    XA support. XA is one of several standards for distributed transaction management. It is based on two-phase commit. The javax.sql.XAxxx interfaces, along ...
  32. [32]
    [PDF] Getting Started with Derby - the Apache DB Project!
    Feb 4, 2020 · Derby provides users with a small-footprint standards-based database engine that can be tightly embedded into any Java based solution. Derby ...
  33. [33]
    Deployment options and threading and connection modes
    The way you deploy Derby affects the ways applications can use multi-threading and connections, as shown in the following table. Table 1. Threading and ...Missing: documentation | Show results with:documentation
  34. [34]
    Embedded server example
    ### Summary of Embedded Server Mode in Apache Derby
  35. [35]
    Derby Support for SQL-92 Features - the Apache DB Project!
    Jan 24, 2013 · Table 9 shows the SQL-92 features that Derby 10 supports. There are four levels of SQL-92 support: SQL92E. Entry. SQL92T.
  36. [36]
    SQL language reference - the Apache DB Project!
    Derby implements a subset of the SQL standard. This section provides an overview of the current SQL language by describing the statements, ...Missing: support | Show results with:support
  37. [37]
    Data types - the Apache DB Project!
    This section describes the data types used in Derby. The SQL type system is used by the language compiler to determine the compile-time type of an expression ...
  38. [38]
    Built-in functions - the Apache DB Project!
    Standard built-in functions. The standard built-in functions supported in Derby are as follows. · Aggregates (set functions) · ABS or ABSVAL function · ACOS ...
  39. [39]
    WINDOW clause - the Apache DB Project!
    The WINDOW clause allows you to refer to a window by name when you use a ROW NUMBER function in a selectExpression. See ROW_NUMBER function and selectExpression ...Missing: support | Show results with:support
  40. [40]
    sql - Apache Derby - Does it support 'WITH' - Stack Overflow
    Jul 11, 2017 · After some more research, I can confirm that Derby does not support recursive queries.Recursive CTE with window functions - sql - Stack OverflowSQL Implementation with Sliding-Window functions or Recursive CTEsMore results from stackoverflow.com
  41. [41]
    Isolation levels and concurrency - the Apache DB Project!
    Derby provides four transaction isolation levels. Setting the transaction isolation level for a connection allows a user to specify how severely the user's ...
  42. [42]
    Deadlocks - the Apache DB Project!
    Jan 24, 2013 · You configure the amount of time a transaction waits before Derby does any deadlock checking with the derby.locks.deadlockTimeout property.Deadlocks · Avoiding Deadlocks · Deadlock Detection · Lock Wait Timeouts
  43. [43]
    Limitations for database values - the Apache DB Project!
    The following table lists limitations on various database values in Derby. Table 1. Database limitations. Value, Limit. Maximum columns in a table, 1,012.
  44. [44]
    CREATE PROCEDURE statement - the Apache DB Project!
    The CREATE PROCEDURE statement allows you to create Java stored procedures, which you can then call using the CALL PROCEDURE statement.
  45. [45]
    Apache Derby 10.2.2.0 Release
    10.2.2.0 is a bug-fix release. It includes compiled versions of Derby's JDBC4 drivers, which appeared in the previous release only as source code.
  46. [46]
    Configuring LDAP authentication - the Apache DB Project!
    Parent topic: Configuring user authentication. Related concepts. Configuring NATIVE authentication · Specifying authentication with a user-defined class.
  47. [47]
    [PDF] Perform with Apache Derby
    Nov 16, 2004 · Server can slow down due to memory bloat and/or run out of memory!! ▫ Start network server in the JVM with the heaviest database access. ▫ Set ...
  48. [48]
    [PDF] Derby Tools and Utilities Guide - the Apache DB Project!
    Oct 22, 2023 · a database that do not follow the SQL Standard ... Derby provides the following JDBC drivers for use with the Derby database engine:.
  49. [49]
    [PDF] Derby Developer's Guide - the Apache DB Project!
    Oct 22, 2023 · Derby users who are not familiar with the SQL standard or the Java programming ... For detailed information about loading the Derby JDBC driver, ...
  50. [50]
    Building Derby
    Before building Derby, cd to the root of your Derby source distribution. That is the top level directory which contains the LICENSE and NOTICE files.Downloads · Simple Build
  51. [51]
    Derby JUnit tests - Confluence Mobile - Apache Software Foundation
    This page will describe how to run Derby JUnit tests, and how to write new JUnit tests for Derby. All features of the test harness related to JUnit testing ...
  52. [52]
    Using JConsole to access the Derby MBeans - the Apache DB Project!
    JConsole enables you to monitor and manage Java applications and virtual machines on a local or remote machine. More information about JConsole is available in ...Missing: jar | Show results with:jar
  53. [53]
    Using SQuirreL SQL Client with Derby - the Apache DB Project!
    Jul 14, 2006 · This paper discusses setting up SQuirreL to access Derby databases via the Derby Embedded Driver and Client Drivers with the 10.1 version of Derby.Missing: third- | Show results with:third-
  54. [54]
    List of All Supported Databases - DBeaver PRO
    Apache Derby / Java DB. Embedded database, written on Java. Supports standalone server mode. Microsoft Access. JDBC driver for embedded Microsoft Access ...Relational · Analytics · Cloud · Hadoop
  55. [55]
    Using DdlUtils to Migrate Databases to Derby - the Apache DB Project!
    Mar 16, 2006 · This paper provides a simple example for using DdlUtils to migrate a database to Derby using the DdlUtils Ant tasks.
  56. [56]
    DebugPropertiesTmpl - Apache
    You can use the property derby.debug.true and derby.debug.false to turn on or off debug options. Both properties take a comma separated list of strings as ...
  57. [57]
    Using Java DB in Desktop Applications - Oracle
    Learn how to deploy Java DB, based on the Apache Derby database, within desktop Java applications. The article uses the Address Book demo to show you how to ...
  58. [58]
    Embedded deployment application overview - the Apache DB Project!
    The Derby application accesses an embedded Derby database through the JDBC API. To connect, an application makes a call to the local Derby JDBC driver.
  59. [59]
    Getting Started With Apache Derby | Baeldung
    Oct 28, 2021 · A quick guide to the Apache Derby open-source relational database engine, this article discusses all the major aspects from installing and ...<|control11|><|separator|>
  60. [60]
    Speeding up your DBUnit tests with JavaDB - A Java geek
    Jun 8, 2008 · Apache Derby, is an open source relational database implemented entirely in Java. ... unit testing, as every quality method enforces its use.
  61. [61]
    Apache Derby - CelerData
    Sep 6, 2024 · Apache Derby is a relational database management system. The Apache Software Foundation developed Apache Derby. Developers often embed Apache Derby in Java ...
  62. [62]
    Introduction to Derby - the Apache DB Project!
    Derby provides users with a small-footprint standards-based database engine that can be tightly embedded into any Java based solution. Derby ensures data ...Missing: IoT | Show results with:IoT
  63. [63]
    About Apache Derby - IBM
    Apache Derby is a pure Java database server. The Apache Derby code base, which the open source community calls Derby, is a product of the Apache Software ...Missing: history | Show results with:history
  64. [64]
    Migrating Cloudscape database to Derby - IBM
    You can migrate Cloudscape database to Derby using the instructions provided here. IBM® Security Verify Directory Integrator Version 10.0.0 uses Apache Derby ...Missing: cases | Show results with:cases
  65. [65]
    Is Derby/Java DB included in Java 6? - Stack Overflow
    Jan 20, 2011 · The Derby (JavaDB) jars that are included in the JDK download are fine for use in any J2SE java app you might write, and you certainly don't ...Apache Derby/java db in jdk - Stack Overflowbundled JavaDB in java 8 setup - sql - Stack OverflowMore results from stackoverflow.com
  66. [66]
    Derby JDBC driver - the Apache DB Project!
    The Derby driver class name for the embedded environment is org.apache.derby.jdbc.EmbeddedDriver. In a Java application, you typically load the driver with the ...
  67. [67]
    Java Example Connect to Apache Derby (Java DB) with JDBC
    Jun 4, 2019 · If you are using Java 5.0 or earlier, you have to load the driver explicitly like this: Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
  68. [68]
    Derby dialect for hibernate - Stack Overflow
    Jun 20, 2013 · For versions of Derby after 10.7, the DerbyTenSevenDialect dialect would be the most appropriate, assuming no new Derby dialect classes are added.Latest Hibernate and Derby: Unable to make JDBC Connection"derby dialect has been deprecated" - Stack OverflowMore results from stackoverflow.com
  69. [69]
    Maven Repository: org.apache.derby
    Apache Derby Database Engine and Embedded JDBC Driver ; 10.17.x. 10.17.1.0 ; 10.16.x. 10.16.1.1 · 1 vulnerability ; 10.15.x. 10.15.2.0 · 1 vulnerability ; 10.15.x.
  70. [70]
    Java DB - Oracle
    Java DB is a distribution of the Apache Derby open source database. It supports standard ANSI/ISO SQL through the JDBC and Java EE APIs.Missing: fork 2006
  71. [71]
    Embedding Apache Derby in Tomcat and creating an iBATIS ...
    This article shows the steps required to embed Derby in a Tomcat version 5.5.12 Server and then deploy a copy of the iBATIS JPetStore application that utilizes ...
  72. [72]
    The JTA API - the Apache DB Project!
    The JTA API is made up of the two interfaces and one exception that are part of the java.transaction.xa package. Derby fully implements this API.
  73. [73]
    org.apache.servicemix.bundles.derby - Maven Repository
    This OSGi bundle wraps derby, derbyclient, and derbynet 10.17.1.0 jar files. License, Apache 2.0. Tags, databasebundleesbapacheosgi.
  74. [74]
    Shutting down Derby or an individual database
    Applications in an embedded environment shut down the Derby system by specifying the shutdown=true attribute in the connection URL.Missing: hooks | Show results with:hooks
  75. [75]
    How to shutdown embedded Derby which is defined as a ...
    Jan 8, 2015 · So, is there a way to define a shutdown-hook which executes shutdown procedure of Derby with recent WildFly? EDIT: I posted an instruction of ...How to shutdown Derby in-memory database ProperlyDoes Apache Derby have a graceful shutdown? - Stack OverflowMore results from stackoverflow.com