- Apache Derby
-
Apache Derby Maintainer Knut Anders Hatlen et al. Entwickler Apache Software Foundation Aktuelle Version 10.8.2.2
(24. Oktober 2011)Betriebssystem Plattformunabhängig Programmiersprache Java, SQL Kategorie Datenbank, Java Lizenz Apache License 2.0 db.apache.org/derby Apache Derby ist ein Projekt der Apache Software Foundation, das ein Java-basiertes, relationales Datenbank-Management-System entwickelt. Derby gehört zu den leichtgewichtigen Datenbanken, da es sehr einfach installierbar ist und bei der Auslieferung nur zwei Megabyte Größe hat. Derby kommt hauptsächlich, aber nicht ausschließlich in Java-Projekten zum Einsatz.
Inhaltsverzeichnis
Geschichte
Die Software wurde ursprünglich von der Firma Cloudscape Inc., in Oakland (Kalifornien) unter dem Namen JBMS entwickelt. Die erste Version wurde 1997 veröffentlicht. Das Produkt wurde später in „Cloudscape“ umbenannt.
1999 wurde Cloudscape von der Firma Informix Software Inc. gekauft, deren Datenbanksparte 2001 von IBM übernommen wurde. 2004 übereignete IBM die Cloudscape-Software der Apache Software Foundation unter dem Namen „Derby“ als Freie Software.
Ab Anfang 2005 beteiligte sich auch Sun Microsystems an Derby. 2006 wurde Derby als Java DB im Java Development Kit ab Java 6 integriert und wird auch von Sun Microsystems unterstützt.
Produktmerkmale
Die wesentlichen Ziele von Derby sind:
- Größe
- Der Datenbankkern in derby.jar ist komprimiert etwa 600 kB groß.
- Plattformunabhängigkeit
- Da Derby zu 100 % in Java realisiert ist läuft es auf einer Vielzahl von Plattformen
- Einfachheit
- Da Derby auch ohne Administrator eingesetzt werden kann, lässt es sich einfach installieren und integrieren
- Standardbasiert
- Starke Unterstützung von Standards (Java, JDBC und ANSI SQL). Derby unterstützt die Standards SQL92, SQL99 vollständig und z.T. SQL2003, SQL2006 und SQL2008. Als Programmierschnittstelle für Java wird JDBC in den Versionen JDBC 2.1, 3.0, 4.0 und 4.1 unterstützt. Darüber hinaus werden die Java-Standards JCE, JME, JSR-169 (JDBC Optional Package for CDC/Foundation Profile) und OSGi unterstützt. Als Programmierschnittstelle für C, C++ etc. wird über das XA/DRDA-Protokoll ODBC unterstützt.
- Kompatibel
- Die Inhalte von Derby-Datenbanken sind betriebssystemübergreifend kompatibel. Man kann also beispielsweise auf Betriebssystem A eine Datenbank erstellen, die Dateien auf ein Betriebssystem B kopieren und dort weiterarbeiten. Bei den meisten herkömmlichen Datenbanken müsste dagegen erst ein sogenannter Dump der Datenbank auf A erstellt werden, der mit einem Import- oder Recovery-Werkzeug auf B eingespielt werden müsste.
- Verschlüsselung
- Derby unterstützt die Verschlüsselung sowohl der Kommunikation mit der Datenbank als auch der Datenbank-Files selbst.
- Stored Procedures und Triggers in Java
- Da die Datenbank selbst in Java geschrieben ist, ist es möglich Stored Procedures, Datenbanktrigger und Tabellen-Funktionen in Java zu schreiben. Damit ist es beispielsweise möglich, Constraints der Businesslogik in der Datenbank wiederzuverwenden.
Apache Derby in Java Anwendungen
Bei der Entwicklung von Java-Anwendungen spricht man Derby über JDBC an. Derby bietet einen eingebetteten JDBC-Modus und einen Netzwerk-JDBC-Modus an. Bei ersterem läuft die Derby Datenbank im selben Prozess derselben Java Virtual Machine wie die Applikation. Beim Netzwerk-JDBC-Modus (Typ-4 JDBC Treiber) können andere Java-Anwendungen über TCP/IP auf einen Derby Netzwerk Server zugreifen, welcher wiederum über DRDA auf eine Derby-Datenbank zugreift. Hierbei kann Derby auch als Master-Slave-Cluster betrieben werden, um dadurch eine höhere Ausfallsicherheit zu erreichen. Als dritter Modus kann Derby die Datenbank, statt auf der Festplatte, auch im Hauptspeicher halten. Dieser In-Memory-Datenbank-Modus ist insbesondere bei Tests und nicht sofort zu persistierenden Daten interessant, da er eine weitaus höhere Performance bietet als andere Modi. Da alle drei Modi die gleiche Datenbankstruktur verwenden, kann z.B. eine eingebettete Datenbank auch als Netzwerkdatenbank oder direkt im Hauptspeicher verwendet werden, je nachdem wie die Datenbank gestartet wird.
Werkzeuge
- ij
- zum Ausführen von JDBC-/SQL-Skripten
- dblook
- zum Extrahieren des Datenbankschemas
- sysinfo
- Hilfsprogramm, um Versionsnummern und den Klassenpfad anzuzeigen
Siehe auch
- HSQLDB - alternative kleine Java Datenbank
- McKoi
- Eingebettetes Datenbanksystem
Weblinks
- offizielle Webpräsenz mit Produktinformation, Dokumentation
- SQL-Unterstützung: wiki.apache.org/db-derby/SQLvsDerbyFeatures
- JDBC-Unterstützung: wiki.apache.org/db-derby/JDBCSupport
Kategorien:- Freies Datenbankmanagementsystem
- Relationales Datenbankmanagementsystem
- Apache-Projekt
- Java-Programm
- Java-Bibliothek
Wikimedia Foundation.