問題タブ [tinkerpop3]
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.
cassandra - Gremlin-Server カサンドラ
私は Titan を使い始めており、cassandra をバックエンド ストアとして使用しています。
titan.sh cassandra を起動すると、elasticsearch は起動されましたが、gremlin サーバーは起動しませんでした。
私は titan.sh を見ていましたが、conf/gremlin-server/gremlin-server.yaml で gremlin サーバーを起動することがわかりました。問題は、gremlin-server.yaml が次のように構成されていることです: グラフ: { グラフ: conf/gremlin-server/titan-berkeleyje-server.properties}
BerkeleyDb を使用します。Gremlin Server の cassandra.yaml を見たことがありません。
Cassandra 用にどのように設定できますか?
ありがとう
garbage-collection - Gremlin-Server が大量のメモリを消費してハングする
私はtitan-hbaseでgremlin-server(v3.02)を使用しています。デフォルトの構成設定を使用しています。サーバーは 8GB メモリと 4 コアです。
数時間の作業の後、サーバーはクエリ リクエストへの応答を停止します。サーバーでのリクエストの強度は高くなく、かなり低~中 (1 時間あたりのリクエスト数は少なく、それよりも少ない可能性があります) であると言わざるを得ません。
gremlin の最後のサーバー ログ メッセージを確認すると、Hbase セッションのタイムアウトについてであることがわかり、hbase への再接続を再試行します。
この時点で、サーバーの CPU とメモリは 90 ~ 100% です。
jstat -gc を使用した Redhat の JDK 1.8.0_45-b14 64 ビットすべての時間を GC に費やすことができ、oldgen も 100% です。
「-Xmx 8g」を設定しましたが、htop の仮想メモリは最大 12g になり、xmx でいくつかのテストを行うと、仮想メモリは常に約「-Xmx + 4g」になることがわかります。
Jmap -histo は、CacheRelation のギグと CacheVertex のギグを使用して、約 2g の [B (Byte[]) を提供します。
gremlin-server を再起動すると、すべてが正常に戻り、再び機能します。
何か案は?
titan - gremlin パスを介して完全なパスのみを取得するにはどうすればよいですか?
私のgremlinクエリは次のようになります。
結果:
しかし、結果に中間パスは必要ありません。完全なパスが 2 つだけ必要です。
何か案は?
titan - Titan 1.0 のエッジの一括削除
Titan グラフ (HBase バックエンドでホストされている) から削除したいエッジ ID (約 120 億) の長いリストがあります。
迅速かつ効率的に行うにはどうすればよいですか?
Gremlin を使用してエッジを削除しようとしましたが、その量のエッジには遅すぎます。
HBase で削除コマンドを直接実行することはできますか? どうすればいいですか?(削除するキーを組み立てるにはどうすればよいですか?)
ありがとう
graph-databases - Titan Graph データベースに A* を実装する方法は?
Titan 1.0.0 と Cassandra をバックエンドとして使用しています。
ノードとこれらのノード間のエッジとして位置データ (緯度、経度) があります。ノード A からノード B への最短経路を見つけたい。グラフのサイズが非常に大きい。現在、このクエリを使用して 2 つのノード間のパスを検索しています。
このクエリは非常に非効率的で、パス サイズが 10 を超えるとメモリ エラーが発生します。最短パス アルゴリズムについて読んだ後、A* の実装はダイクストラの実装よりも実現可能であることがわかりました。
これで、JUNG を使用して TitanGraph をメモリにロードし、独自の A* を実装して最短パスを取得できます。しかし、グラフ全体をメモリ内に置きたくありません。
TitanGraph に A* を実装する方法を教えてください。API を使用してグラフをクエリする必要がありますか、または最初にグラフをメモリにロードしてから、インメモリ グラフで A* を実行する必要があります。
他の提案にも感謝します。