Scalability

could ror support a service on the scale of myspace? i’ve been reading
about problems with the types of databses that ruby can work with?

johntmarino wrote:

could ror support a service on the scale of myspace? i’ve been reading
about problems with the types of databses that ruby can work with?

RoR is a member of the “LAMP” category of websites - Linux, Apache,
MySQL,
and a Perl-like language.

Word on the street is Google uses LAMP, including the MySQL. I don’t
know
how they cluster their MySQL databases, or if they simply write
everything
to work with a distributed set of databases. But in general the LAMP
model
scales by running the slow soft front-end language (Perl, Python, Ruby,
etc.) on thousands of cheap load-balanced servers. Then the database
runs on
one fast expensive server, or possibly on a cluster of servers.

Note that “Google” refers to the math term for (IIRC) 10^100. A big
number.

Ruby is hardly an optimal language. A few method calls may result in
tens of
thousands of CPU operations. Apache and MySQL, by contrast, are written
in C
and painstakingly optimized. So you throw cheap hardware at the Ruby
layer,
and get the best hardware for the C layer. You can scale when Rails
pages
don’t abuse their session variable, and they run as event-driven as
possible.


Phlip
Redirecting... ← NOT a blog!!!

On Mar 21, 2007, at 11:09 PM, [email protected] wrote:

could ror support a service on the scale of myspace? i’ve been reading
about problems with the types of databses that ruby can work with?

Define “support”. No technology you can pick up off the shelf will
let you run a service on the scale of MySpace (or Yahoo, or eBay,
or Amazon, or Google, etc.). If you can build something up to that
level you get to figure out how to run it.

On Mar 21, 2007, at 11:38 PM, Phlip wrote:

Word on the street is Google uses LAMP, including the MySQL. I
don’t know how they cluster their MySQL databases, or if they
simply write everything to work with a distributed set of databases.

Last I heard, Google was migrating to BigTable for public facing
apps. MapReduce also lets them run (relatively) slow processes
quickly if the code can be broken out enough to throw it at a large
number of servers.

-faisal

thanks for the input guys. i’m developing a web app and i just want to
make sure i’m not wasting time and money on something i’ll need to
ditch later.