Design patterns for social networking site like facebook?

smitten11 picture smitten11 · Apr 8, 2011 · Viewed 12.3k times · Source

I am interested in understanding the design principals to use to create the backend for a social networking site. I read up a few resources and found that facebook uses a graph as an underlying data structure where each node could be user/page/album etc. However, just that does not give me a top level view (block diagram or class diagram) on how to go about implementing a few basic features like (all using the graph data structure):

  1. Adding/removing friends
  2. News feed
  3. Messaging

Any pointers on any resources would be great. I am also interested in finding out if a design pattern exists for a social networking site.

Please note that I am not looking for any language specific solution

Answer

Nilesh picture Nilesh · Apr 8, 2011

Have you looked at this StackOverflow Thread

and this and this and this?

Please do a search on SO and you will land with many more! None seem conclusive but that's more to do with the nature of your question!

EDIT: You may find this linked in architecture presentation useful!