有没有使用图形数据库进行复杂遍历并从Erlang中使用的经验?优势是什么?需要注意哪些细节?
似乎默认选择是neo4j,但原因不明。
我喜欢Phoebus(基于Google的Pregel算法的Erlang分布式图形查询),但它似乎已被放弃。
请看一下OrientDB,这是一个很好的Neo4J替代品。与需要商业许可的Neo4J不同,OrientDB完全开源。此外,OrientDB支持标准的蓝图API,并基于RB-Tree算法,在各种图形用例中表现非常出色。
大多数图形数据库所共有的是它们仅可以扩展上限,虽然通常可以作为只读实例进行扩展。这意味着如果您的数据量过大,您将需要一个非常大的服务器(内存和存储)。
分布式图形的替代选择是Titan。Titan是一个分布式图形数据库,我认为是基于Hadoop的。 Titan旨在进行扩展,并提供大规模并行处理的有趣方法,但会带来一些额外的开销。一些用例更适用于此,例如类似于Google Pregel的用例。