2008-10-14 9 views
6

Tengo una aplicación Java configurada como un servicio para hacer minería de datos contra ~ 3GB de datos cada pocas horas. Me gustaría que esto ocurra al 100% en la memoria. Idealmente, quiero que la aplicación esté aislada de todo; Quiero que construya la base de datos, haga la extracción que necesito y derribe la base de datos cuando esté lista.100% en la base de datos HSQL en memoria

Sin embargo, con HSQLDB, incluso cuando utilizo el comando "crear tabla de memoria ...", se escribe un registro de todas las declaraciones y la tabla se vuelve a crear la próxima vez que se ejecuta la aplicación.

Estoy haciendo MUCHAS inserciones, ~ 150k +, por lo que este archivo crecerá rápidamente de tamaño. Tampoco me importa reconstruir la base de datos en la próxima ejecución, por lo que el registro es inútil para mí.

Podría simplemente eliminar el archivo cuando haya terminado, pero si es posible, me gustaría evitar tener que escribir tanto en el disco.

¿Hay alguna manera de desactivar esta función?

¡Gracias de antemano!

+0

¿De qué registro está hablando? – abarax

+0

y estás usando Hibernate para crear las tablas? o JDBC? – abarax

Respuesta

7

No hay problema, basta con abrir la conexión de base de datos de este modo:

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

Para obtener más información, consulte la HSQL docs.

Cuestiones relacionadas