如何维护Instagram中的关注列表?

时间:2013-05-20 03:26:40

标签: architecture graph social-networking graph-databases

我正在努力建立一个类似于Instagram / Facebook原则的网络;即,将有许多用户,他们可能以单向方式彼此连接。像图表一样。

一种简单而天真的方法是为每个用户创建一个目录,并有一个JSON文件列出该用户所关注的所有其他用户。

Graph Databases的性能如何以及哪一个更适合一个开始(基本上,用户友好的安装,而不是很多.conf更改)。

如果有更好的设计,请提出建议。感谢

1 个答案:

答案 0 :(得分:1)

图形数据库非常适合存储和遍历实体以及它们彼此之间的关系。从这个意义上说,我认为使用图形数据库可以很好地利用你的时间。我建议从TinkerPop开始:

http://tinkerpop.com

为许多图形数据库提供程序提供类似JDBC的连接。通过这种方式,您可以通过通用界面尝试许多不同的图形数据库,以找到适合您需求的图形数据库。它还提供了一种通过Gremlin(图形遍历语言)进行非常少的设置和配置的方法。您可以通过REPL和TinkerGraph(一个简单的内存图)看到如何开始使用它:

https://github.com/tinkerpop/gremlin/wiki/Getting-Started

从那里开始,您需要查看不同的蓝图支持的图形数据库(例如Titan,OrientDB,Neo4j等),以找到适合您需求的图形数据库。