2

Neo4J Java Native API、Traversal API、および Cypher のパフォーマンス評価を行った人はいますか? 上記の 3 つのオプションのうち、パフォーマンスの観点からより良い結果が得られるのはどれですか? また、書き込み操作には、ネイティブ Java API または暗号を使用する必要があります。ノード/関係の作成ごとではなく、DB に 1 回だけヒットするように、ネイティブ API で DB 操作を一括処理する可能性はありますか。

4

1 に答える 1

2

この記事に興味があるでしょう。しかし、彼らのテストから得られる主なポイントは

  • コア API は、約 2000 のフレンド オブ フレンド クエリに応答できます (非常にまばらなネットワークでは認めざるを得ません)。
  • Traverser フレームワークは Core API よりも約 25% 遅い
  • 最悪の暗号は、少なくとも 1 桁遅く、1 秒あたり約 100 FOAF のようなクエリしか応答できません。衝撃だったので、cypherをメインに活動しているneo4jのAndres Taylorさんにお話を伺いました。彼は私が使用したneo4jのバージョンを尋ねたところ、1.7だと答えました。彼は私に 1.9 を調べるべきだと言いました。Cypher のパフォーマンスが向上したためです。そのため、neo4j 1.8 と neo4j 1.9 でベンチマークを実行しましたが、残念ながら Cypher は新しい neo4j リリースで遅くなりました。

ただし、パフォーマンスが高い状況でない限り、Cypher を使用することをお勧めします。(基本的に、作業が難しいほど高速になります。開発作業とパフォーマンスのバランスを取るのはあなた次第です。) また、このデータは古く、Neo4j への主要な更新ごとに、Cypher プランナーができる新しいトリックが付属しています。より効率的にクエリを実行するために使用します。したがって、Cypher のパフォーマンスは、DB コンテンツと Neo4j バージョンに大きく依存します (良くも悪くも)

また、Traversal API は Core API に基づいて構築されており、Cypher は Traversal API に基づいて構築されています。したがって、Cypher でできることはすべて、他の 2 つでも実行できます。

于 2017-05-18T13:39:01.650 に答える