Do you agree that as some point, every (big enough) Rails app sould not rely only on ActiveRecord?

Hi.

I’ve just read an interview of the CTO of Gowalla where they use Ruby and Rails: Ruby on Rails: Scaling Your App for Rapid Growth | Mashable

He says:

Every Rails app that I’ve ever worked on has had to break away from the “ActiveRecord way” at some point, for some part of the app. But it’s not an all-or-nothing question. Most of the time, the standard relational/ActiveRecord approach works perfectly well, and the convenience of following the Rails golden path is completely worthwhile. But most interesting apps will run into at least a few points where the standard tools break down, and you need to access your data differently. What do you think?

What's to disagree with? Who on Earth would ever claim "ActiveRecord is all you'll ever need"?

Like it says "Most of the time, the standard relational/ActiveRecord approach works perfectly well [but] apps will run into at least a few points where the standard tools break down" Who hasn't had to do do at least one find_by_sql to do some cross-tabbing in the DB to save processing time?

He does not say that AR own methods are not enough, he says that an app needs to be based on AR and other other tool that are them selves based on NoSQL.

And I still agree with him/the quote. What's to disagree with it? Do you think he might be wrong in his assertion?

It’s not that I don’t agree, I just don’t have an opinion on this matter and asking for thoughts :slight_smile:

Why Rails with a SQL db would not be enough to always scale an app?

The quotation does not claim that. What it says is that the ActiveRecord ORM does not handle every situation well. Which can be said of Ruby (or any other language, methodology, persistence store, religious belief, etc.) for that matter.

Always use the best tool for the job. The evolution and scaling of Twitter is a good example of this: http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster

Thank you all for your answers. Tricon your link seems interresting, I’ll read it tomorrow, thanks :wink:

Hello,

I highly reccomend you DataMapper http://datamapper.org because its code is beautiful, have a helpful community http://groups.google.com/group/datamapper you can immediately change Rails' ORM with this adapter https://github.com/datamapper/dm-rails

Also you may give a try for NoSQL: MongoDB or CouchDB

There is not The Best DB and also not any Best ORM for sure. Depends on your needs. Maybe ActiveRecord has smthg with foreign keys but Rein gem can solve this issue as I heard(haven't used since I'm fun of DM): http://github.com/nullobject/rein

cheers, Zoli