起亚奥拉,
我有一个程序经常需要在包含约 50k 个节点的图上找到最快的路径(节点序列和总成本/长度)。每次运行,我需要数百万个最短路径请求。我刚刚完成了一个 OrientDB 实现,与我最初的非 graphDB 尝试(简单地崩溃)相比,它显着改善了计算时间。为了执行测试,我在一系列分布式机器上本地运行服务器。
但是,理论上,Neo4J 或其他类似平台会再次变得更快吗?我可以期望获得什么收益?例如,我可以在线主持这个过程吗?
恩加米希。
起亚奥拉,
我有一个程序经常需要在包含约 50k 个节点的图上找到最快的路径(节点序列和总成本/长度)。每次运行,我需要数百万个最短路径请求。我刚刚完成了一个 OrientDB 实现,与我最初的非 graphDB 尝试(简单地崩溃)相比,它显着改善了计算时间。为了执行测试,我在一系列分布式机器上本地运行服务器。
但是,理论上,Neo4J 或其他类似平台会再次变得更快吗?我可以期望获得什么收益?例如,我可以在线主持这个过程吗?
恩加米希。
如果您正在寻找大量请求的速度,也许您可以尝试Memgraph。它是一个内存图形数据库,已经将所有数据存储到 RAM 中,因此您无需将所有数据加载到磁盘,从而为您带来优势。一般来说,50K的节点算不上一个大图,各种数据库都将自己的遍历算法直接实现到了数据库的核心。
您是在寻找 Dijkstra 的最短路径,还是由跳数定义的最快路径?