2

プロジェクトで OrientDB を使用していますが、本当に気になるのはパフォーマンスです。私はそれをテストするために、500 000 人と 500 000 の興味、および人と人のランダムな関係 (2 496 540 の関係)、および人と興味 (3 322 060 の関係) を含むビッグデータを作成しました。

私がする必要があるのは、頂点とエッジをトラバースすることです。グレムリンやってみた 友達が 100 人未満の場合、相互の友達を得るのに約 10 ~ 20 秒かかりますが、友達が数千人いる場合、これは機能せず、時間がかかりすぎます。

g.v(id).both('KNOWS').as('here').both('KNOWS').has('id', '10:20').back('here').dedup.email

友達が 100 人未満の場合、友達を推薦するのに約 40 ~ 50 秒かかりますが、何千人もの友達がいる場合も同じです。

x=[g.v(id)];g.v(id).both('KNOWS').aggregate(x).both('KNOWS').except(x).dedup.email

これらは、OrientDB がそのようなトラバースを高速に実行するための方法ですか?

OrientDB SQL トラバースは深さ優先トラバースのみをサポートし、2 人の人物の間で共通の友人を見つけることは不可能に思われ、友人の推奨は複雑です。私は何か見落としてますか?

ご回答有難うございます!

4

1 に答える 1

0

その頂点が 10:20 に関連しているかどうかを確認するすべてのデータベースをブラウズする代わりに、10:20 から開始してそこから関係をクロスしないのはなぜですか?

于 2013-01-31T08:11:27.337 に答える