問題タブ [arangojs]
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.
arangodb - ArangoDB AQL: 複数の開始頂点からグラフをトラバースできますが、すべてのトラバーサルで一意の頂点を確保できますか?
比較的小さな互いに素なグラフを多数含むグラフ データセットがあります。特定の検索条件に一致する一連の頂点から到達可能なすべての頂点を見つける必要があります。次のクエリを使用します。
クエリは正しい結果を返しますが、非常に低速です。これは、Arango が実際に同じサブグラフを何度もトラバースすることになるためです。たとえば、次のサブグラフがあるとします。
フィルター条件によって頂点 a と c が選択されると、Arango は a と c から始まる 2 つの独立したトラバーサルを実行することになります。これらのトラバーサルの両方で頂点 d と e を訪問するため、時間が無駄になります。異なるトラバーサル間で頂点の一意性がチェックされないため、uniqueVertices オプションを追加しても役に立ちません。
パフォーマンスへの影響を確認するために、追加のルート ドキュメントを作成し、そこからフィルターで見つかったすべてのドキュメントへのリンクを追加しました。
次のクエリは、同じ結果を生成しながら、元のクエリよりも 4 倍速く実行されます。
残念ながら、作成にはさらに時間がかかるため、すべてのクエリに対して偽の頂点/エッジを作成することはできません。
私の質問は次のとおりです。Arango は、特定のクエリですべてのトラバーサルでアクセスされた頂点の一意性を保証する方法を提供しますか? そうでない場合、上記の問題を解決するためのより良い方法はありますか?
node.js - arangodb で 2 つのクエリを同時に実行しようとすると、接続リセット エラーが発生しますか?
と を使用arangojs v6.14.1
してarangodb version 3.6.4.
います。nodejs
クライアントのリクエストに対応するためのエクスプレスアプリもあります。
同時リクエストの実行中に問題が発生しました。クライアント要求を同時に処理すると、データベース接続がハングアップします。
リクエストを受け取ったとき、アプリは何をしますか?
データベース接続を開く -
さまざまな機能やアクセシビリティ チェックを実行するためにアクセスする必要がある複数のミドルウェア機能があります。そして、私が試みた各ミドルウェアについて
- 新しいデータベース接続を開く ->
- アクションを実行 ->
- 接続を閉じる ->
- 結果を次のミドルウェアに返します。
これは、一度に 1 つのリクエストで問題なく機能します。しかし、同時に 2 つの API を呼び出そうとすると、CONNECTIONRESET エラーが発生します。また、ソケットハングアップエラーをスローします。
私は密接な接続方法を賞賛しようとしましたが、しばらくの間は正常に動作し始めました. しかし、接続数を増やしたところ、「CONNECTIONRESET」と同じエラーが再び表示されました。
arangojs
接続操作に関するドキュメントを検索しました。しかし、私は同じことに関する情報を見つけていません。
どんな助けでも大歓迎です。