构建一个Twitter用户数据库

Rod*_*d0n 2 twitter graph relational-database neo4j

我正在构建一个简单的twitter图表,我正在与团队的其他成员讨论如何实现它.

我认为A选项是最好的,因为性能和简单性,但其他成员(项目负责人特别喜欢C)由于缺乏平台经验而不相信.

我从未在生产应用程序中使用过图形,所以当PL开始将它与C选项进行比较时,我没有强大的参数.

所以我问你根据自己的经验选择哪个选项?

内容:

  • Twitterusers
  • 清单
  • 兴趣

A)neo4j图

节点:

  • twitteruser
  • 名单
  • 利益

关系:

  • 跟随(user1,user2)
  • member_of(用户,列表)
  • interest_in(用户,兴趣)

B)相同的图形,但在较小的图形中分开以提高性能.

C)简单的neo4j图和用于查询数据的关系数据库.

.图形:

节点:

  • twitteruser

关系:

  • 相似度(user1,user2)

.relational db:A的节点将转换为表,关系将通过多对多键完成.

Rad*_*duK 5

根据您的描述,我个人认为没有任何选项B和C的原因.您描述的场景看起来非常适合作为Neo4j的图形数据库.

如果选择选项C,则会有很多代码只在两个数据库之间进行id转换和同步.你最好有充分的理由使用这样的两家商店.

  • 也许我错过了你项目的一些细节,但通常你会通过用Neo4j中的边缘替换多对多关系数据来获得重要的性能提升.这是存储关系时使用图表db的主要原因之一. (2认同)