Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储2600万边图的有效方法_Java_Graph_Bigdata - Fatal编程技术网

Java 存储2600万边图的有效方法

Java 存储2600万边图的有效方法,java,graph,bigdata,Java,Graph,Bigdata,我对图形处理和 我有一个有2600万条边和节点的图,我想在上面运行k-最短路径算法,目前,我正在使用hashmap来存储边,但是我得到了java堆空间内存不足的错误(这是可以理解的) 所以我的问题是什么是存储这个图的最有效的方法,这样我就不会出现内存溢出错误,并且我可以有效地运行k-最短路径算法。 是否有专门用于图形的内存中数据库?内存中有不同的图形数据库(在处理和存储方面为本机数据库和非本机数据库)。您可以在以下内容中找到三种最受欢迎的方法: Bitsy是一个小型、快速、可嵌入、持久的内存图

我对图形处理和 我有一个有2600万条边和节点的图,我想在上面运行k-最短路径算法,目前,我正在使用hashmap来存储边,但是我得到了java堆空间内存不足的错误(这是可以理解的)

所以我的问题是什么是存储这个图的最有效的方法,这样我就不会出现内存溢出错误,并且我可以有效地运行k-最短路径算法。
是否有专门用于图形的内存中数据库?

内存中有不同的图形数据库(在处理和存储方面为本机数据库和非本机数据库)。您可以在以下内容中找到三种最受欢迎的方法:

  • Bitsy是一个小型、快速、可嵌入、持久的内存图形数据库,它实现了Blueprints API
  • (GE)是一个分布式内存数据处理引擎,由强类型RAM存储和通用分布式计算引擎支撑
  • 是唯一一个使用先进的机器学习算法将图形自动分发到群集节点的数据库。可伸缩性没有限制。将数据绑定到CPU电源:为分析处理启用并行处理和高级性能。将内存计算和低成本存储结合起来,用于企业计算场景
此外,您还可以使用一些流行的缓存系统,如Redis。如果您想存储邻接矩阵内联内存,Redis可能是一个合理的选择。

这篇文章可能很有用: