7

私の選択を確認するための助けが必要です...そして、情報を提供できるかどうかを知るために。私のストレージ データベースは、Cassandra を使用した TitanDb です。非常に大きなグラフがあります。私の目標は、後者のグラフで Mllib を使用することです。

私の最初のアイデア: GraphX で Titan を使用しますが、何も見つかりませんでした。開発中のものも見つかりませんでした... TinkerPop はまだ準備ができていません。というわけでジラフに一目ぼれ。TinkerPop、Titan は TinkerPop の Rexster と通信できます。

私の質問は: Giraph を使用する利点は何ですか? Gremlin も同様の考えで配布されているようです。

説明していただきありがとうございます。Gremlin と Giraph (または GraphX) の違いがよくわからないと思います。

良い1日を。

4

2 に答える 2

10
  • Gremlin はグラフ トラバーサル言語であり、Giraph または Graphx はグラフ処理システムです。

あなたはgraphxまたはgiraphとtitanの違いを求めていると思います。より具体的には、グラフ データベースに既にデータがあるのに、なぜグラフ処理システムを使用する必要があるのでしょうか。

したがって、本質的には、グラフデータベースとグラフ処理システムの違いです。

  • アプリケーションでデータを頻繁にクエリする必要がある場合は、グラフ データベースが最適です。たとえば、Facebook のようなアプリケーションの場合、ユーザーが与えられた場合、そのユーザーのすべての友達を返します。これはグラフ データベースに適しており、gremlin を使用してクエリを実行できます。

  • ここで、Facebook の各ユーザーのランクを計算する場合は、グラフ全体に対して pagerank アルゴリズムを実行する必要があります。つまり、pagerank アルゴリズムはグラフ全体を処理し、 map を返します。これは、グラフ処理システムに適したアプリケーションです。はい、これを行うために gremlin フレームワークを使用してクエリを作成できますが、1. giraph や graphx で使用される基本的な pregel モデルほどユーザーフレンドリーではありません。2.効率が悪い。

要約すると、実際にはアプリケーションに依存します。アプリケーションがクエリのようなものだと思う場合。グラフ処理システムへのロードとアンロードを気にしないでください。アプリケーションが pagerank (グラフ全体を処理する必要がある) に似ていると思われ、大きなグラフ (少なくとも 1M エッジ) がある場合。giraph または graphx を選択します。

giraph と graphx にはグラフ入力形式があります。データをその形式のファイルにダンプして、これらのシステムのいずれかに入力するか、独自の入力形式を作成できます。

ps titanに保存されたデータを受け入れる入力形式をgiraph graphxに追加するとよいでしょう。

于 2015-03-25T19:35:02.560 に答える