問題タブ [graphenedb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
236 参照

python - PythonAnywhere を使用して GrapheneDB に接続しているときに「接続が拒否されました erno 111」

GrapheneDB への接続を確立しようとしています。

このコードを Spyder で実行していますが、問題なく動作しています。

このコードをサーバー (Pythonanywhere) で実行するとすぐに

エラーが表示されます: connect raise ServiceUnavailable("{!r} への接続を確立できませんでした (reason {})".format(resolved_address, error)) neobolt.exceptions.ServiceUnavailable: への接続を確立できませんでした ('54.234.36.208', 24787 ) (理由 [Errno 111] 接続が拒否されました)

何が悪いのかわかりません。GrapheneDB は、どこでも python のホワイトリストにも載っています。

0 投票する
1 に答える
71 参照

neo4j - Neo4J 保存クエリのパフォーマンス (GrapheneDB)

Neo4J グラフ データベース (プロバイダーとして GrapheneDB を使用) を利用する .Net アプリケーションを作成しました。新しいグラフ オブジェクトを保存すると、パフォーマンスの問題が発生します。グラフの履歴を保持していないので、保存するたびに、最初にノードと関係を含む古いグラフを削除してから、新しいグラフを保存します。ノードにまだインデックスを付けていません。これらのグラフを一度に複数ロードするのは非常に高速なので、これは問題ではないと思います。

私の save メソッドは、各ブランチをステップ実行し、ノードと関係をマージします。(きれいにするために、各ステップから関係を除外しました)。完全なクエリが作成された後、コードは 1 回で実行されます。

  1. ルート ノード 37 とノード 4 をマージします。
  2. type1 ノード 12-17 を 4 とマージ
  3. type2 ノード 18-22 を 4 とマージ
  4. 2 を 37 とマージする
  5. 7-11 を 2 にマージ
  6. 5 を 37 とマージします (関係を作成します)
  7. 23-26 を 5 にマージ
  8. 6 を 37 とマージします (関係を作成します)
  9. 30-27 を 6 とマージ

ノード 2、4、5、6 は、100 ~ 200 のリーフ ノードを持つことができます。私のデータベースには、これらのグラフが約 100 個あります。この保存には、実稼働環境でサーバーに 10 ~ 20 秒かかる場合があり、タイムアウトになることもあります。

ここに画像の説明を入力

別の方法で保存しようとしましたが、時間がかかりますが、タイムアウトすることはあまりありません。最初にノードのグループを作成します。各ノードにはルート ID 37 が格納されます。各グループは個別の実行で作成されます。ノードを作成したら、子ノードとルート ノードを選択して関係を作成します。これにより、クエリが個別の小さなクエリに分割されます。

この保存のパフォーマンスを改善するにはどうすればよいですか? これらのグラフを 30 個読み込むには、3 ~ 5 秒かかります。また、データが追加されるにつれて、保存のパフォーマンスが大幅に低下することにも注意してください。