Facebook Engineering


The high quotient of transparency leads to socialization, which got affirmed by the popularity of Facebook supporting social media networking through a single window. The members of Facebook upload millions of photos, videos and also paint its wall with their colourful thoughts. My first interface with it not started with a real desire to participate but motivated by the professional experimentation. The art of scaling a social site is really challengeable; they did it (Kudos to Facebook engineering team). Also, they have released their engineering tools as open source @ https://github.com/facebook.

The Facebook has to challenge with: (as per July 2010)

  • 570 billion page views per month
  • More than 3 billion photo uploads every month
  • Number of photos exceed than all other photo sites combined (including sites like Flickr)
  • Serving 1.2 million photos per second
  • More than 25 billion pieces of content of status, updates, comments, etc., are shared every month          

      Facebook Engineering tools          

        Cassandra            

Cassandra is a distributed storage system with no single point of failure. Internally it’s using Distributed Hash Table (DHT), which is elaborated in my earlier article. Cassandra is using Amazon Dynamo’s Infrastructure design and Google BigTable’s ColumnFamily-based data model.

We had a good time in experimenting with Cassandra implemented along with Apache Lucene, which now caters our scalable search engine. This architecture is now gradually getting its place in our various tools, which are using Apache Solr/Lucene.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s