My two primary needs for that site are based on levels of separation and graph matching (given two graphs, return some type of similarity score).

My first thought ended up being to use MySql to get it done, which may most likely exercise okay for storing how I wish to manage 'friends' (much like Twitter), but I am thinking if I wish to show customers results that will take advantage of graphing calculations (like least path between a couple) maybe it is not what you want for your.

My language of preference for that front-end, could be Python using something similar to Pylons however i haven't devoted to anything specific yet and could be prepared to budge whether it fitted well with a decent after sales solution.

I am considering using MySQL for storing account data, neo4j for that graph information of relations between customers after which possess a Python application speak with each of them.

Maybe there's a less complicatedOrmuch more efficient method of doing this type of factor. Right now for me personally it's more obtaining a appropriate prototype done than worrying about scalability but I am prepared to invest a while learning new things if it'll save me time spinning/porting later on.

PS: I am much more of a programmer than the usual database designer, so I'd prefer getting rewrite the frontend later instead of say porting within the database, the primary reason I am searching for advice.

Python/Django provides with Pinax a great framework for social websites.

MySQL is actually your very best option for the database unless of course you need to go proprietary.

For the particular language, pick anything you understand. While Youtube and Reddit are designed in python, most of the other large sites use Ruby (Hulu, Twitter, Techcrunch) or C++ (Google) or PHP (Facebook, Yahoo, etc).

I recognize this really is most likely not quite the solution you're searching for, but It benefits mentioning for audiences/searchers from the question overall: BuddyPress is really a well-honed "as they areInch social media platform, built on the top of WordPress (php, MySQL). It is a great system if you are not attempting to do advanced things, and when you are attempting to complete advanced stuff you can continue to get pretty far without needing to overload into another much deeper language like Python.

I'd use a mix of Graph Database plus MySQL. The Graph database should only be employed to effectively store user information and relations. For anything else like user pages etc. I'd use MySQL.