2

私はDataStax Enterprise Graphを使用しており、Gremlin を使用してグラフ データベースからアプリにすべてのノードをストリーミングしたいと考えています。

:永続変数のセッションを使用して、WebSocket 経由でGremlin サーバーと通信しています。

メモリ内のすべてのノードを取得せずにこれを行うには、まずサーバー上にイテレータを作成します。

// called once
iter = g.V();

次に、反復子をバッファに徐々に読み込み、バッファの内容を返します。

// called multiple times, until it returns an empty array
results = []
while (itemStream.hasNext() && results.size < 5000) {
    results.push(itemStream.next())
}
return results

以前はTitanDBでこれを行っていましたが、問題なく動作しました (1 秒あたり数千ノードの読み取り)。

DSE Graphを使用すると、はるかに遅くなり (1 秒あたり 330 回の読み取り)、わずか 400,000 個のノードを読み取った後に次のエラー エラーが発生します。

操作がタイムアウトになりました - 0 応答しか受信しませんでした。

DSE Graphでこれを行うより良い方法はありますか?

4

0 に答える 0