开发者

What should I use for the backend of a 'social' website?

My two main requirements for the site are related to degrees of separation and graph matching (given two graphs, return some kind of similarity score).

My first thought was to use MySql to do it, which would probably work out okay for storing how I want to manage 'friends' (similar to Twitter), but I'm thinking if I want to show users results which will make use of graphing algorithms (like shortest path between two people) maybe it isn't the way to go for that.

My language of choice for the front end, would be Python using something like Pylons but I haven't committed to anything specific yet and would be willing to budge if it fitted well with开发者_StackOverflow中文版 a good backend solution.

I'm thinking of using MySQL for storing user profile data, neo4j for the graph information of relations between users and then have a Python application talk to both of them.

Maybe there is a simpler/more efficient way to do this kind of thing. At the moment for me it's more getting a suitable prototype done than worrying about scalability but I'm willing to invest some time learning something new if it'll save me time rewriting/porting in the future.

PS: I'm more of a programmer than a database designer, so I'd prefer having rewrite the frontend later rather than say porting over the database, which is the main reason I'm looking for advice.


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


MySQL is really your best choice for the database unless you want to go proprietary.

As for the actual language, pick whatever you are familiar with. While Youtube and Reddit are written in python, many of the other large sites use Ruby (Hulu, Twitter, Techcrunch) or C++ (Google) or PHP (Facebook, Yahoo, etc).


I realize this is probably not exactly the answer you are looking for, but I think it benefits mentioning for viewers/seekers of the question overall: BuddyPress is a well-honed "out of the box" social networking platform, built on top of WordPress (php, MySQL). It's a great system if you're not trying to do advanced things, and if you are trying to do advanced things you can still get pretty far without having to overload into some other deeper language like Python.

http://buddypress.org/


I'd use a combination of Graph Database plus MySQL. The Graph database should only be used to efficiently store user information and relations. For everything else like user pages etc. I'd use MySQL.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜