我目前有一个包含大约1000 万个节点和3500 万条边的图。现在,完整的图形在程序启动时被加载到内存中。这需要几分钟(毕竟是 Java)并且需要大约半 GB 的 RAM。目前,它运行在具有双核处理器和 4 GB RAM 的机器上。
当使用广度优先搜索来搜索图表时,内存使用量会上升到 1 GB 的峰值,平均需要 10 秒。
我想在几台计算机上部署该程序。除了图形搜索之外的功能确实需要很少的资源。我的目标系统非常微型,只有 512 兆字节的 RAM。
关于如何实现一种方法(可能使用数据库)来搜索该图而不消耗太多内存的任何建议?该程序在访问硬件设备时大部分时间都处于空闲状态,因此上述图表的路径查找最多可能需要大约 5 分钟......
感谢您向我提出的任何想法。
更新:
刚刚找到neo4j。有人知道它是否适合这种巨大的图表吗?