問題タブ [arangodb]
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.
django - FoxxでDjango用のAPIを構築するか、ArangoDB Pythonドライバーを使用しますか?
Django で ArangoDB を使用したいのですが、 ArangoDB Python ドライバーを使用するか、Foxx で新しい API を構築するか、どちらのオプションが優れているかわかりません。ArangoDB の Python ドライバーは Foxx ベースではないと思いますし、新しい API をゼロから構築することの長所と短所はわかりません。Foxx によって簡単になったとしてもです。さらに、Foxx とバックエンドの間のインターフェースで JavaScript を使用すると、動作が遅くなる可能性があります。Guacamole ODMを Ruby on Rails と一緒に使用すると、より高速になりますか?
arangodb - arangodbでのソートが遅いのはなぜですか?
私は、arangodb が私たちのユースケースに適しているかどうかを実験しています。同じスキーマを持つドキュメントの大規模なコレクションがあります (SQL テーブルなど)。
いくつかのクエリを試すために、約 90,000 個のドキュメントを挿入しましたが、ドキュメント数は 100 万以上になると予想されるため、これは低い値です。
ここで、これらのドキュメントの単純なページを、フィルタリングせずに降順で並べ替えて取得したいと考えています。
だから私のaqlは:
これを AQL エディターで実行すると、約 7 秒かかりますが、数ミリ秒程度かかると予想されます。
ハッシュ インデックスとスキップリスト インデックスを作成しようとしましたが、効果はありませんでした。
では、何か足りないのでしょうか、それとも ArangoDB はこれらのケースには適していませんか?
node.js - ACID トランザクションを実行するために NPM モジュール (10 進数) を ArangoDB に追加する方法
ArangoDB で ACID トランザクションを実行したいと考えています。そして、トランザクション コード (nodejs-code) を ArangoDB サーバーに送信して実行し、失敗した場合はコミットまたはロールバックしたいと考えています。しかし、ArangoDB サーバー側では、NPM Decimal モジュールまたは呼び出されたパッケージをインストールする必要があります。
それをインストールするにはどうすればよいですか? また、トランザクション コードからその特定のモジュールにアクセスするにはどうすればよいですか?
ご挨拶と感謝。
transactions - ArangoDB トランザクション - 例外のスローを防ぐ方法
おそらくその時点では存在しない特定のドキュメントを探しているときに、トランザクション中にArangoDBが例外をスローするのを防ぐ方法は?
Nodejs はトランザクションを 1 つのブロックで ArangoDb に送信し、そこで処理されます。それは最高です。すべての数学をサーバーにアンロードしたい。
トランザクション中に、特定のコレクションを見て、ドキュメントが存在するかどうかを確認し、ドキュメントが見つかった場合はフィールド「バランス」を取得しますが、ドキュメントまたはそのフィールドが見つからない場合は、例外であり、進行中のトランザクションを停止したくありません。それどころか、トランザクションを続行したいので、変数 oldBalance に「0」の文字列を割り当てます。
(参考までに: コレクションの書き込みロックがあります: nodeJS 側で指定された「user」)。ここでは、ArangoDB に送信されたトランザクション コードの一部を示します。
その特定の _key を持つドキュメントが見つからない場合、これは例外をスローします。その時点で、ユーザーはおそらくコレクションにエントリを持っていません。その場合、彼の残高は文字列 '0' であると仮定します。残念ながら、すでに例外がスローされています。次のように進めたいと思っています。
arangodb - 異なるサーバー間で重複する ArangoDB Replication ServerID
独自の内部ネットワーク内(インターネットに直接接続されていない)の2台のOSX 10.9マシンにarangodb2.0.6(APPを使用)をインストールしました
データベース 'MyDB' のマシン A でレプリケーション ロガーを正しく構成しました。
マシン B のデータベース 'MyDB' で、開始ティックなしで A を指すレプリケーション アプライヤーを構成し、それを開始して、"running":"true" を返しました。
しかし、applier は次のエラーですぐに停止します: lastError": { "errorMessage": "get same server id (190048212006786) from endpoint 'tcp://xxxx:8002' as the local applier server's id", },
HTTP API を介してマシン A と B で /_api/replication/server-id を呼び出すと、同じ serverId: 190048212006786 を取得しました。
serverId を割り当てる方法は何ですか? arangodb のバージョン / OS のバージョン / 外部 IP に基づいています。
どうもありがとう、
node.js - ArangoDB: FOXX に関するいくつかの質問
1.) 質問: FOXX アプリケーション内でノード モジュールを要求して使用するにはどうすればよいか知りたいです。
nemopersona の node-json-rpc という名前の NPM モジュールをクライアントとして使用したいと考えています。おそらくサーバーとしても。しかし、少なくともクライアントとしては、便利な RPC によって別の場所からデータをフェッチします。
FOXX はその特定の行が気に入らないようです。この行を foxx アプリに追加するとすぐに、エラーがスローされます。
NPM モジュール (パッケージ) を次のようなさまざまなディレクトリに追加しました。
変更を加えたら、Arangodb サーバーを再起動します。しかし、それはモジュールが好きではありません。また、特にその行が好きではないと思います:
ここでは、動作していない FOXX アプリの完全なコードを確認できます。
2.) 質問: FOXX コマンドは純粋な Nodejs のように非同期ですか? たとえば、FOXX アプリケーションで ArangoDB ドキュメントを検索するコマンドを見ると、次のようになります。
FOXX アプリケーション コード:
明らかにそれは匿名のコールバックではありませんよね? ブロックしている必要があります。そして、それはサーバーをブロックしますか? これは私が本当に疑問に思っていることです。サーバーをブロックする必要があります。しかし、ブロックを回避するためにコールバック スタイルのような I/O 操作のために、FOXX アプリで ArangoDB データベース コマンドを記述することもできますか? Nodejs と JavaScript の大きな利点は、ノンブロッキング コードを記述できることです。FOXXでもできますか?
Nodejs には、ノンブロッキング スタイルで Arango への I/O を行う JavaScript ドライバーがあります。
次に、ArangoDB にトランザクションがあります。ブロッキングもあります。しかし、ACID トランザクションの場合は、ブロック自体が望ましいと思います。したがって、コールバックは必要ありません。
しかし、ArangoDB にアクセスするときの FOXX アプリケーションでは、なぜそこにいないのでしょうか? 私は何かが欠けていますか??
可能であれば私を助けてください、そしてあなたに感謝します。
arangodb - ArangoDB で配列値をフィルター処理する
次のようなドキュメントがあります。
addrs
状態が「OH」にあるクライアントを見つけようとしています。私のaqlクエリは次のとおりです。
しかし、私は取得し続け[1563] list expected
ます。配列を操作する他の方法はありますか?
arangodb - ArangoDB のメモリ使用量
Arangodb の限界と理想的なセットアップを理解しようとしています。私が理解していることから、arango はすべてのコレクション データを仮想メモリに保存します。理想的には、これを RAM に収めたいと考えています。コレクションが大きくなり、RAM に収まらない場合は、ディスクにスワップされます。
だから私の最初の質問。データベースが大きくなった場合、データベースに対応するためにスワップ パーティション/ファイルを調整する必要がありますか?
arango はデータをディスクにも同期しますが、これはデータが常に RAM とディスクにあるということですか? したがって、データベースが 1.5 GB で RAM が 1 GB の場合、少なくとも 0.5 GB のスワップ ディスクと 1.5 GB の通常のディスク領域が必要ですか?
arango が仮想メモリをどのように使用するか、少し混乱しています。現在、実質的に空の 7 つのコレクションがあります。1GB の RAM と 1GB のスワップ ディスクがあります。管理者は、arango が 4.5GB の仮想メモリを使用していると報告しています。スワップディスクが 1GB の場合、これはどのように可能ですか? 現在、80MBのRAMを使用しています。各コレクションのジャーナル サイズが 32MB の場合、これは 224MB であるべきではありませんか?
ジャーナルのサイズとコレクションのサイズの推奨値は? コレクションが大きくなるにつれて、これを動的に調整できますか?
ディスクがSSDの場合、スワップディスクを多用するとどのような性能が期待できますか? スワップ ディスクが頻繁に使用される場合、パフォーマンスは mysql などの従来のデータベースを使用する場合と似ていますか?