How Facebook Works
July 1st 2008 05:00
The Facebook social network has been one of the most influential phenomena in Australia this past year. But very few people know how the network works. Facebook controls and manages a vast web of connections between its millions of users and is increasing exponentially.
Social networking sites work on the network principle. That is, the value of a network to a user is exponentially proportional to the number of other users that network has. Facebook’s power is derived from what its Vice President, Jeff Rothschild, calls the “social graph.”
The “social graph” referred to here amounts to the sum of all the various inter-connections between the site’s members and their friends; between events, photos, people and the huge number of discrete objects that are linked by metadata which describes them and these connections.
The Facebook organisation has data centres in California and Virginia in the US. These centres are built upon three tiers of x86 servers which are loaded to the proverbial eyes with open-source software, much of which was designed by Facebook.
The top tier of the Facebook network is made up of web servers. These create the Web pages that you see in your browser when you log onto the site. Most of them run eight cores running 64-bit Linux and Apache. Facebook pages and their features are created using a computer scripting language called PHP.
The Facebook applications you see have been developed using a variety of computer languages including Java, Python, C plus plus and Ruby. Facebook runs a management system for all of these applications called Thrift which was developed by Facebook to assist different computer languages in working together.
The bottom tier of the system consists of eight-core Linux servers which run MySQL software, an open-source database server application. Estimates suggest that Facebook has about 800 of these servers which distribute around 40 terabytes of user data. This bottom tier of the system stores all the metadata about every object, person, database, photo event or group.
Between these two layers is the middle tier which is made up of caching servers. Because there is too much data for the bottom tier to manage this middle tier deals with connections. Facebook receives around 15 million requests per second for data and connections. 95 percent of the data queries on the site go through this tier
Facebook is now experimenting with Solid State memory and drives which the company believes could improve performance of the site but a factor of 100.
Social networking sites work on the network principle. That is, the value of a network to a user is exponentially proportional to the number of other users that network has. Facebook’s power is derived from what its Vice President, Jeff Rothschild, calls the “social graph.”
The “social graph” referred to here amounts to the sum of all the various inter-connections between the site’s members and their friends; between events, photos, people and the huge number of discrete objects that are linked by metadata which describes them and these connections.
The Facebook organisation has data centres in California and Virginia in the US. These centres are built upon three tiers of x86 servers which are loaded to the proverbial eyes with open-source software, much of which was designed by Facebook.
The top tier of the Facebook network is made up of web servers. These create the Web pages that you see in your browser when you log onto the site. Most of them run eight cores running 64-bit Linux and Apache. Facebook pages and their features are created using a computer scripting language called PHP.
The Facebook applications you see have been developed using a variety of computer languages including Java, Python, C plus plus and Ruby. Facebook runs a management system for all of these applications called Thrift which was developed by Facebook to assist different computer languages in working together.
The bottom tier of the system consists of eight-core Linux servers which run MySQL software, an open-source database server application. Estimates suggest that Facebook has about 800 of these servers which distribute around 40 terabytes of user data. This bottom tier of the system stores all the metadata about every object, person, database, photo event or group.
Between these two layers is the middle tier which is made up of caching servers. Because there is too much data for the bottom tier to manage this middle tier deals with connections. Facebook receives around 15 million requests per second for data and connections. 95 percent of the data queries on the site go through this tier
Facebook is now experimenting with Solid State memory and drives which the company believes could improve performance of the site but a factor of 100.
| 54 |
| Vote |
subscribe to this blog










Comment by Dianna G
I Wish This Was 42
Fictional Worlds
Facebook is run on LINUX? Did I READ THAT RIGHT?
Comment by TimmyH
Tech News
Can you HACK it?
Genyration
Comment by Dianna G
I Wish This Was 42
Fictional Worlds
He'd love it.
He hates Windows.
Comment by TimmyH
Tech News
Can you HACK it?
Genyration
Well im glad I gave you (and him) something to think about...its a MASSIVE Linux system by the way...insanely big!
Thats why Facebook runs its Thrift system too
Comment by Dianna G
I Wish This Was 42
Fictional Worlds
Actually most of my family doesn't like Windows.
I use Windows for youtube.