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):
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
Have you looked at this StackOverflow Thread
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!