Pages

Sunday 19 February 2012

Tools and Technologies that Facebook Use

Rather then going at a Road Runner speed,I thought it would be better to give off the some of the technical tools and technologies that Facebook uses.

This might be important as it may aware you the per-requisites that you would require to understand the Making of Facebook.

Facebook uses a variety of services, tools, and programming languages to make up its core infrastructure. At the front end, their servers run a LAMP (Linux, Apache, MySQL, and PHP) stack with Memcache.Let’s take a look at exactly what that means.

Following is the most basic technologies that Facebook uses:

Linux & Apache

This part is pretty self-explanatory. Linux is a Unix-like computer operating system kernel. It’s open source, very customizable, and good for security.

Facebook runs the Linux operating system on Apache HTTP Servers. Apache is also free and is the most popular open source web server in use.

MySQL

For the database, Facebook utilizes MySQL because of its speed and reliability. MySQL is used primarily as a key-value store as data is randomly distributed amongst a large set of logical instances. These logical instances are spread out across physical nodes and load balancing is done at the physical node level.

 As far as customizations are concerned, Facebook has developed a custom partitioning scheme in which a global ID is assigned to all data. They also have a custom archiving scheme that is based on how frequent and recent data is on a per-user basis.

Most data is distributed randomly.

PHP

Facebook uses PHP because it is a good web programming language with extensive support and an active developer community and it is good for rapid iteration.PHP is a dynamically typed/interpreted scripting language.

Memcache

Memcache is a memory caching system that is used to speed up dynamic database-driven websites (like Facebook) by caching data and objects in RAM to reduce reading time. Memcache is Facebook’s primary form of caching and helps alleviate the database load.
Having a caching system allows Facebook to be as fast as it is at recalling your data. If it doesn’t have to go to the database it will just fetch your data from the cache based on your user ID.


 These are the most basic technologies used by Facebook technologies,if you want the detailed or exhaustive list of technologies (obviously with understandable description by me) ,tell in the comments section.

1 comment:

  1. Hey buddy!! thanks for the sterling info. Keep it up.. :-)

    ReplyDelete