62

Neo4j と Titan の適切な比較を提供または指摘してもらえますか? 私が確認できることの 1 つは、スケールの点です。Titan はスケールアウトであり、基礎となる Cassandra のようなスケーラブルなデータストアが必要です。Neo4j は HA 専用であり、独自の組み込みデータベースがあります。他の長所と短所はありますか?特定のユースケース。(Titan は現在どこかで使用されていますか?)

次のリンクもあります: http://architects.dzone.com/articles/16-graph-databases-comparedグラフ データベースの客観的な比較を示しますが、Neo4j と Titan の長所と短所についてはあまり触れていません。

4

2 に答える 2

26

1 日でほぼ 100 万のノードと 2 倍のエッジを追加するソーシャル グラフがあります。そうです、そのストレージがグラフエンジンが実行されているのと同じマシン上にあるという事実により、neo4jグラフは非常に高速であるためです。しかし、以下は、neo4j について皆さんと共有したい経験です。

  1. リアルタイム クエリには適していません。私たちはツイッターのような社会構造を持っています。ユーザーが自分のタイムラインでフォローしているすべてのユーザーの最新の 20 のアクティビティ (およびそれに関連するアクティビティ) を表示する必要があります。1000人以上フォローしているユーザーもいます。これのために私たちが書いたグレムリン クエリ (興味がある場合は、グレムリン クエリを共有できます) は実際に非常に多くの GC を生成したため、8 CPU と 48 GB RAM のサーバーはフリーズし、サーバーを再起動して再度オンラインにする必要がありました。 .
  2. 多くの場合、ネットワーク パーティションが観察されました。
  3. graoh データベースで非常に必要とされる頂点中心のインデックスはありません。

最終的に、gremlin クエリを使用したサーバーのパフォーマンスが大幅に低下したため、データベースをタイタンに変更する必要がありました。

titan では妥当なパフォーマンスが得られており、cassandra をバックエンド ストレージとして使用しているため、スケーリングも非常に簡単です。ただし、ここでgremlinを使用することも良い考えではありません.multigetクエリは非常に書きにくく、multigetがないとクエリは非常に遅くなります。

于 2014-06-07T18:33:42.240 に答える