我应该在“社交”网站的后端使用什么?

时间:2010-06-27 02:19:40

标签: python sql mysql database

我对网站的两个主要要求与分离度和图形匹配有关(给出两个图形,返回某种相似度得分)。

我的第一个想法是使用MySql来实现它,这可能会很好地存储我想要管理“朋友”(类似于Twitter)的方式,但我在想是否要向用户显示结果利用图形算法(如两个人之间的最短路径)也许不是那种方法。

我的前端选择语言是Python使用像Pylons这样的东西,但我还没有承诺任何特定的东西,并且如果它与一个好的后端解决方案很好地合作就愿意让步。

我正在考虑使用MySQL存储用户配置文件数据,neo4j用于用户之间关系的图形信息,然后让Python应用程序与它们进行对话。

也许有一种更简单/更有效的方法来做这种事情。目前对我来说,更多的是获得一个合适的原型,而不是担心可扩展性,但我愿意花一些时间学习一些新东西,如果它将节省我将来重写/移植的时间。

PS:我更像是程序员而不是数据库设计师,所以我宁愿稍后重写前​​端,而不是说要移植数据库,这是我寻求建议的主要原因。

4 个答案:

答案 0 :(得分:3)

Python / Django为Pinax提供了一个很好的社交网站框架。

答案 1 :(得分:2)

除非您想要专有,否则MySQL确实是数据库的最佳选择。

至于实际的语言,选择你熟悉的任何语言。虽然Youtube和Reddit是用python编写的,但许多其他大型网站都使用Ruby(Hulu,Twitter,Techcrunch)或C ++(Google)或PHP(Facebook,Yahoo等)。

答案 2 :(得分:0)

我意识到这可能不是你正在寻找的答案,但我认为这对整个问题的观众/寻求者有所帮助:BuddyPress是一个精心打造的“开箱即用”社交网络平台,建立于WordPress的顶部(php,MySQL)。如果你不想做高级的事情,这是一个很棒的系统,如果你正在尝试做高级的事情,你仍然可以做到相当远,而不必过载其他更深层次的语言,如Python。

http://buddypress.org/

答案 3 :(得分:0)

我使用Graph Database和MySQL的组合。 Graph数据库应该仅用于有效地存储用户信息和关系。对于其他所有内容,例如用户页面等。我会使用MySQL。