HsqlDB  
 
HsqlDB
Überblick über das HsqlDB-PluginPDF
 
Von:
Peter Roßbach  <pr@objektpark.de>
Thorsten Kamann  <thorsten.kamann@planetes.de>
 
Die HSQLDB In-Memory Datenbank

Inhalt:


Idee der HSQLDB

Es ist immer gut eine Datenbank in der nähe zu haben. Wir haben uns entschlossen für die Entwicklung auf eine sehr kleine Java RDBMS Hypersonic SQL zu setzen. Die Datenbank ist 100% in Java geschrieben und läßt sich deshalb prima direkt in die Centaurus-Platform integrieren.

Die Datenbank wird auch für sämtliche Nutzeraccounts (Management-Konsole, JmxAdpator) genutzt. Während der Installation wird die Datenbank installiert. Das zu Grunde liegende SQL-Skript finden Sie unter ${centaurus.base}/conf/sql/centaurus-platform.sql.



Die Lösung ist ein konfiguierbarer HSQLDB

Folgende Nutzung mit HSQL im Tomcat sind möglich:

Realm Konfiguration eines JDBC-Realms
Realm-Konfiguration
Resource: Web Anwendungen mit Datenbank JNDI-Ressourcen
JDBC-Datasource
SessionManager Session Manager Store mit JDBC
JDBCAccessLogValve Beispiel JDBC Access Log-Valve erschienen in der TomC@ Kolumne 03/04 des JavaMagazins



HsqlDB eine Übersicht
Klicken Sie auf das Bild für die Vollansicht



Funktionsweise

Wir nutzen die HSQLDB-Bibliotheken des HSQLDB-Projekts. Die Integration in den Tomcat erfolgt über die Datei ${centaurus.base}/conf/server.xml.
Suchen Sie dort den entsprechenden Listener-Eintrag:
<Listener className="de.centaurus.platform.plugins.hsqldb.HsqlDBLifecycleListener" ... />
Nach der Standardinstallation steht die HsqlDB unter dem Port 9150 bereit.



Parameter des HsqlDB-Listeners

Folgende Parameter können Sie konfigurieren:

Allgemeine Parameter

debug (Standard: 1).
enabled Aktivierung des Apdators (Standard: true)
port Port unter dem der HSQLDB-Adaptor erreichbar ist (Standard: 9150)
host Die Datenbank kann auch auf bestimme Interfaces beschränkt werden.(Standard: localhost). Mit einer Angabe von 0.0.0.0 lauscht HsqlDB auf allen Interfaces des jeweiligen Rechner und ist von überall erreichbar!
databaseName Name der Datenbank(centaurus)
databasePath Verzeichnis für die Daten der Datenbank ($centaurus.base/data/centaurus/db_data)
Note
Den Admin- und Benutzeraccount haben Sie bei der Installation angegeben.
Falls Sie diese nicht mehr wissen, können Sie die in ${centaurus.base}/conf/install.properties nachsehen.


HsqlDB-Tool

Damit Sie mit der HsqlDB-Datenbank auch arbeiten können, haben wir einige Tools für Sie bereitgestellt. Diese Tools finden Sie im Verzeichnis ${centaurus.base}/scripts/hsqldb/.

hsqldb_execute.[bat|sh] Gibt Ihnen die Möglichkeit ein SQL-Statement auszuführen.

Dieses Tool ist für den Einsatz auf Servern ohne grafische Unterstützung gedacht.
hsqldb_execute_auto.[bat|sh] Führt ein SQL-Staement, das sich in einer Datei befindet, aus. Den Pfad zu der Datei muss als Parameter mitgegeben werden:
hsqldb_execute_auto.[bat|sh] /home/test/test.sql

Dieses Tool ist für den Einsatz auf Servern ohne grafische Unterstützung gedacht.
hsqldb_execute_script.[bat|sh] Führt ein SQL-Statement, das sich in einer Datei befindet, aus. Den Pfad zu der Datei wird abgefragt.

Dieses Tool ist für den Einsatz auf Servern ohne grafische Unterstützung gedacht.
hsqldb_manager.[bat|sh] Startet den Datenbank-Manager. Dort können Sie alles mit der Datenbank machen.

Dieses Tool ist für den Einsatz auf Servern mit grafische Unterstützung gedacht.
hsqldb_query.[bat|sh] Ermöglicht es Ihnen SQL-Statements auszuführen.

Dieses Tool ist für den Einsatz auf Servern mit grafische Unterstützung gedacht.
hsqldb_tools.[bat|sh] Alle Tools basieren auf einem Ant-Skript, welches sich im Verzeichnis ${centaurus.base}/scripts/hsqldb/ant befindet. Dieses Skript bietet Ihnen die Auswahl aus allen verfügbaren Tools.