什么是适用于自引用(跟随,跟随)结构社交网络应用程序的数据库解决方案?

时间:2012-01-15 23:19:57

标签: mysql ruby-on-rails

我打算使用以下/关注功能构建新的SNS Web应用程序。我正在考虑使用Ruby on Rails + MySQL,但我发现如果我使用它们,它将需要一些常用功能的JOIN查询,比如显示你正在关注的用户生成的内容。我认为它不能很好地扩展。

那么,其他类似的SNS是如何解决这个问题的?这种功能有行业标准吗?

2 个答案:

答案 0 :(得分:0)

您可以使用非SQL数据库 - 例如Apache Hadoop或HBade。

通常在没有复杂性的大型项目中,您不需要使用具有连接开销的关系数据库。

例如,Google阅读器使用BigTable作为数据库,它是一个无sql数据库。

答案 1 :(得分:0)

我同意调查NoSQL,但是会通过建议Neo4j进一步限定它,Neo4j是一个图形数据库,其中包含您正在寻找的所有基元,并使用针对跟随/关注者优化的查询语言。

  

“图形是集合节点(事物)和边缘(关系)的集合   连接节点对。节点上的Slap属性(键值对)   关系,你有一个令人惊讶的强大的代表方式   大多数你能想到的东西。在图形数据库中“关系是   一等公民。它们连接两个节点和两个节点   关系可以包含任意数量的键值对。那么你   可以将图形数据库视为键值存储,并提供全面支持   为了关系。“

http://highscalability.com/neo4j-graph-database-kicks-buttox

对于Rails特定示例,请查看:

http://neo4j.rubyforge.org/guides/rails3.html