2017-07-01 78 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