有使用复杂遍历的图数据库经验的人吗?并从 Erlang 使用它?优点?小字?
出于某种原因,默认选择似乎是 neo4j。
我喜欢 Phoebus(Erlang 中的分布式图形查询,基于 Google 的 Pregel 算法),但它似乎是废弃软件。
看看OrientDB,它是 Neo4J 的一个很好的替代品。OrientDB 是完全开源的,与具有商业许可证的 Neo4J 不同。此外,OrientDB 支持标准蓝图 API,并且基于 RB-Tree 算法,这些算法在各种图形用例中表现出色。
大多数图形数据库的共同点是它们只能按比例放大。它们可以横向扩展,尽管通常作为只读实例。这意味着如果您的数据量过多,您还需要一个非常大的服务器(内存和存储)。
分布式图替代方案是Titan。Titan是一个分布式图数据库,我相信它是基于Hadoop的。Titan 旨在向外扩展,可以为大规模并行提供一种有趣的方法,但需要一些开销。有些用例更合适,例如类似于 Google Pregel 用例。