Mysql
 sql >> Base de données >  >> RDS >> Mysql

Derby ou MySQL ou... ?

Pourquoi Derby et MySQL le seul RDMBS que vous considérez ? Si vous dites Derby , vous devriez consulter HSQLDB , H2 , SQLite aussi bien. Si vous dites MySQL , vous devriez consulter Postgres ainsi (qui a beaucoup plus de fonctionnalités).

C'est juste pour nommer quelques SGBDR gratuits. Bien sûr, comme Charlie l'a déjà dit, il y en a beaucoup d'autres et beaucoup de raisons d'aller dans les deux sens. Consultez cette page de comparaison (excellent IMO) sur Wikipedia, où vous trouverez les avantages et les limites de tout SGBDR :

http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

En ce qui concerne votre exigence concernant le fait que votre application Web soit "téléchargeable", vous pouvez bien sûr intégrer un SGBDR (n'importe lequel de Derby, H2, HSQLDB) dans votre application Web. Mais vous pouvez également simplement configurer votre MySQL ou Postgres ou toute autre intégration et donner à vos téléchargeurs des instructions sur la façon de configurer eux-mêmes votre application Web. Après tout, lorsque vous utilisez un conteneur DataSource configuré pour votre webapp, cette configuration peut se faire facilement.

Maintenant, même si vous pensez qu'il pourrait être plus facile pour vous de développer votre application Web avec une base de données intégrée, vous devriez toujours avoir une longueur d'avance. Des questions telles que :

  • Serez-vous en mesure de vous connecter directement à cette base de données, afin de corriger facilement les incohérences de données ? (Cela nous arrivera à tous)
  • Seriez-vous capable de modifier facilement le schéma ?
  • Pouvez-vous facilement sauvegarder vos données ?
  • etc etc... il y a aussi d'autres questions de maintenance

Étant donné que vos commentaires suggèrent que vos données augmentent avec le temps et qu'elles devraient persister, je ne choisirais pas une version intégrée, mais je garderais les données séparées de l'application. Notez que cela n'exclut pas Derby de la conception de votre application. Cela signifie simplement que vous devrez exécuter Derby en tant que serveur autonome.