Apache Derby
Apache Derby
|
|
---|---|
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
- HSQLDB - alternative small Java database
- McKoi
- Embedded database system
Web links
- official website with product information, documentation
- SQL support: wiki.apache.org/db-derby/SQLvsDerbyFeatures
- JDBC support: wiki.apache.org/db-derby/JDBCSupport
- ↑ projects.apache.org . (accessed on April 8, 2020).
- ↑ db.apache.org . (accessed June 20, 2020).
- ↑ The apache_derby Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed on September 26, 2018).
- ↑ projects.apache.org . In: Open Hub . (accessed on April 8, 2020).