开源图数据库

问题描述 投票:0回答:7

我的项目需要图形数据库。我想在图上执行最短路径操作。我搜索了 google,找到了 neo4j、InfoGrid 和 sons。我不确定哪一个表现最好。

Neo4j 也坚持读取查询的事务,所以我担心这会导致延迟。我想要高性能的图数据库引擎。如果它也能支持最短路径那就太棒了。

java database graph nosql
7个回答
6
投票

我同意@Reinderien,你应该对这些产品进行测试。但我也会在其中添加OrientDB。在此评论中引用其作者:

我在 OrientDB 工作。这是一个 NoSQL 混合文档图数据库管理系统 图的特殊运算符 操作。主要区别是 您可以使用 SQL 查询它 具有某些扩展名的语言,例如:

select from People where friends TRAVERSE(1,7) (name = 'Ayende' and surname = 'Rahien')

这意味着让所有的人 有任何朋友关系 你达到了第七层分离。

根据其网站,表演看起来相当不错。至少值得一看。


2
投票

我想你也可以关注Flockdb


1
投票

幸运的是,其中大多数都有一个通用界面:蓝图。除此之外还有很多技术,例如 Gremlin 语言和对图的 REST 访问。访问 Tinkerpop 了解更多。

关于基准测试,有一个名为 graphdb-bench 的正在进行中的项目(始终由 Tinkerpop 开发),但 AFAIK 正在开发中。


0
投票

为什么不测试所有三个并为您的特定数据应用基准?否则很难说哪一个执行得最快。


0
投票

从 1.1 版本开始,您可以在 Neo4j 中不使用事务来读取数据。如果您想读取未提交的数据,则只能从同一事务内部执行此操作(显然首先需要一个事务)。有关交易的更多信息可以在 Neo4j wiki 中找到。


0
投票

我建议您看一下 AgensGraph 及其性能。

https://bitnine.net/agensgraph/

AgensGraph 还支持“最短路径”,您可以轻松使用它。


0
投票

Nebula Graph(0) 是现代的、开源的(1)、可扩展的(大规模)、高性能的,您可以在 3 个副本和 1 个副本之间进行选择。 支持

FIND PATH
(2)

(0) https://github.com/vesoft-inc/nebula

(1) https://github.com/vesoft-inc/nebula#licensing

(2) https://docs.nebula-graph.io/2.5.1/3.ngql-guide/16.subgraph-and-path/2.find-path/

nebula> FIND SHORTEST PATH FROM "player102" TO "team204" OVER *;
+--------------------------------------------+
| path                                       |
+--------------------------------------------+
| <("player102")-[:serve@0 {}]->("team204")> |
+--------------------------------------------+
© www.soinside.com 2019 - 2024. All rights reserved.