slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Facebook is social network has more than 500 million active users . PowerPoint Presentation
Download Presentation
Facebook is social network has more than 500 million active users .

Loading in 2 Seconds...

play fullscreen
1 / 20

Facebook is social network has more than 500 million active users . - PowerPoint PPT Presentation


  • 273 Views
  • Updated on

Facebook is social network has more than 500 million active users . The main idea behind Facebook is really very basic keeping people connected. Facebook is currently the world’s most popular web site, with more than 690 billion page views each month .

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Facebook is social network has more than 500 million active users .


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript

    1. Facebook is social network has more than 500 million active users. • The main idea behind Facebook is really very basic keeping people connected. • Facebook is currently the world’s most popular web site, with more than 690 billion page views each month. • Facebook currently accounts for about 9.5% of all Internet traffic, slightly more than Google. • There are 100 million new photos uploaded to Facebook every day. • Facebook infrastructure must support platform services for more than 1 million web sites and 550,000 applications using the Facebook Connect platform. • Facebook realizes the power of social networking and is constantly innovating to keep their service the best in the business.

    2. Architecture Overview: 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

    3. Architecture Overview: + LAMP Services AdServer Search NetworkSelector NewsFeed bloogFeeds CSSParser Mobile ShareScraber PHP Memcache MySQL php! Thrift Scribe ODS Tools !php

    4. Facebook Architecture:

    5. Linux & Apache • Linux is a Unix-like computer operating system kernel. • It’s open source, very customizable, and good for security. • Facebookruns the Linux operating system on Apache HTTP Servers. • Apache is also free and is the most popular open source web server in use.

    6. MySQL • For the database, Facebook utilizes MySQL because of its speed and reliability. • MySQLis 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. • 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.

    7. 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.

    8. 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. • Memcacheis 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.

    9. Thrift (protocol) • It is a lightweightremote procedure call framework for scalable cross-language services development. • Thrift supports C++, PHP, Python, Perl, Java, Ruby, Erlang, and others. • It’s quick, saves development time, and provides a division of labor of work on high-performance servers and applications.

    10. Scribe (log server) • It is built on top of Thrift. • It is a server for aggregating log data streamed in real-time from many other servers. • It is a scalable framework useful for logging a wide array of data.

    11. Cassandra (database) • It is a database management system designed to handle large amounts of data spread out across many servers. • It powers Facebook’sInbox Search feature and provides a structured key-value store with eventual consistency.

    12. Hive • is a data warehouse infrastructure built on top of Hadoopthat provides tools to enable easy data summarization, adhocquerying and analysisof large datasets data stored in Hadoop files. • It provides a mechanism to put structure on this data and it also provides a simple query language called QL which is based on SQL and which enables users familiar with SQL to query this data.

    13. HipHop for PHP • It is a source code transformer for PHP script code and was created to save server resources. • HipHoptransforms PHP source code into optimized C++. • After doing this, it uses g++ to compile it to machine code.

    14. Hadoop'sHBase Use it when you need random, realtime read/write access to your Big Data.

    15. User we can summarize the user interaction with the functions that facebook is offering , such as : creating profile , search for a friend , request adding a friend , create a page or a group , upload picuters and videos and even play games there , the user simply send request by choosing one of the pervious functions and the request is processed by the following structure .

    16. Let’s put this into action

    17. Under the Covers • Getmy profile data • Fetch from cache, potentially go to my DB (based on user-id) • Get friend connections • Cache, if not DB (based on user-id) • In parallel, fetch last 10 photo album ids for each of my friends • Multi-get; individual cache misses fetches data from db (based on photoalbum • id) • Fetch data for most recent photo albums in parallel • Executepage-specific rendering logic in PHP • Return data, make user happy

    18. Reference: • http://hive.apache.org/ • http://www.quora.com/What-is-Facebooks-architecture • http://www.slideshare.net/PhilippeJulio/big-data-architecture • http://thrift.apache.org/ • http://memcached.org/ • http://cassandra.apache.org/ • http://hbase.apache.org/ • https://github.com/facebook/scribe • http://developers.facebook.com/blog/post/358

    19. By: SulafAlmagoshy AfnanSheikho Sara Alsayigh Sara almasoud AlaaAlrakaf