Hvorfor er Derby og MySQL den eneste RDMBS du overvejer? Hvis du siger Derby , bør du tjekke HSQLDB , H2 , SQLite såvel. Hvis du siger MySQL , bør du tjekke Postgres også (som har mange flere funktioner).
Dette er blot for at nævne nogle gratis RDBMS. Selvfølgelig, som Charlie allerede sagde det, er der masser af andre og masser af grunde til at gå begge veje. Tjek denne (IMO fremragende) sammenligningsside på Wikipedia, hvor du vil finde fordele og begrænsninger ved enhver RDBMS:
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
Hvad angår dit krav om, at din webapp kan "downloades", kan du selvfølgelig indlejre en RDBMS (enhver af Derby, H2, HSQLDB) i din webapp. Men du kan også bare gøre din MySQL eller Postgres eller hvilken som helst integration konfigurerbar og give dine downloadere instruktioner om, hvordan de selv opsætter din webapp. Når alt kommer til alt, når du bruger en container-konfigureret DataSource
for din webapp kan denne konfiguration gøres let.
Nu, selvom du tror, det kan være nemmere for dig at udvikle din webapp med en indlejret database, bør du altid tænke et skridt foran. Spørgsmål som:
- Vil du være i stand til at oprette forbindelse til databasen direkte for nemt at rette op på datainkonsekvenser? (Det vil ske for os alle)
- Vil du nemt kunne ændre skemaet?
- Vil du nemt kunne sikkerhedskopiere dine data?
- osv osv... der er også flere vedligeholdelsesspørgsmål
Da dine kommentarer tyder på, at dine data stiger over tid, og de burde fortsætte, ville jeg ikke vælge en indlejret version, men holde dataene adskilt fra applikationen. Bemærk, at dette ikke udelukker Derby fra dit applikationsdesign. Det betyder bare, at du skal køre Derby som en selvstændig server.