2010-09-07 2 views
1

Je travaille sur le développement d'une grande application SAAS et j'avais prévu de le faire dans Ruby On Rails. Cependant, la plupart des discussions que j'ai lues ici et là sur le Net semblent indiquer que 100 tables sont considérées comme une grande application RoR. Je serais très intéressé d'entendre parler des problèmes d'évolutivité/taille que tout le monde a vus et comment vous les avez résolus (si vous étiez en mesure de le faire), en particulier si votre application est> 500 tables. Je suis également intéressé par tous les autres problèmes d'évolutivité de RoR que vous avez pu voir en plus de la taille de la base de données.
Merci à tous d'avance.Est-ce que quelqu'un a une application Ruby on Rails avec plus de 500 tables?

Répondre

3

Si vous souhaitez avoir plus de 500 tables, c'est bon. Si vous souhaitez avoir plus de 500 modèles Rails, c'est une histoire différente. Je présume que vous voulez dire le dernier. Et plus de 500 modèles peuvent sembler un peu trop. Bien qu'il y ait une histoire qui flotte autour de ce 37Signals a plus de 250 modèles dans leur application crm. Démarrer ce genre d'application doit être douloureux. Redémarrer aussi. Beaucoup de mémoire requise - probablement quelques centaines de mégaoctets par instance d'application. Mais s'il est déjà chargé, il ne devrait pas être beaucoup plus lent qu'une application avec 10 fois moins de modèles. Bien que ce soit juste basé sur des hypothèses, pas d'expérience.

+0

Je suppose que le mode dev serait difficile à utiliser. Puisque dev recharge les modèles utilisés pour chaque requête, avoir plus de modèles impliquerait de recharger plus de code. Une implémentation plus rapide de Ruby pourrait aider ici, comme JRuby/1.9.2 ou Rubinius. –

1

J'ai écrit un simple navigateur de base de données qui utilise IronRuby sur Rails et couvre 14 bases de données et plus de 520 tables (et modèles) Je ne remarque aucun ralentissement particulier en mode développement. Il ne s'agira pas d'une application de type production, comme c'est le cas pour l'équipe de développement au travail, donc nous ne nous attendons pas au type de charge qu'une application publique prendrait.

Le serveur webrick démarre à 63 Mo et peut prendre jusqu'à 200 Mo en mode de développement.