問題タブ [orientdb2.2]

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 に答える
164 参照

performance - OrientDB にギガバイト単位のデータをロードするためのパフォーマンス チューニング

現在、ETL ツールを使用して、多数の CSV データを OrientDB に挿入しています。試用目的で使用したシステム構成は、EC2 M3 大 (7.5 GiB のメモリ、2 つの vCPU、32 GB の SSD ベースのローカル インスタンス ストレージ、64 ビット プラットフォーム) です。

アップロードしようとしているデータ (マスクされた) は、以下の形式です。

スキーマには、2 つのノード クラスと 1 つのエッジ クラスが含まれています。plocal オプションで ETL ツールを使用してデータをロードしようとしたところ、速度は約 2300 行/秒でした。ETL 構成は次のとおりです。

次に、頂点をファイルに分割し、頂点のみに対して ETL ジョブを実行しました。今回の速度は 12500 行 / 秒に近いです。これはかなり高速で、この種の作品は私にとってはうまくいきました。(インデックスを削除すると、速度はほぼ2倍になりました)使用した構成は次のとおりです。

ただし、エッジだけを挿入しようとすると、速度が2200行/秒で非常に遅くなりました。これは、1 回の実行で操作全体を実行するよりもさらに低いことが判明しました。構成ファイルは以下に添付されています。

ここで何か間違ったことをしている場合はお知らせください。また、パフォーマンスを改善するためのより良い方法を提案してください

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

orientdb - 2 ノードの OrientDB クラスターで表示されるノード 1 のデータのみ

以下の手順に従って、2 ノードの OrientDB クラスターを作成しました。ただし、配布中は、ノードの 1 つにのみ存在するデータにアクセスできます。この問題のデバッグを手伝ってください。OrientDB のバージョンは 2.2.6 です

必要な手順:

  • ETL ツールで plocal モードを利用し、データの一部をノード 1 に保存し、残りの部分をノード 2 に保存しました。格納されたデータは、実際には頂点の 1 つのクラスのみに属します。(コンソールからのデータを確認すると、データは正しく注入されています)。

  • 次に、両方のノードを分散モードで実行すると、1 台のマシンからのデータのみにアクセスできます。

default-distributed-db-config.json ファイルは以下に指定されています。

address という名前の頂点に対して、address と address_1 という 2 つのクラスターが作成されます。マシン orientslave1 のデータは、ETL ツールを使用してクラスター address_1 に格納されます。同様に、マシン orientmaster のデータはクラスター アドレスに格納されます。(これらのクラスター ID の両方が作成時に異なることを確認しました)

ただし、これら 2 台のマシンが分散モードで接続されている場合、クラスター address_1 のデータのみが表示されます。

ETL json は以下に添付されています。

私が間違っていることがあれば教えてください

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

orientdb - 最後の N 個の接続されたエッジを取得する方法

私は大規模なチャット アプリケーションを作成しています。これが私のデータベース スキーマです。

私は軽量のエッジを使用しており、200,000 のエッジが#12:0次のように接続されています。

に接続された最後の 5 つのメッセージを取得したい#12:0。私はこれらのクエリを試しました:

クエリ 1:

〜2秒かかりました

「説明」の結果:

クエリ 2:

〜6秒かかりました

「説明」の結果:

これを行うより速い方法はありますか?

チャットの使用例を参照しないでください...

私はorientdb 2.2.7を使用しています

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

orientdb - ETL を使用して CSV データを SPATIAL インデックスを含む OrientDB にロードする

WGS84 Lat/Long の空間座標を含むいくつかの CSV ファイルから OrientDB にいくつかのデータをロードすることに興味があります。

私は OrientDB 2.2.8 を使用しており、lucene空間モジュールを $ORIENTDB_HOME/lib ディレクトリに追加しています。

ETL を使用してデータベースにデータをロードしていて、空間インデックスを追加したいのですが、その方法がわかりません。

CSV ファイルに次の列があるとします。

  • ラベル(文字列)
  • 緯度 (浮動小数点数)
  • 経度 (float)

ETLでこれを試しました:

しかし、それは機能していません。次のエラー メッセージが表示されます。

ETLを介して空間インデックスを作成することを検討した人はいますか? これについて私が目にしているもののほとんどは、Java を使用しているか、ダイレクト クエリを介して行われています。

アドバイスをよろしくお願いします。

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

orientdb - fetchplan を使用した OrientDB toJSON は、JSON からメタ タグ情報を削除しました

このクエリを実行したとき、私は OrientDb を初めて使用します

次に toJSON() メソッドを使用します。メタタグ情報も含む完全なjsonを返します

しかし、私が fetchplan 、つまり toJSON("fetchPlan:*:-1") で toJSON() を使用している場合、内側のエッジ情報を返しますが、メタタグ情報を削除します。つまり、これを削除します

toJSONメソッドを使用してメタタグを使用して関係エッジデータを取得する方法を教えてください。

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

orientdb - Traverse from を使用して OrientDB のレコードを射影する

私はOrientDb Studio 2.2.8automobileで Vehicle History データベースを使用しており、 によって作成されたクラスのすべてのレコードを投影したいと考えていKiaます。

データベースのスキーマは次のようになります。

(Automobile) --isModel--> (Model) --isMake--> (Make)

ここでAutomobile、 、Model、およびMakeは頂点でありisModel、 、およびisMakeはエッジ タイプです。

traverse ステートメントを使用して、次のコマンドから取得した同等の結果セットを返したいと考えています。

Select expand(in('isMake').in('isModel')) from Make where name = "Kia"

その結果は…

これを実行してみました:

返されたレコードは 1 つだけですが、期待していたように Automobile クラスではありません。メイクからです。

基本的には、トラバースを使用して、Make起亜自動車の 3 台をデータベースに投影したいと考えています。

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

java - OrientDB は、リスト データベース コマンドで OStorageException をスローします。

これが私が使用しているコマンドです:

orientdb> CONNECT リモート:192.168.0.12 root パスワード

ユーザー 'root' でリモート サーバー インスタンス [remote:192.168.0.12] に接続しています...OK

orientdb {server=remote:192.168.0.12/}> データベースのリスト

コンソール出力:

エラー: com.orientechnologies.orient.core.exception.OStorageException: 構成リストを取得できません

エラー: java.net.SocketTimeoutException: 読み取りがタイムアウトしました

それは何を意味し、どのように解決できますか?

ありがとう。