On Apr 9, 2010, at 10:05 AM, [email protected] wrote:
Well, I just went through the Agility tutorial - all I can say is WOW! This is truly good stuff, and I can see that I've got quite a bit to learn. I'm curious as to how scalable this might be ... lets say that I have 1000 users, and each user has 130 tasks of their own, along with 300 contacts of their own plus several other tables of data where each user may have lets say 100 records. You are already up to over 500 records per user, and over 500,000 records total ... my question is whether or not using rails + hobo + apache + mysql is a good, scalable, and fast performing solution for such an application ... or would some other solution be better? I realize that not all users will be accessing their data at the same time, but how long will it take to retrieve each users set of 300 contacts from a table that has 300,000 entries?
Not long, if the table is properly indexed. Fortunately, Hobo tries pretty hard to ensure that you get the indexes likely to help - if you declare Contact belongs_to User, the migration generator will automatically add an index on user_id.
As far as the DB goes, MySQL apparently scales well past millions of records, and the Postgres crowd does even more AFAIK. Actually, the biggest problem in database scaling comes from when you start having cross-relations between the data. The basic setup you've described (without links between the users) is highly susceptible to advanced techniques like shardin.
Hope this helps! --Matt Jones -- You received this message because you are subscribed to the Google Groups "Hobo Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/hobousers?hl=en.
