Apache Derby

from Wikipedia, the free encyclopedia
Apache Derby

Derby-logo-web.png
Basic data

Maintainer Knut Anders Hatlen et al.
developer Apache Software Foundation
Publishing year 1997, March 29, 2006
Current  version 10.15.2.0
( March 1, 2020 )
operating system Platform independent
programming language Java
category Database , Java
License Apache license, version 2.0
db.apache.org/derby/

Apache Derby is a project of the Apache Software Foundation , which is developing a Java -based relational database management system of the same name . Derby is one of the lightweight databases because it is only two megabytes in size when it is delivered and is very easy to install. Derby is mainly, but not exclusively, used in Java projects.

history

The software was originally developed by Cloudscape Inc. in Oakland (California) under the name JBMS. The first version came out in 1997. The product was later renamed "Cloudscape".

In 1999, Cloudscape was bought by Informix Software Inc., whose database division was taken over by IBM in 2001 . In 2004, IBM transferred the Cloudscape software to the Apache Software Foundation under the name "Derby" as Free Software.

From the beginning of 2005, Sun Microsystems also participated in Derby. In 2006 Derby was integrated as Java DB in the Java Development Kit from Java 6 .

Product features

The main characteristics of Derby are:

size
The database kernel in derby. jar is about 600 kB when compressed.
Platform independence
Since Derby is implemented 100% in Java, it runs on a variety of platforms
simplicity
Derby doesn't need an administrator, it's easy to install and integrate
Standards based
Strong support of standards (Java, JDBC and ANSI SQL ). Derby fully supports the standards SQL92, SQL99 and partially SQL2003, SQL2006 and SQL2008. JDBC versions JDBC 3.0 to 4.2 are supported as the programming interface for Java. In addition, the Java standards JCE , JME , JSR -169 (JDBC Optional Package for CDC / Foundation Profile), Compact Profile2 (JEP 161) and OSGi are supported. The XA / DRDA protocol supports ODBC as the programming interface for C, C ++ etc.
Compatible
The contents of Derby databases are compatible across operating systems. For example, you can create a database on operating system A, copy the files to operating system B and continue working there. In the case of most conventional databases, on the other hand, a so-called dump of the database would first have to be created on A, which would then have to be imported onto B with an import or recovery tool.
Encryption
Derby supports the encryption of both the communication with the database and the database files themselves.
Stored Procedures and Triggers in Java
Since the database itself is written in Java, it is possible to write stored procedures , database triggers and table functions in Java. This makes it possible, for example, to reuse business logic constraints in the database.

Apache Derby in Java Applications

Java applications address Derby via the JDBC interface. Derby knows an embedded JDBC mode and a network JDBC mode. In the first case, the Derby database runs on the same Java virtual machine and in the same process as the application. With a Derby database operated in network JDBC mode ( type 4 JDBC driver ), on the other hand, other Java applications access a Derby network server via TCP / IP , which in turn accesses the Derby database via DRDA . Derby can also be operated as a master-slave cluster in order to achieve a higher level of reliability.

In a third mode, Derby can keep the database in main memory instead of on the hard disk. This in-memory database mode is particularly advantageous for tests or if the data does not have to be persisted immediately, because individual database access is much faster in this operating mode than in the other modes. Since Derby uses the same database structure in all three modes, an embedded database can also be operated as a network database or as an in-memory database; it is just started differently.

Tools

ij
for running JDBC / SQL scripts
dblook
to extract the database schema
sysinfo
Utility to display version numbers and the class path
Eclipse plug-in
Database tools from Eclipse calls, add Derby view

See also

Web links

  1. projects.apache.org . (accessed on April 8, 2020).
  2. db.apache.org . (accessed June 20, 2020).
  3. The apache_derby Open Source Project on Open Hub: Languages ​​Page . In: Open Hub . (accessed on September 26, 2018).
  4. projects.apache.org . In: Open Hub . (accessed on April 8, 2020).