TAO: how facebook serves the social graph

  • Authors:
  • Venkateshwaran Venkataramani;Zach Amsden;Nathan Bronson;George Cabrera III;Prasad Chakka;Peter Dimov;Hui Ding;Jack Ferris;Anthony Giardullo;Jeremy Hoon;Sachin Kulkarni;Nathan Lawrence;Mark Marchukov;Dmitri Petrov;Lovro Puzar

  • Affiliations:
  • Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo Park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA;Facebook, Menlo park, CA, USA

  • Venue:
  • SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Over 800 million people around the world share their social interactions with friends on Facebook, providing a rich body of information referred to as the social graph. In this talk, I describe how we model and serve this graph. Our model uses typed nodes (fbobjects) and edges (associations) to express the relationships and actions that happen on Facebook. We access the graph via a simple API that provides queries over the set of same-typed associations leaving an object. We have found this API to be both sufficiently expressive and amenable to a scalable implementation. In the last segment of the talk I describe the design of TAO, our graph data store. TAO is a distributed implementation of the fbobject and association API that has been serving production traffic at Facebook for more than 2 years.