我有一个包含 400 万个节点和 1 亿个关系的 neo4j 图数据库。我尝试使用一种算法为所有相邻节点对(基本上是所有边)计算一个数字,该算法对所有节点使用传入、传出边的数量以及所有传出边的所有传入边的数量。
我正在使用 Java API,但我意识到获取所有传出边的这些传入边非常慢。我尝试获取所有这些数据并使用多个线程进行计算,结果变得更好,但对于给定节点及其所有相邻边缘仍然需要几秒钟(有时 30 秒)。(没有线程可能需要 15 分钟)。因此,如果我想对所有边进行此计算,那么我应该达到每个节点几毫秒的时间框架。
所以我会问,使用多线程的一般策略是什么——以及如何使用嵌入式 neo4j 图形数据库(比如在四核 4G 笔记本电脑上?)。