OrientDB 2.1.4 と blueprints-core-2.6.0 を使用しています。
既存の頂点の値を更新するか、存在しない場合は新しい頂点を作成する必要があります。(45 秒ごとに 30k の頂点が予想されます)
私の頂点クラスは次のとおりです: Device(Name, Type, ActiveSessionCount) - 各デバイスの「名前」は一意のエンティティです。
デバイスが存在する場合は、デバイスの ActiveSessionCount を更新する必要があります。そうでない場合は、新しいデバイス頂点を作成します。
if (graph.getVertices(keyName, key).iterator().hasNext()) {
vertex = (OrientVertex) graph.getVertices(keyName, key).iterator().next();
} else {
vertex = graph.addVertex(className, attributeName, key);
}
頂点が存在するかどうかを確認しようとしています。頂点が既に存在する場合は、さらに更新するために頂点オブジェクトを取得しました。それ以外の場合は、新しい頂点オブジェクトを作成しました。
これは機能しますが、30k レコードの実行には数分かかりますが、45 秒で同じことを達成する必要があります。