# Scalability

**URL:** <https://www.ruby-forum.com/t/scalability/89695>\
**Category:** Rails\
**Created:** [March 22, 2007, 4:10am UTC](https://www.ruby-forum.com/t/scalability/89695 "2007-03-22T04:10:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [March 22, 2007, 4:10am UTC](https://www.ruby-forum.com/t/scalability/89695/1 "2007-03-22T04:10:20Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [March 22, 2007, 4:39am UTC](https://www.ruby-forum.com/t/scalability/89695/2 "2007-03-22T04:39:22Z")

</div>

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...](http://www.greencheese.us/ZeekLand) ← NOT a blog!!!

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [March 22, 2007, 4:21pm UTC](https://www.ruby-forum.com/t/scalability/89695/3 "2007-03-22T16:21:49Z")

</div>

On Mar 21, 2007, at 11:09 PM, removed\_email\_address@domain.invalid 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

---

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [March 23, 2007, 4:00am UTC](https://www.ruby-forum.com/t/scalability/89695/4 "2007-03-23T04:00:45Z")

</div>

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.
