I am working on developing a large SAAS application and I had planned to do so in Ruby On Rails. However, most of the threads that I have read here and there on the Net seem to indicate that 100 tables is considered to be a large RoR application. I would be very interested to hear about scalability/size issues that anyone has seen and how you solved them ( if indeed you were able to do so ), particularly if your application is > 500 tables. I am also interested in any other RoR scalability issues that you may have seen in addition to database size.
Thank you to everyone in advance.
views:
60answers:
2If you'd like to have 500+ tables, it's ok. If you'd like to have 500+ Rails models, that's a different story. I presume you mean the latter. And 500+ models might seem a little bit too much. Although there is a story floating around that 37Signals has 250+ models in their crm application. Starting up this kind of application must be painful. Restarting too. Lots of memory required - probably few hundred megabytes per app instance. But if already loaded it should not be that much slower than an app with 10 times less models. Although that's just based on assumptions, not experience.
I wrote a simple database browser that uses IronRuby on Rails and spans 14 databases and 520+ tables(and models) I don't notice any particular slowdowns in development mode. Its not going to be a production type app, as its meant for the dev team at work, so we aren't expecting the kind of load a public facing app would take.
The webrick server starts out at 63MB and can grow to take up 200+ MB in dev mode.