SlideShare a Scribd company logo
Learning and Development                 Be part of the learning experience at Aditi.

              presents
                                               Join the talks. Its free.
                                               Free as in freedom at work, not free-beer.


                                               Its not training. Its mind-opener.

                                               Speak at these events. Or bring an
                                               expert/friend to talk.
    Open Talk Series
                                               Mail OpenTalk@aditi.com with topic and
      A series of illuminating talks and
  interactions that open our minds to new      availability.
ideas and concepts; that makes us look for
   newer or better ways of doing what we
 did; or point us to exciting things we have
  never done before. A range of topics on
     Technology, Business, Fun and Life.
HOW TO ENJOY AN                    TALK



Bring coffee & friends      Switch OFF mobile      Switch ON mind




Sign attendance sheet      SHARE your wisdom      QUESTION notions




              THANK the Talker       SPREAD the good word
architecture
                                        Sundararajan Subramanian
Image Copyright : facebook
facebook in 20 Minutes
                        • 2.7 M Photos
                        • 10.2M Comments
                        • 4.6 Messages

Statistics

What is Facebook
                        •   Shared links: 1,000,000
Technical challenges    •   Tagged photos: 1,323,000
Front End
                        •   Event invites sent out: 1,484,000
Data arch

Services architecture   •   Wall Posts: 1,587,000
                        •   Status updates: 1,851,000
                        •   Friend requests accepted: 1,972,000
                        •   Photos uploaded: 2,716,000
                        •   Comments: 10,208,000
                        •   Message: 4,632,000
facebook in 20 Minutes


                        Direct Friendship




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture




                                            Friends of Friends
What is facebook

                        • A social graph
                        • Friends , Friends of friends, somewhere in the
                          network.
                        • Friends can comment, like, read your posts
                        • Friends of friends can just read
Statistics

What is Facebook

Technical challenges    • Facebook messages – chat/ email/ SMS
Front End
                        • Near real-time updates
Data arch

Services architecture
Technical Challenges


                          Challenges     Ok to Live with
Statistics

What is Facebook
                        • High           • Not Mission
Technical challenges

Front End
                          Concurrency      Critical
Data arch
                        • High Data      • Cached data is
Services architecture
                          Volumes          fine
                        • Multilevel     • Write Failures
                          Hierarchical     are tolerable
                          data
The Data – (Illustrational)
                                          Everything is a hash lookup
                        User        Friend User             Age    Bio          Intere
                        ID          s with Name                                 sts
Statistics              1           2,3,4       XYZ         ..     ..           ..
What is Facebook        2           1           ..          ..     ..           ..
Technical challenges



                            Challenges                              Solutions
Front End

Data arch

Services architecture



                               The Relational Nature of the data         No Constraints, No Joins in MySQL


                               Data Volumes                              Write Through cache implementation


                               Concurrency                               Hash Ring based architecture
facebook – Data Partition initial thoughts
        • Horizontal partitioning based on
          Networks.
                        – Harvard
Statistics              – Stanford
What is Facebook

Technical challenges
                        – Carnegie
Front End

Data arch

Services architecture
facebook –Photos - HayStack
        • Each File read required a minimum
          of 3 i/o in a typical file system
        • CDNs- Not a Solution
        • Haystack is a customized storage
Statistics



          system, which minimizes the
What is Facebook

Technical challenges

Front End
          amount of File metadata and
          involves only 1 i/o for each file
Data arch

Services architecture


          read.
        • Haystack caches extensive data in
          in its main memory
facebook – HayStack



Statistics              HayStack Interface
                                                     HayStack             HayStack
What is Facebook
                                                     Cache                Directory
Technical challenges

Front End

Data arch                      Logical Drives                        Logical Drives
Services architecture


                          PD        PD          PD              PD        PD          PD




                           http://CDN/Cache/Machine id/(Logical volume, Photo)
Facebook – Serving the Photo - Haystack




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
Facebook – Scribe - Logging

                        Nodes              Nodes               Nodes
                            Scribe             Scribe                 Scribe


Statistics

What is Facebook

Technical challenges

Front End                                                    $messages = array();
                                                             $entry = new LogEntry;
Data arch
                                     Central Scribe Server   $entry->category = "buckettest";
Services architecture                                        $entry->message = "something very”;
                                                             $messages []= $entry;
                                                             $result = $conn->Log($messages);


                        Dashboards
                                            HBase
facebook – Services– Thrift
                        • Lightweight Software framework for cross-
                          language development
                        • Dev need not worry about serialization ,
                          connection handling and threading
                        • Supported bindings:
Statistics

What is Facebook

Technical challenges       – C++, PHP, Python, java, ruby, erlang, perl,
Front End                    haskell
                        • Transports : Simple interface to i/o
Data arch

Services architecture


                        • Protocols : Serialization format
                           – TBinaryProtocol, TJsonProtocol
                        • Severs
                           – Non Blocking, Async, Single threaded, multi-
                             threaded
facebook – Memcache
                        • In-memory distributed hash table
                        • “hot” data from MySQL stored in cache

Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
facebook – front end - PHP
                        • Op – Code Optimization
                        • APC improvements(alternate PHP cache)
                           – Lazy Loading
                           – Cache priming
Statistics
                        • Custom Extensions
What is Facebook

Technical challenges
                           – Memcache Client Extension
Front End                  – Serialization format
Data arch
                           – Logging, Stats Collection, Monitoring
Services architecture

                           – Asynchronous event-handling mechanism
facebook – front end – Hip Hop
                        • Source Code Transformer
                        • Static Analysis, type inference, Code
                          Generation
Statistics
                        • Easier to write extensions
What is Facebook

Technical challenges    • Significantly cuts down on CPU and
                          Memory usage
Front End

Data arch

Services architecture
facebook – front end – Hip Hop



Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
facebook – front end – BigPipe
                        BigPipe first breaks web pages into multiple chunks called pagelets




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture
facebook – front end – BigPipe
                        BigPipe first breaks web pages into multiple chunks called pagelets
                                                              Request Parsing

                                            Web Server parses and sanity checks the request


                                                               Data Fetching

                                               Web Server fetches data from storage tier
Statistics

What is Facebook                                            Markup Generation

                                                 Web server generates HTML Markup
Technical challenges

Front End                                                    Network Transport

                                                        Response is transferred
Data arch

Services architecture
                                                             CSS downloading




                                                           Dom Tree Construction




                                                           JavaScript downloading




                                                                JS Execution
facebook – Technology Stack

       Front End                          Big Pipe          Hip Hop

                             PHP - Custom compiler / Cache implementations

                                         Linux – Custom Kernel Extensions



                                                     Service Aggregators
       Scribe

                Thrift




                             Service 1          Service 2         Service 3     Service 4



       Data Store
                            MemCache – Write Through Cache implementation

                         Cassandra            MySQL             HBase         HayStack
facebook – Messages Infrastructure




Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture

Messages
facebook - Messages



Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture

Messages
facebook - Messages



Statistics

What is Facebook

Technical challenges

Front End

Data arch

Services architecture

Messages
facebook – Cells

                        Cell

                                          Node
                                           1
Statistics

What is Facebook
                          Node
Technical challenges                                    Node2
                           n            Zookeper
Front End                               Controller
Data arch                               Machines
Services architecture

Messages                         Node                Node
                                  4                   3


                               Application Server Cluster


                                        Metadata Store
facebook – Cells
                        • They help scale incrementally while
                          limiting failure scenarios
                        • Easy upgrades
Statistics

What is Facebook
                        • Metadata store failures affect only a few
Technical challenges
                          users
Front End

Data arch

Services architecture
                        • Easy rollout
Messages
                        • Flexibility to host cells in different data
                          centers with multi-homing for disaster
                          recovery
Take away – for our applications
          • Really parallel Asynchronous AJAX Pages
              – ASP.Net Update panels is a HOAX
          • Appropriate usage of client side technology
          • Cache – Cache – Cache
              – Write Through Caches are way better
              – App Fabric cache/ Memcache
          • High – Normalization is not needed
              – Store denormalized views – materialized views
          •   Parallel Services and Service aggregators
          •   Fault tolerant applications
          •   Asynchronous Processing
          •   1 Sec response time is too SLOW
References
             •   http://facebook.com/engineering
             •   www.infoq.com
             •   www.highscalability.com
             •   www.stackoverflow.com
             •   www.thrift.org
Keep Learning


For suggestions on topics/ feedbacks etc.,


      Contact OpenTalk@aditi.com

More Related Content

What's hot

Change Data Feed in Delta
Change Data Feed in DeltaChange Data Feed in Delta
Change Data Feed in Delta
Databricks
 
Building real time analytics applications using pinot : A LinkedIn case study
Building real time analytics applications using pinot : A LinkedIn case studyBuilding real time analytics applications using pinot : A LinkedIn case study
Building real time analytics applications using pinot : A LinkedIn case study
Kishore Gopalakrishna
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafka
Timothy Spann
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
Cristina Munoz
 
Facebook Design Patterns
Facebook Design PatternsFacebook Design Patterns
Facebook Design Patternsdurre-najaf
 
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsFine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Databricks
 
Google File System
Google File SystemGoogle File System
Google File Systemnadikari123
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Arnab Mitra
 
Introduction to Impala
Introduction to ImpalaIntroduction to Impala
Introduction to Impala
markgrover
 
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Monitor Apache Spark 3 on Kubernetes using Metrics and PluginsMonitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Databricks
 
Databricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks Delta Lake and Its Benefits
Databricks Delta Lake and Its Benefits
Databricks
 
Informatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar SlidesInformatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Databricks
 
Hudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilitiesHudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilities
Nishith Agarwal
 
From Data Warehouse to Lakehouse
From Data Warehouse to LakehouseFrom Data Warehouse to Lakehouse
From Data Warehouse to Lakehouse
Modern Data Stack France
 
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Mahantesh Angadi
 
State of the Trino Project
State of the Trino ProjectState of the Trino Project
State of the Trino Project
Martin Traverso
 
Learn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideLearn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive Guide
Whizlabs
 
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
Simplilearn
 
Scaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on DatabricksScaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on Databricks
Databricks
 

What's hot (20)

Change Data Feed in Delta
Change Data Feed in DeltaChange Data Feed in Delta
Change Data Feed in Delta
 
Building real time analytics applications using pinot : A LinkedIn case study
Building real time analytics applications using pinot : A LinkedIn case studyBuilding real time analytics applications using pinot : A LinkedIn case study
Building real time analytics applications using pinot : A LinkedIn case study
 
Real time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafkaReal time stock processing with apache nifi, apache flink and apache kafka
Real time stock processing with apache nifi, apache flink and apache kafka
 
Facebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challengeFacebook architecture presentation: scalability challenge
Facebook architecture presentation: scalability challenge
 
Facebook Design Patterns
Facebook Design PatternsFacebook Design Patterns
Facebook Design Patterns
 
Fine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark JobsFine Tuning and Enhancing Performance of Apache Spark Jobs
Fine Tuning and Enhancing Performance of Apache Spark Jobs
 
Google File System
Google File SystemGoogle File System
Google File System
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
Introduction to Impala
Introduction to ImpalaIntroduction to Impala
Introduction to Impala
 
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Monitor Apache Spark 3 on Kubernetes using Metrics and PluginsMonitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
 
Databricks Delta Lake and Its Benefits
Databricks Delta Lake and Its BenefitsDatabricks Delta Lake and Its Benefits
Databricks Delta Lake and Its Benefits
 
Informatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar SlidesInformatica Cloud Summer 2016 Release Webinar Slides
Informatica Cloud Summer 2016 Release Webinar Slides
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 
Hudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilitiesHudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilities
 
From Data Warehouse to Lakehouse
From Data Warehouse to LakehouseFrom Data Warehouse to Lakehouse
From Data Warehouse to Lakehouse
 
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
Introduction and Overview of BigData, Hadoop, Distributed Computing - BigData...
 
State of the Trino Project
State of the Trino ProjectState of the Trino Project
State of the Trino Project
 
Learn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive GuideLearn Apache Spark: A Comprehensive Guide
Learn Apache Spark: A Comprehensive Guide
 
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
HBase Tutorial For Beginners | HBase Architecture | HBase Tutorial | Hadoop T...
 
Scaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on DatabricksScaling Data Analytics Workloads on Databricks
Scaling Data Analytics Workloads on Databricks
 

Similar to Facebook Architecture - Breaking it Open

Big data berlin
Big data berlinBig data berlin
Big data berlin
kammeyer
 
Engineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platformsEngineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platforms
Hisham Arafat
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
Durga Gadiraju
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
sebedatalabs
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
Nuxeo
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to Everyone
Sri Ambati
 
Sharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsSharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsGeorge Stathis
 
Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18
Mike King
 
SQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataSQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big Data
Denny Lee
 
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Memoori
 
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
Big Data Spain
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
Tao Xie
 
Big Data Introduction - Solix empower
Big Data Introduction - Solix empowerBig Data Introduction - Solix empower
Big Data Introduction - Solix empower
Durga Gadiraju
 
Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"
Discover Pinterest
 
Agile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational IntelligenceAgile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational Intelligence
Inside Analysis
 
DA_01_Intro.pptx
DA_01_Intro.pptxDA_01_Intro.pptx
DA_01_Intro.pptx
Alok Mohapatra
 
Insights through the use smart data
Insights through the use smart dataInsights through the use smart data
Insights through the use smart data
James Milne
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
Sergey Karayev
 

Similar to Facebook Architecture - Breaking it Open (20)

Big data berlin
Big data berlinBig data berlin
Big data berlin
 
Engineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platformsEngineering patterns for implementing data science models on big data platforms
Engineering patterns for implementing data science models on big data platforms
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
E meyer lamp2012
E meyer lamp2012E meyer lamp2012
E meyer lamp2012
 
Software architecture & design patterns for MS CRM Developers
Software architecture & design patterns for MS CRM  Developers Software architecture & design patterns for MS CRM  Developers
Software architecture & design patterns for MS CRM Developers
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
Bertenthal
BertenthalBertenthal
Bertenthal
 
H2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to EveryoneH2O Deep Water - Making Deep Learning Accessible to Everyone
H2O Deep Water - Making Deep Learning Accessible to Everyone
 
Sharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsSharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data Lessons
 
Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18Uof memphis nosql mike king dell v1.5 feb18
Uof memphis nosql mike king dell v1.5 feb18
 
SQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big DataSQLCAT: Tier-1 BI in the World of Big Data
SQLCAT: Tier-1 BI in the World of Big Data
 
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
Simplifying Building Automation: Leveraging Semantic Tagging with a New Breed...
 
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
State of Play. Data Science on Hadoop in 2015 by SEAN OWEN at Big Data Spain ...
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
 
Big Data Introduction - Solix empower
Big Data Introduction - Solix empowerBig Data Introduction - Solix empower
Big Data Introduction - Solix empower
 
Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"
 
Agile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational IntelligenceAgile Data Rationalization for Operational Intelligence
Agile Data Rationalization for Operational Intelligence
 
DA_01_Intro.pptx
DA_01_Intro.pptxDA_01_Intro.pptx
DA_01_Intro.pptx
 
Insights through the use smart data
Insights through the use smart dataInsights through the use smart data
Insights through the use smart data
 
Data Management - Full Stack Deep Learning
Data Management - Full Stack Deep LearningData Management - Full Stack Deep Learning
Data Management - Full Stack Deep Learning
 

More from HARMAN Services

3 Dimensions Of Transformation
3 Dimensions Of Transformation3 Dimensions Of Transformation
3 Dimensions Of Transformation
HARMAN Services
 
Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance
HARMAN Services
 
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and GovernanceHow to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
HARMAN Services
 
Digital Transformation: Connected API Ecosystems
Digital Transformation: Connected API EcosystemsDigital Transformation: Connected API Ecosystems
Digital Transformation: Connected API Ecosystems
HARMAN Services
 
Webinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoTWebinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoT
HARMAN Services
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D Kesharia
HARMAN Services
 
15 Big Data Billionaires
15 Big Data Billionaires15 Big Data Billionaires
15 Big Data Billionaires
HARMAN Services
 
Digital Transformation in Travel
Digital Transformation in TravelDigital Transformation in Travel
Digital Transformation in Travel
HARMAN Services
 
Digital Transformation in Retail
Digital Transformation in RetailDigital Transformation in Retail
Digital Transformation in Retail
HARMAN Services
 
Digital Transformation in Media
Digital Transformation in MediaDigital Transformation in Media
Digital Transformation in Media
HARMAN Services
 
Digital Transformation in Hospitality
Digital Transformation in HospitalityDigital Transformation in Hospitality
Digital Transformation in Hospitality
HARMAN Services
 
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
HARMAN Services
 
Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow
HARMAN Services
 
Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study
HARMAN Services
 
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - InfographicHow Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
HARMAN Services
 
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
HARMAN Services
 
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
HARMAN Services
 
24 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 2424 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 24
HARMAN Services
 
Webinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected CustomerWebinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected Customer
HARMAN Services
 
5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference
HARMAN Services
 

More from HARMAN Services (20)

3 Dimensions Of Transformation
3 Dimensions Of Transformation3 Dimensions Of Transformation
3 Dimensions Of Transformation
 
Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance Testing Strategies to Deliver Consistent App Performance
Testing Strategies to Deliver Consistent App Performance
 
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and GovernanceHow to Manage APIs in your Enterprise for Maximum Reusability and Governance
How to Manage APIs in your Enterprise for Maximum Reusability and Governance
 
Digital Transformation: Connected API Ecosystems
Digital Transformation: Connected API EcosystemsDigital Transformation: Connected API Ecosystems
Digital Transformation: Connected API Ecosystems
 
Webinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoTWebinar - Transforming Manufacturing with IoT
Webinar - Transforming Manufacturing with IoT
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D Kesharia
 
15 Big Data Billionaires
15 Big Data Billionaires15 Big Data Billionaires
15 Big Data Billionaires
 
Digital Transformation in Travel
Digital Transformation in TravelDigital Transformation in Travel
Digital Transformation in Travel
 
Digital Transformation in Retail
Digital Transformation in RetailDigital Transformation in Retail
Digital Transformation in Retail
 
Digital Transformation in Media
Digital Transformation in MediaDigital Transformation in Media
Digital Transformation in Media
 
Digital Transformation in Hospitality
Digital Transformation in HospitalityDigital Transformation in Hospitality
Digital Transformation in Hospitality
 
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
Introduction to Microsoft Azure HD Insight by Dattatrey Sindhol
 
Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow Top LinkedIn Influencers Every CIO Must Follow
Top LinkedIn Influencers Every CIO Must Follow
 
Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study Ladbrokes and Aditi - Digital Transformation Case study
Ladbrokes and Aditi - Digital Transformation Case study
 
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - InfographicHow Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
How Internet of Things (IoT) is Reshaping the Automotive Sector - Infographic
 
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
Finding the important bugs- A talk by John Scarborough, Director of Testing, ...
 
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership Analyzing Gartner's CIO Study: Fliping to Digital Leadership
Analyzing Gartner's CIO Study: Fliping to Digital Leadership
 
24 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 2424 Connected Car features to look out for before the release of Bond 24
24 Connected Car features to look out for before the release of Bond 24
 
Webinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected CustomerWebinar: How I Met Your Connected Customer
Webinar: How I Met Your Connected Customer
 
5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference5 Takeaways From The UX India Conference
5 Takeaways From The UX India Conference
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Facebook Architecture - Breaking it Open

  • 1. Learning and Development Be part of the learning experience at Aditi. presents Join the talks. Its free. Free as in freedom at work, not free-beer. Its not training. Its mind-opener. Speak at these events. Or bring an expert/friend to talk. Open Talk Series Mail OpenTalk@aditi.com with topic and A series of illuminating talks and interactions that open our minds to new availability. ideas and concepts; that makes us look for newer or better ways of doing what we did; or point us to exciting things we have never done before. A range of topics on Technology, Business, Fun and Life.
  • 2. HOW TO ENJOY AN TALK Bring coffee & friends Switch OFF mobile Switch ON mind Sign attendance sheet SHARE your wisdom QUESTION notions THANK the Talker SPREAD the good word
  • 3. architecture Sundararajan Subramanian Image Copyright : facebook
  • 4. facebook in 20 Minutes • 2.7 M Photos • 10.2M Comments • 4.6 Messages Statistics What is Facebook • Shared links: 1,000,000 Technical challenges • Tagged photos: 1,323,000 Front End • Event invites sent out: 1,484,000 Data arch Services architecture • Wall Posts: 1,587,000 • Status updates: 1,851,000 • Friend requests accepted: 1,972,000 • Photos uploaded: 2,716,000 • Comments: 10,208,000 • Message: 4,632,000
  • 5. facebook in 20 Minutes Direct Friendship Statistics What is Facebook Technical challenges Front End Data arch Services architecture Friends of Friends
  • 6. What is facebook • A social graph • Friends , Friends of friends, somewhere in the network. • Friends can comment, like, read your posts • Friends of friends can just read Statistics What is Facebook Technical challenges • Facebook messages – chat/ email/ SMS Front End • Near real-time updates Data arch Services architecture
  • 7. Technical Challenges Challenges Ok to Live with Statistics What is Facebook • High • Not Mission Technical challenges Front End Concurrency Critical Data arch • High Data • Cached data is Services architecture Volumes fine • Multilevel • Write Failures Hierarchical are tolerable data
  • 8. The Data – (Illustrational) Everything is a hash lookup User Friend User Age Bio Intere ID s with Name sts Statistics 1 2,3,4 XYZ .. .. .. What is Facebook 2 1 .. .. .. .. Technical challenges Challenges Solutions Front End Data arch Services architecture The Relational Nature of the data No Constraints, No Joins in MySQL Data Volumes Write Through cache implementation Concurrency Hash Ring based architecture
  • 9. facebook – Data Partition initial thoughts • Horizontal partitioning based on Networks. – Harvard Statistics – Stanford What is Facebook Technical challenges – Carnegie Front End Data arch Services architecture
  • 10. facebook –Photos - HayStack • Each File read required a minimum of 3 i/o in a typical file system • CDNs- Not a Solution • Haystack is a customized storage Statistics system, which minimizes the What is Facebook Technical challenges Front End amount of File metadata and involves only 1 i/o for each file Data arch Services architecture read. • Haystack caches extensive data in in its main memory
  • 11. facebook – HayStack Statistics HayStack Interface HayStack HayStack What is Facebook Cache Directory Technical challenges Front End Data arch Logical Drives Logical Drives Services architecture PD PD PD PD PD PD http://CDN/Cache/Machine id/(Logical volume, Photo)
  • 12. Facebook – Serving the Photo - Haystack Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 13. Facebook – Scribe - Logging Nodes Nodes Nodes Scribe Scribe Scribe Statistics What is Facebook Technical challenges Front End $messages = array(); $entry = new LogEntry; Data arch Central Scribe Server $entry->category = "buckettest"; Services architecture $entry->message = "something very”; $messages []= $entry; $result = $conn->Log($messages); Dashboards HBase
  • 14. facebook – Services– Thrift • Lightweight Software framework for cross- language development • Dev need not worry about serialization , connection handling and threading • Supported bindings: Statistics What is Facebook Technical challenges – C++, PHP, Python, java, ruby, erlang, perl, Front End haskell • Transports : Simple interface to i/o Data arch Services architecture • Protocols : Serialization format – TBinaryProtocol, TJsonProtocol • Severs – Non Blocking, Async, Single threaded, multi- threaded
  • 15. facebook – Memcache • In-memory distributed hash table • “hot” data from MySQL stored in cache Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 16. facebook – front end - PHP • Op – Code Optimization • APC improvements(alternate PHP cache) – Lazy Loading – Cache priming Statistics • Custom Extensions What is Facebook Technical challenges – Memcache Client Extension Front End – Serialization format Data arch – Logging, Stats Collection, Monitoring Services architecture – Asynchronous event-handling mechanism
  • 17. facebook – front end – Hip Hop • Source Code Transformer • Static Analysis, type inference, Code Generation Statistics • Easier to write extensions What is Facebook Technical challenges • Significantly cuts down on CPU and Memory usage Front End Data arch Services architecture
  • 18. facebook – front end – Hip Hop Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 19. facebook – front end – BigPipe BigPipe first breaks web pages into multiple chunks called pagelets Statistics What is Facebook Technical challenges Front End Data arch Services architecture
  • 20. facebook – front end – BigPipe BigPipe first breaks web pages into multiple chunks called pagelets Request Parsing Web Server parses and sanity checks the request Data Fetching Web Server fetches data from storage tier Statistics What is Facebook Markup Generation Web server generates HTML Markup Technical challenges Front End Network Transport Response is transferred Data arch Services architecture CSS downloading Dom Tree Construction JavaScript downloading JS Execution
  • 21. facebook – Technology Stack Front End Big Pipe Hip Hop PHP - Custom compiler / Cache implementations Linux – Custom Kernel Extensions Service Aggregators Scribe Thrift Service 1 Service 2 Service 3 Service 4 Data Store MemCache – Write Through Cache implementation Cassandra MySQL HBase HayStack
  • 22. facebook – Messages Infrastructure Statistics What is Facebook Technical challenges Front End Data arch Services architecture Messages
  • 23. facebook - Messages Statistics What is Facebook Technical challenges Front End Data arch Services architecture Messages
  • 24. facebook - Messages Statistics What is Facebook Technical challenges Front End Data arch Services architecture Messages
  • 25. facebook – Cells Cell Node 1 Statistics What is Facebook Node Technical challenges Node2 n Zookeper Front End Controller Data arch Machines Services architecture Messages Node Node 4 3 Application Server Cluster Metadata Store
  • 26. facebook – Cells • They help scale incrementally while limiting failure scenarios • Easy upgrades Statistics What is Facebook • Metadata store failures affect only a few Technical challenges users Front End Data arch Services architecture • Easy rollout Messages • Flexibility to host cells in different data centers with multi-homing for disaster recovery
  • 27. Take away – for our applications • Really parallel Asynchronous AJAX Pages – ASP.Net Update panels is a HOAX • Appropriate usage of client side technology • Cache – Cache – Cache – Write Through Caches are way better – App Fabric cache/ Memcache • High – Normalization is not needed – Store denormalized views – materialized views • Parallel Services and Service aggregators • Fault tolerant applications • Asynchronous Processing • 1 Sec response time is too SLOW
  • 28. References • http://facebook.com/engineering • www.infoq.com • www.highscalability.com • www.stackoverflow.com • www.thrift.org
  • 29.
  • 30. Keep Learning For suggestions on topics/ feedbacks etc., Contact OpenTalk@aditi.com