Amazing story of eBay architecture

Posted by webstuffscan on December 11th, 2006


eBay logoHere are some interesting facts about www.ebay.com, the leading internet auction site. Being in the Web application development industry, these figures appear mind boggling to me. I knew they must be having heavy traffic and used wonder how they manage it…

  • eBay manages over 212,000,000 registered users!
  • eBay contains over 1 billion photos!
  • eBay manages over 26 billion SQL executions per day!!
  • eBay gets over 1 billion page views per day!!
  • eBay stores over 2 petabytes of data!!

If you want to read more on eBay’s architecture evolution, click here (PDF). This is a presentation on eBay architecture by Randy Shoup and Dan Pritchett at the SD forum.
eBay’s growth chart

eBay's growth chart

Following are the key architecture decisions which helped eBay to achieve such scalability.

Scaling the data tier
1. The database load is spread by segmenting the data by function (user, item, account etc.)
2. Horizontal split of databases by access path.
3. Minimization of database resources (no stored procedure, no sorting, extensive use of prepared statements)
4. Minimize database transactions (This is achieved by careful ordering of database operations, running of reconciliation batch in case of failure etc.)
 
Scaling the application tier
1. Again spreading the load by segmentation (segmentation by function and further horizontal segmentation inside functions)
2. Everything is stateless (state maintained in cookies or scratch database), no EJB, minimal J2EE and maximum use of cache.
3. Tiered application and eBay’s own pure Java OR mapping.
4. Maximum code partitioning with minimum dependencies.

Further Reading
Presentation on eBay’s architecture evolution

Related Stuff
Copyright is retained by webstuffscan

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word