Orientdb : 2.1.3
Pyorient : 1.4.7
pyorient によって、10 万の頂点と 50 万のエッジを持つグラフを Orientdb にインポートする必要があります。
db.command を 1 つずつ
まず、db.command("create vertex V set a=1") を使用して、すべての頂点とエッジを 1 つずつ挿入します。
でも2時間くらいかかります。
ですから、このプロセスを最適化する方法を見つけたいと思っています。
大量挿入?
次に、 Orientdb がMassive Insertをサポートしていることがわかりましたが、残念ながら pyorient の作成者は大規模な挿入の問題で: トランザクションはありませんか? と述べた
bynary プロトコル (そしてもちろん pyorient の場合) では、大規模な挿入の意図はありません。
SQL バッチ
Pyorient はsql バッチをサポートしています。これはチャンスかも!
すべての挿入コマンドをまとめて、db.batch() で実行するだけです。
たとえば、5000個の頂点と20000個のエッジを持つグラフを取ります
SQL バッチ
vertexs : 25.1708816278 s edges : 254.248636227 s
オリジナル
constrct vertexs : 19.5094766904 s construct edges : 147.627924276 s
..SQL バッチのほうがはるかに時間がかかるようです。
ということで、何かいい方法がないか知りたいです。
ありがとう。