2017-07-01 82 views
0

我正在导入一个重要大小的文件,如orientdb 11M边与20000个节点上的图形一样。 并且徒然花费太多时间。 有没有一种方法来优化图形加载或探索16G机器的最大性能。Orientdb永久加载图形(大集)

我的问题是为什么要花费很多时间? 其次,我该如何优化?

+0

你是如何导入图表的?你在使用plocal吗?它是什么样的图形(边缘分布)? – Lvca

+0

@Lvca,它是一个巨大的图,我先导入顶点,然后从每个部分创建3个json文件的ETL文件。 v1-hasedge ----> v2。我继续插入v1,然后是v2,最后创建边缘 –

回答

0

一些建议的快速导入:

  • 使用plocal连接,如果你能
  • 使用事务连接,并承诺在批〜500条记录
  • 尽量避免频繁顶点的重装。大多数时候,插入新边的最大部分时间花费在寻找两个顶点。
  • ,如果你的图形是不是巨大的,用例是很简单的,你可以尝试看看这个http://orientdb.com/docs/2.2.x/Graph-Batch-Insert.html
  • 如果您主要关注的是插入速度,OrientDB ETL是不是最好的选择,使用一些自定义的Java代码代替
+0

我不允许使用java。并且我已经使用1000的重叠和批量提交。我认为它与服务器的配置有关,因为我保留默认参数 –

+0

plocal与java意味着嵌入在java程序本身,所以没有网络往返和实质上直接访问存储层。所以你正在一个独立的服务器上工作。 “为什么要花费很多时间?”你能给出一个指标吗?没有数字的时间太长是不够的。此外,用于加载图形的一小段代码,以及一些情景:导入一次或定期重复? –

+0

当您在顶点之间创建边时,您是否在创建用于查找的vertice属性(多个)上创建索引? – Lvca