Derby ou MySQL ou ...?
Pour ce type de besoins vous choisissez Apache Derby (ou Java DB) sur la base (ou vice versa)? Je regardai autour de moi et les gens il suffit de comparer les deux, mais personne n'en parle lors d'envisager de chacun. Je développe une application web à l'aide de Glassfish + Java/Restlet + MySQL.
J'attends autour de 100 à 200 utilisateurs de ce système avec une charge d'environ 30 à 50 utilisateurs simultanés à un moment donné - la plupart du temps.
M'a dit de regarder Derby si je souhaite faire de la web-app téléchargeable/distribuable. Mais est-ce la seule raison pourquoi je l'utiliser? Est-il adapté pour le web-apps? Quelqu'un at-il utilisé? Quelle a été votre expérience et de le faire lorsque vous choisissez l'un sur l'autre? (La plupart des discussions de la comparaison sont antérieurs à MySQL v5 quand il n'en a pas le support des procédures stockées, des déclencheurs, etc., Mais ce n'est plus le cas).
Je peux comprendre autonome DB modèle de serveur avec un serveur web, l'envoi de la demande, mais comment ce changement de modèle avec un intégré à l'db? Ou fait-on par défaut à l'aide de Derby dans la configuration du réseau?
source d'informationauteur PhD
Vous devez vous connecter pour publier un commentaire.
Pourquoi Derby et MySQL la seule RDMBS-vous considérer? Si vous dites Derbyvous devriez vérifier HSQLDBH2SQLite. Si vous dites MySQLvous devriez vérifier Postgres (qui a beaucoup plus de fonctionnalités).
C'est juste pour en nommer quelques-uns gratuits SGBDR. Bien sûr, comme Charlie déjà, il y a beaucoup d'autres et beaucoup de raisons pour aller de toute façon. Découvrez ce OMI (excellent) comparaison de la page sur Wikipédia, où vous trouverez les avantages et les limites de tout SGBDR:
http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems
Aussi loin que votre exigence sur votre webapp être "téléchargeable" est concerné, bien sûr, vous pouvez incorporer un SGBDR (tout de Derby, H2, HSQLDB) dans votre webapp. Mais vous pouvez aussi faire votre MySQL ou Postgres ou que ce soit l'intégration configurable et donner précisément les instructions sur la façon de configurer votre webapp eux-mêmes. Après tout, lorsque vous utilisez un conteneur est configuré
DataSource
pour votre webapp, cette configuration peut être effectuée 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 incorporée, il faut toujours un temps d'avance. Des Questions comme:
Depuis vos commentaires suggèrent que vos données sont en augmentation au fil du temps, et il devrait persister, je ne voudrais pas d'une version incorporée, mais conserver les données distinct de l'application. Notez que cela n'exclut pas le Derby de la conception de votre application. Cela signifie juste que vous auriez à exécuter Derby en tant que serveur autonome.
Les exigences qui va faire la différence, ce sont les soi-disant "non fonctionnel": la capacité, la fiabilité, débit et de temps de réponse), de disponibilité et de sécurité; ceci avec le logiciel propres problèmes, comme la façon dont facilement disponible, combien il sera difficile de maintenir un logiciel basé sur elle, et ainsi de suite.
Oracle est très rapide, très robuste, très bien pris en charge, et très cher.
MySQL est un bon choix avec largement utilisé. Il peut être configuré pour la haute disponibilité et la fiabilité (par le biais de la mise en miroir et maître-esclave), il est bien compris par beaucoup de programmeurs, et s'intègre très bien dans beaucoup de logiciel de plate-forme comme le Graal, Rails, et JBoss.
Derby est bon parce qu'il est très indépendant de la plateforme et beaucoup de gens lisent Java facilement.
SQLite est rapide, léger, et plus ou moins natif sur Mac.
... et ainsi de suite.
Tout d'abord, déterminez quelles exigences non fonctionnelles sont importantes, puis choisissez un SGBD.
Mise à jour
D'accord, à la suite de votre commentaire.
Avec ces chiffres, permettez-moi de demander d'abord pourquoi un distinct SGBDR? C'est 1000 lignes -- considérer simplement les stocker en mémoire, par exemple dans une collection de Collections que vous sérialiser.
Si vous avez vraiment besoin d'un DB, dire parce que vous êtes à l'aide de Rails, alors vous n'êtes pas difficile, TOUT SGBDR -- il peut être difficile de choisir parce que vous êtes dans un domaine où tous les choix sont parfaitement bon. Si oui, alors de choisir celle qui est la plus facile à utiliser et facile à soutenir, ce qui est probablement mais certainement pas MySQL, juste parce que tout le monde l'utilise.