2008-10-14 2 views
6

Ich habe eine Java-Anwendung als ein Dienst eingerichtet, Data Mining gegen ~ 3 GB Daten alle paar Stunden zu tun. Ich möchte, dass dies zu 100% im Speicher geschieht. Idealerweise möchte ich, dass die Anwendung von allem isoliert ist. Ich möchte, dass es die Datenbank erstellt, den benötigten Mining ausführt und die Datenbank abreißt, wenn sie fertig ist.100% In-Memory-HSQL-Datenbank

Mit HSQLDB, auch wenn ich den Befehl "create memory table ...." verwende, wird ein Protokoll aller Anweisungen geschrieben und die Tabelle wird neu erstellt, wenn die Anwendung das nächste Mal ausgeführt wird.

Ich mache eine Menge Einfügungen, ~ 150k +, so wird diese Datei schnell in der Größe wachsen. Es macht mir auch nichts aus, die Datenbank beim nächsten Lauf zu rekonstruieren, daher ist die Protokollierung für mich nutzlos.

Ich könnte nur die Datei löschen, wenn ich fertig bin, aber wenn möglich würde ich vermeiden, so viel auf die Festplatte schreiben zu müssen.

Gibt es eine Möglichkeit, diese Funktion zu deaktivieren?

Vielen Dank im Voraus! so

+0

Über welches Protokoll sprichst du? – abarax

+0

und verwenden Sie Hibernate zum Erstellen der Tabellen? oder JDBC? – abarax

Antwort

7

Kein Problem, öffnen Sie einfach die Datenbankverbindung:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", ""); 

Weitere Informationen finden Sie in der HSQL docs.