2016-02-15 33 views
-1

我正在寻找图形数据库的选项以用于项目。我预计每天会有〜100000次写入(vertix + edge)。而更少的读数(每小时几次)。最常见的查询需要2个边缘深度跟踪,我期望返回〜10-20个结果节点。 我没有图形数据库的经验,并希望与gremlin一起工作,以便能够根据需要切换到另一个图形数据库。现在我考虑两种可能性:neo4j和泰坦。需要建议选择图形数据库

正如我所看到的,Neo4j有足够的社区,信息和工具,所以我宁愿从它开始。他们的容量数量应该足够满足我们的需求(约340亿节点,约340亿条边)。但我不确定在这种情况下我会面对哪些硬件要求。另外,我没有看到他们的查询有任何并行选项。

另一方面,泰坦是为水平可扩展性而构建的,并与集中并行工具(如spark)集成。所以我可以预期硬件需求可以以线性方式扩展。但泰坦的信息/社区/工具要少得多。

我会很高兴听到您的建议

回答

2

塞巴斯蒂安好做了精彩的演讲比较多个数据库彼此。你可以看看他在here的结果。

演示的快速摘要这里 enter image description here

有关使用不同的数据集,不同节点的大小和缓存每个图形数据库基准测试,请看看这个Github repository通过socialsensor。只是为了让你知道,回购的结果与演示文稿中的结果有些不同。

我个人的建议是:

  1. 如果你有雄厚的财力,去Neo4j的。凭借技术支持和简便的CIPHER,事情将会非常迅速。

  2. 如果您支持开放源代码(并且耐心开发周期),请使用适用于Amazon Dynamo DB后端的Titan DB。这将为您提供EC2机器和Dynamo表的“无限”可扩展性和良好性能。有关更多信息,请查询here for docshere for their code

+0

谢谢你的回答。您能否为所提供的用例增加一些关于硬件要求和成本效率的内容? –

+0

@OlgaGorun看看Neo4j定价http://neo4j.com/subscriptions/。对于Titan/DynamoDB,请看这里http://tinyurl.com/gpv9t43 –