Erlang有哪些具有良好查询/遍历功能的图形数据库?

7

有没有使用图形数据库进行复杂遍历并从Erlang中使用的经验?优势是什么?需要注意哪些细节?

似乎默认选择是neo4j,但原因不明。

我喜欢Phoebus(基于Google的Pregel算法的Erlang分布式图形查询),但它似乎已被放弃。

2个回答

9

请看一下OrientDB,这是一个很好的Neo4J替代品。与需要商业许可的Neo4J不同,OrientDB完全开源。此外,OrientDB支持标准的蓝图API,并基于RB-Tree算法,在各种图形用例中表现非常出色。

大多数图形数据库所共有的是它们仅可以扩展上限,虽然通常可以作为只读实例进行扩展。这意味着如果您的数据量过大,您将需要一个非常大的服务器(内存和存储)。

分布式图形的替代选择是Titan。Titan是一个分布式图形数据库,我认为是基于Hadoop的。 Titan旨在进行扩展,并提供大规模并行处理的有趣方法,但会带来一些额外的开销。一些用例更适用于此,例如类似于Google Pregel的用例。


1
Neo4J是双重(三重)许可证GPL/AfferoGPL(附加组件)/商业许可证。 - stoft

1

您可以像Stardog一样在RDF数据库中表示图形。应该有一些现成的代码可以使用Erlang进行SPARQL查询。

维基百科有一个相当不错的三元存储列表


嗯,像Neo4J这样的“直接”图形表示数据库更方便/更有能力,不是吗?我对RDF /语义Web不感兴趣,更像是FOAFD(朋友的朋友的狗)。 - mrkafk
这篇文章可能会引起您的兴趣。https://dev59.com/XW445IYBdhLWcg3wOnvW - ERR0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接