Thursday, February 14, 2013

• How Facebook Works?*

• How Facebook Works?*

Hey Facebookies, since how long have you been Facebooking? Well to be precise, Facebook has been there for you since eight years but have you ever wondered how Facebook works? What’s behind that fancy curtain? OK! Its not a ‘How-To guide’ to use Facebook but we are talking about its architecture.

Have you ever been curious about whats lying behind Facebook? And how Facebook really works? Then lets talk some tech now.
How Facebook Works In Spotlight?

Facebook utilize lots of services and programming languages to work. To be precise, Facebook servers use LAMP with Memcache. Hey, we are not talking about the table lamps! Basically LAMP stands for Linux, Apache, MySQL and PHP. Its understood that you need more explanation on those complex terms if you are not a techie.
Linux & Apache

If you are fortunate enough to see that black dolphin logo ever on WWW then you certainly know Linux. Well, its an open-source UNIX-like kernel for ‘Operating Systems’ and why Facebook use Linux is because of its high security and its ease of customization according to needs. Apache is considered as the best and most popular HTTP server – No wonder why Facebook use Apache.

Ok! so far we know that Facebook works using Linux OS and Apache servers. What about the database where huge amounts of data, including the Facebookies personal data, is stored? This is where MySQL makes entry because its reliable and speedy as well.

MySQL basically stores key values since data is stored randomly among huge number of logical instances.

PHP is basically a great WWW programming language – a scripting language. Facebook use this language specifically because this language has a good programmers community and this language also has a great support as well.

We are done with LAMP but what about Memcache? Any guess?Basically Memcache is an open-source system for caching memory. All it do is make dynamic sites like Facebook work faster by allowing them to cache data in RAM instead of going all the way to database.
Problems With ‘LAMP’ System

Facebook has come across many problems due to this LAMP system – may be Facebook has grown just amazingly fast for think-tanks. Among many problems, major problem is that PHP is difficult to configure for big websites – it may not be optimised for big websites. Moreover it’s not the fastest executing-language out there.

Since dynamic growth of Facebook, it is facing many problems like memory caching, data storage and most importantly it’s database is very complex. And to cover-up that backstage with another curtain, Facebook has started some back-end and open-source projects.