Newsgroup: it.comp.java
Titolo: DB open source

Ciao a tutti,
avrei bisogno di un vostro consiglio per scegliere su quale DB open
source orientarmi, nei seguenti due casi:
1) per alcune applicazioni avrei bisogno di un DB multi-utente, che
permetta senza problemi l'accesso concorrente ai dati.
2) per le applicazioni J2ME invece avrei bisogno di un piccolo DB
multi-piattaforma che non dia problemi di compatibilità.
In entrambi i casi, per garantire una semplice trasportabilità,
sarebbe ottimo un DB che non necessiti di installazione.
Spero mi possiate aiutare, grazie
Ciao

 multi-piattaforma che non dia problemi di compatibilità.
Ci sono i classici:
- HSQLDB: molto leggero e performante, ma un po' limitato;
- H2: evoluzione di HSQLDB; mi piace di più (lo uso anche per il mio
progetto open source), ma non è molto differente;
- Derby: molto sponsorizzato, molte feature, un po' più complicato e
pesante dei primi due.
Questo per rimanere nel mondo Java; non so quanto siano compatibili
con J2ME...
--
www.megadix.it


permetta senza problemi l'accesso concorrente ai dati.
PostgreSQL

, ma anche Oracle Express anche se non è OS.
Oracle Express AFAIK non è per applicazioni commerciali.

 multi-piattaforma che non dia problemi di compatibilità.
http://www.sqlite.org/
Ciao Jack
-- 
Eroi non si nasce, ti incastrano
- Jim Belushi

 il primo.
In quale caso sarebbe da preferire la scelta embedded con Firebird?
Servirebbe per annullare o semplificare il processo di installazione,
dato che è embedded?

 
http://www.sqlite.org/
A livello di portabilità/compatibilità è migliore Sqlite o H2 ?
Quale dei due è possibile utilizzare senza installazione?

 tool vari, ma lě sta a te valutare :)
Da notare che MySql ha una licenza abbastanza restrittiva: se fai del 
software commerciale closed source puoi ridistribuirlo con la tua 
l'applicazione solo se acquisti una licenza commerciale.
Uno potrebbe pensare di fornire l'applicazione con il solo connector e 
lasciare all'utente il compito di installarsi il server ma non puň fare 
neanche quello.
Il connector per Java (MySQL Connector/J) č rilasciato in GPL(vedi [1]), 
e non LPGL e quindi se la tua applicazione lo usa deve essere anch'essa 
in GPL cioé opensource.
[1] 
http://dev.mysql.com/downloads/connector/j/5.1.html
-- 
Andrea Francia
http://andreafrancia.blogspot.com/2008/07/colinux-linux-dentro-windows.html

 solo GPL.
E cosa ho scritto che non è in accordo con questa cosa?
La licenza del connector richiede espressamente che l'applicazione che 
usa il connector sia in GPL. Non è sufficiente che sia opensource deve 
essere GPL.


dato che è embedded?
Non tanto l'installazione, quanto la presenza vera e propria del
servizio db sul server. Con Firebird, per esempio, ti porti dietro
solo una libreria. Esiste la versione Embedded anche di MySQL, tanto
per completezza.

E cosa ho scritto che non è in accordo con questa cosa?
E' che il "cioè" può fuorviare: la licenza, come da specifiche del
produttore di MySQL, deve essere esplicitamente GPL, non c'è scritto
che la stessa cosa vale per altre licenze che pure vengono usate nel
mondo open source. Quindi chi ti legge non deve fraintedere che vada
bene qualunque licenza, perché si tratti di open source. Deve essere
GPL (e che GPL significhi open source è puramente incidentale).
Concordo con Manuel: sono cavilli; però sono cavilli pericolosi ;-)

mysql? 
Perché è indubbiamente più maturo, stabile, affidabile e soprattutto
scalabile. MySQL è *diventato* un RDBMS e con grandissimo ritardo;
PostgreSQL è nato tale. E dietro i due ci sono esperienze e competenze
diverse. MySQL non mi ha mai dato grandi problemi, ma è ancora per
molti versi immaturo e a volte ci sono dei comportamenti che lasciano
un po' perplessi (come il fatto che se qualcosa non gli quadra vada
giù di netto il server...). C'è anche da dire che nelle mailing list
degli sviluppatori di MySQL vengono fuori a volte certe chicche che
fanno strabuzzare gli occhi...


Ah ok.
Comunque il senso era quello, loro vogliono che sia GPL, e questo 
implica che devi aprire i tuoi sorgenti.
Forse dovevo mettere una virgola, o delle parentesi, ok.


On 21 Ago, 19:08, Andrea Laforgia

- PostgreSQL non esiste embedded? Dalla discussione pare di capire che
PostgreSQL è più maturo e stabile...
Quali sarebbero i vantaggi/svantaggi rispettivamente di PostgreSQL e
Firebird?
- Per le applicazioni J2ME avrei invece bisogno di un piccolo DB multi-
piattaforma possibilmente embedded. Quale mi consigliate?



Derby esiste in versione embedded ed è 100% Pure Java. Il massimo della 
portabilità.



Anche per J2ME??


Non lo so guarda sul loro sito.


 Firebird?
I vantaggi sono quelli di avere dei veri RDBMS. Svantaggi sinceramente non
ne vedo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ne vedo.
Avevi detto che sarebbe meglio orientarsi su PostgreSQL e/o Firebird.
Tra i due meglio il primo in ogni caso; il
secondo va bene se si sceglie la versione Embedded che non esiste per
il primo.
Domanda: ammesso che in altre circostanze non mi serva embedded,
perchè sarebbe meglio PostgreSQL rispetto a Firebird?

perchč sarebbe meglio PostgreSQL rispetto a Firebird?
Perché lo ritengo migliore qualitativamente, piů supportato, piů
diffuso.

 diffuso.
Posto che la qualita` tra uno e l'altro e` parecchio soggettiva,
PostgreSQL ha da la sua un maggiore supporto, una maggiore diffusione e,
conseguentemente, una maggiore velocita` di sviluppo (a titolo
d'esempio, per la risoluzione un bug da me riscontrato e segnalato[1],
ci volle un anno). C'e` comunque da dire che quelli di Firebird si sono
dati una roadmap, e da quello che vedo la rispettano piu` o meno
continuativamente
Enrico
[1] il bug era relativo all'uso dei PreparedStatement (di fatto, non era
possibile utilizzarli)

Posto che la qualita` tra uno e l'altro e` parecchio soggettiva,
Non lo credo. La qualità è qualità. Quasi sempre è riscontrabile in
termini oggettivi, non soggettivi. 

 --
www.megadix.it
Come DB embedded ho provato sia Derby che H2. Girano bene entrambi, ma
sembrerebbe superiore H2, almeno in termini di velocità. La differenza
di performance è davvero notevole...
Sul sito di H2 (
www.h2database.com
) c'è un grafico che paragona la
performance di H2 con i più diffusi DBMS, e H2 risulta vincitore. A
questo punto, perchè utilizzare DBMS come MySql o PostgreSQL quando H2
li batte entrambi?

li batte entrambi?
Per lo stesso motivo per cui sul sito del mio oste c'č un grafico che
mostra quanto il suo vino č migliore degli altri...

 mostra quanto il suo vino è migliore degli altri...
:-)
Comunque ho personalmente notato una notevole differenza di
performance tra H2 e Derby...
Hai già effettuato paragoni con MySql e PostgreSQL?

 Oracle Express AFAIK non è per applicazioni commerciali.
Sì, lo è. Può essere liberamente distribuito come parte di
un'applicazione commerciale.
Y.

un'applicazione commerciale.
Hai un link ufficiale?

 Hai un link ufficiale?
http://www.oracle.com/technology/products/database/xe/pdf/dbxe_faq.pdf
Y.