Derby

Derby is a lightweight relational database implemented completely in Java. Using the JDBC driver provided, Derby can be embedded in any Java applications.

History

In 1997, Cloudscape Inc., a start-up in Oakland, California, developed a database engine called JBMS, which was later renamed as Cloudscape. From 1999 to 2001, Cloudscape was acquired first by Informix Software, and by IBM, and its name was changed to IBM Cloudscape. In 2004, IBM contributed the code to the Apache Software Foundation as Derby. In 2005, Derby became a Apache DB subproject.

Checkpoints

Fuzzy

Derby implements ARIES with slight variance. It allows fuzzy checkpointing. However, unlike ARIES implementation, it does not store a dirty page list in checkpoint records. Instead, during checkpoint, Derby flushes all database pages to disk. The checkpoint control files contains "undoLWM" and "RedoLWM". "UndoLWM" is set as the the starting LSN of the oldest active transaction when checkpoint starts, and "RedoLWM" is the the current LSN of the checkpoint.

Query Interface

SQL

Data Model

Relational

Logging

Physiological Logging

Derby implements a combination of physical and logical logging. For actions on the same page, it uses physical logging. For BTree operations, which might affect several pages, it uses physical redo and logical undo.

Derby Logo
Website

http://db.apache.org/derby/

Source Code

https://github.com/apache/derby

Tech Docs

http://db.apache.org/derby/manuals/index.html

Developer

Cloudscape Inc.

Country of Origin

US

Start Year

1997

Former Name

JBMS, Cloudscape, Java DB

Acquired By

Cloudscape Inc.

Project Type

Open Source

Written in

Java

Supported languages

Java

Derived From

Aerospike

Operating Systems

All OS with Java VM

Licenses

Apache v2

Wikipedia

https://en.wikipedia.org/wiki/Apache_Derby