HSQLDB 2.0 sarà presto rilasciato. Mi chiedo se supererà l'H2 dato che, per quanto ne so, la maggior parte degli utenti preferisce H2 rispetto a HSQLDB. Sono interessato al supporto MVCC di HSQLDB 2.0. Ho imparato che MVCC su H2 è ancora sperimentale. Per quanto riguarda il supporto/documentazione, concorrenza, prestazioni, che è meglio tra i due?Quale è meglio H2 o HSQLDB?
risposta
Entrambi HyperSQL
e H2 Database
sono abbastanza trasparenti, pertanto il test può essere l'approccio migliore per determinare quale sia più adatto per un uso particolare. Sono disponibili confronti tra one e other. Condividono un numero comune heritage ed entrambi sono opensource.
"il cestino è un importante strumento di progettazione" - [_ loc. cit._] (http://stackoverflow.com/a/22259102/230513) – trashgod
Grazie per il link "patrimonio". Riassumono abbastanza bene la storia. Prima è arrivato HSQLDB (Hypersonic SQL), poi è arrivato H2, ma HSQLDB e H2 non condividono nessuno degli stessi codici e sono progetti separati a partire da oggi. – specialk1st
@ specialk1st: Giusto, il _heritage_ in questo caso è un autore comune, non un codice comune. – trashgod
Io sono lo sviluppatore di una libreria di astrazione del database (jOOQ), che supporta entrambi i database. I miei 130+ test di integrazione coprono un sacco di funzionalità, tra cui la chiamata di stored procedure e funzioni, array, selezioni nidificate, ecc. Provo HSQLDB 2.1
per essere leggermente più veloce di H2 1.3
per piccoli database per quanto riguarda DML.
Tuttavia, HSQLDB sorpassa altamente H2 in operazioni DDL così come all'avvio/spegnimento del caso, anche per un piccolo database (a causa di funzioni di compilazione immagazzinata di H2 da capo con javac ad ogni avvio del database!). Questo dipende dal modo in cui si memorizzano le funzioni memorizzate. Apparentemente, questo è un "problema" specifico per JOOQ, vedi anche il commento di Thomas Mueller.
D'altra parte, sono d'accordo con l'utente trashgod, si dovrebbe testare le prestazioni con uno schema ragionevole e caso d'uso per te.
Le funzioni memorizzate vengono ricompilate solo se vengono memorizzate "come codice sorgente", che è una funzionalità che non è disponibile in HSQLDB (per quanto ne so). Se si utilizzano funzioni memorizzate precompilate, non esiste un sovraccarico. –
@ThomasMueller: Grazie, non lo sapevo. Ciò contribuirà ad accelerare i miei test di integrazione, in maniera massiccia. Adatterò la mia risposta di conseguenza. HSQLDB ha un linguaggio procedurale simile a PL/SQL, che è più potente IMO. Non sono sicuro, però, se questa lingua è precompilata o interpretata ... –
- 1. Visualizza contenuto del database in memoria H2 o HSQLDB
- 2. Quale è meglio usare ViewState o hiddenfield
- 3. Quale è meglio: mysql_connect o mysql_pconnect
- 4. Quale è meglio: PooledConnectionFactory o CachingConnectionFactory?
- 5. Quale è meglio - PyInstaller o cx_Freeze?
- 6. Quale è meglio? OpenCyc o ConceptNet?
- 7. Quale è meglio, ETL o ELT?
- 8. Quale è meglio PHP SOAP o NuSOAP?
- 9. Quale è meglio?
- 10. Quale è meglio ... join esterno sinistro o join esterno destro?
- 11. Quale è meglio per prestazioni viewstate o sessione
- 12. Quale è meglio? App nativa o app ibrida?
- 13. Quale è meglio sintassi java: if (isSomething() == false) {{o se
- 14. Quale è meglio: sequenza globale singola o sequenza per tabella?
- 15. Quale è meglio usare Sencha Touch o PhoneGap per Android?
- 16. UIImageView setImage o setBackgroundColor, quale è meglio in iOS
- 17. AngularJS - Quale è meglio, $ emit/$ on o portata ereditaria?
- 18. Quale è meglio per Windows? pthreads o CreateMutex?
- 19. Quale è meglio usare array o Elenco <>?
- 20. Quale è meglio in python, del o delattr?
- 21. Quale è meglio usare in CSS, percentuale o pixel?
- 22. "if" e "#if"; quale è meglio usare
- 23. Quale è meglio? private static vs privato
- 24. Magento o Prestashop, che è meglio?
- 25. NAnt o TFS build che è meglio?
- 26. PHP - uscita o ritorno che è meglio?
- 27. Che è meglio, ExpectedException o @Test (expected =
- 28. Quale è meglio, lista bianca o sicurezza lista nera, o entrambi?
- 29. Quale è meglio: Iniezione delle dipendenze + Registro o Iniezione delle dipendenze o Registro globale?
- 30. Qual è il più usato? RSS o Atom? e da quale è meglio costruire?
Qual è il tuo caso d'uso? Quali domande eseguirai rispetto ai tuoi dati? Quanto sono grandi i tuoi dati? La tua applicazione legge o scrive pesante? – Matt
Un'altra domanda perfettamente valida chiusa. – rtcarlson
Trovo affascinante che l'attenzione per le risposte sembra essere la performance, nonostante la domanda la menzioni solo come uno degli aspetti. Sarei molto più interessato ad altre aree da supporto/doc, usabilità (facilità d'uso, intuitività, set di funzionalità), affidabilità e così via. – StaxMan