2010-06-11 17 views
7

Desidero utilizzare HSQLDB in un ambiente di produzione per il recupero di alcuni dati in memoria e l'esportazione di dati tramite file. Qualcuno ha esperienza con l'utilizzo di hsqldb negli ambienti di produzione? Hsqldb tratta le risorse del server con garbo e pulisce correttamente le risorse inutilizzate?Utilizzo di HSQLDB negli ambienti di produzione

ho visto un post critica su questi temi dal cappello rosso e mi chiedo se questo detiene ancora per HSQLDB: hsql

http://kbase.redhat.com/faq/docs/DOC-15194

+0

Nota che Red Hat (JBoss) usa HSQL in un modo specifico - come un DB predefinito per il suo Application Server, che memorizza lì tutti i tipi di cose - ad es. Code JMS, che, per buone prestazioni, hanno davvero bisogno di un database altamente ottimizzato e scalabile. –

+0

Si noti inoltre che l'articolo è stato spostato: http://community.jboss.org/wiki/HypersonicProduction –

risposta

4

ho usato in numerose occasioni nella produzione (principalmente come veloce archiviazione basata su file per preferenze complesse) e non ha mai riscontrato alcun problema.

5

Non so su HSQLDB ma abbiamo utilizzato H2 per gli stessi scopi senza alcun problema.

3

Posso confermare alcuni dei problemi elencati nella pagina di Red Hat.

Abbiamo riscontrato problemi con l'uso di HSQLDB come istanza autonoma in un contenitore Tomcat. L'applicazione non si spegne correttamente e si blocca al 100% della CPU. C'era una correzione del codice, però.

Abbiamo anche avuto problemi nel caso in cui alcuni dati fossero persi dopo la morte forzata del server. Non riuscivo a riprodurre in modo affidabile le situazioni.

Ho anche una certa stranezza che non è possibile avviare più istanze della stessa applicazione utilizzando HSQLDB allo stesso tempo.

È necessario valutare se un DB autonomo in memoria è la scelta giusta. Se la coerenza e l'integrità sono essenziali, HSQLDB potrebbe non essere la scelta giusta.

3

Si è verificato un danneggiamento del database (l'intero database è stato perso) alcune volte più di un anno utilizzando HSQLDB quando non è stato chiuso in modo pulito.