Waarom zijn Derby en MySQL de enige RDMBS die u overweegt? Als je zegt Derby , moet u HSQLDB eens bekijken , H2 , SQLite ook. Als je zegt MySQL , moet je Postgres . eens bekijken ook (die veel meer functies heeft).
Dit is om maar een paar gratis RDBMS te noemen. Natuurlijk, zoals Charlie het al zei, zijn er nog veel meer en veel redenen om beide kanten op te gaan. Bekijk deze (IMO uitstekende) vergelijkingspagina op Wikipedia, waar u de voordelen en beperkingen van elk RDBMS vindt:
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
Wat betreft uw vereiste dat uw webapp "downloadbaar" is, kunt u natuurlijk een RDBMS (een van Derby, H2, HSQLDB) in uw webapp insluiten. Maar je kunt ook gewoon je MySQL of Postgres of welke integratie dan ook configureerbaar maken en je downloaders instructies geven over hoe ze je webapp zelf kunnen instellen. Immers, wanneer u een container-geconfigureerde DataSource
. gebruikt voor uw webapp kan deze configuratie eenvoudig worden gedaan.
Nu, zelfs als je denkt dat het misschien makkelijker voor je is om je webapp te ontwikkelen met een embedded database, moet je altijd een stap vooruit denken. Vragen als:
- Kunt u rechtstreeks verbinding maken met die database om inconsistenties in de gegevens gemakkelijk te corrigeren? (Het zal ons allemaal overkomen)
- Kunt u het schema gemakkelijk wijzigen?
- Kunt u gemakkelijk een back-up van uw gegevens maken?
- etc etc... er zijn ook meer onderhoudsvragen
Aangezien uw opmerkingen suggereren dat uw gegevens in de loop van de tijd toenemen en dit zou moeten blijven, zou ik geen ingebedde versie kiezen, maar de gegevens gescheiden houden van de toepassing. Houd er rekening mee dat Derby niet wordt uitgesloten van uw toepassingsontwerp. Het betekent alleen dat je Derby als een zelfstandige server moet draaien.