29

後で分析、検索、クラスタリングなどを行うために、永続ストレージにグラフを保存する最良の方法は何だろうと思っています。

私はneo4jがオプションだと思います.他のグラフデータベースも利用できるかどうか興味があります. 大規模なソーシャル ネットワークがグラフ ベースのデータ (または RDF などのグラフのようなモデルのストレージを必要とする他のサイト) をどのように保存するかについて、誰かが洞察を持っていますか?

Cassandra や MySQL などのオプションはどうですか?

4

4 に答える 4

14

グラフ データベース:

  1. HyperGraphDB : 汎用、拡張可能、移植可能、分散型、組み込み可能、​​オープンソースのデータ ストレージ メカニズム。
  2. InfoGrid : グラフ基盤上での REST フル Web アプリケーションの開発を容易にする多くの追加ソフトウェア コンポーネントを備えたインターネット グラフ データベース。
  3. vertexdb : 自動ガベージ コレクションをサポートする高性能グラフ データベース サーバー。

ソース: http://nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases

グラフ ライブラリ:

  1. WebGraphは Web グラフを研究するためのフレームワークです。彼らのページから - 「最新の圧縮技術を利用して、非常に大きなグラフを管理する簡単な方法を提供します。」
  2. Dexは、非常に大きなグラフやネットワークを管理するための高性能ライブラリです。
  3. このブログ投稿 - On Building a Stupidly Fast Graph Database - は、グラフ データベースの構築に関するいくつかのガイドラインを提供します。彼らが使用する手法は、「メモリ マップド I/O、ディスクベースの線形ハッシュ」です。
于 2010-06-05T15:34:33.097 に答える
4

免責事項:私はグラフ分析の観点から話しています。

グラフ データを保存するためのファイル形式はいくつかあります: GraphMLGXL、およびその他のいくつか。しかし、保管は通常問題ではありません。グラフを RAM に完全にロードせずにグラフを操作するのは、注意が必要な部分です。

RDF モデルは一般的すぎて、本格的なグラフ分析を行うことができません。分析が遅いことや自分でアルゴリズムをプログラミングすることを気にしない場合は、既存のグラフ データベースを使用してください。これについてはウィキペディアを参照してください。

実際の分析では、 SNAPなどの既存のグラフ分析ライブラリを使用してすべてのデータを RAM にロードするか、この質問を参照してください。

于 2010-06-05T15:37:18.247 に答える
2

ここに絶対的な正解はありません。多種多様なオプションがあり、その選択はニーズに大きく依存します。大規模な検索/トラバーサル (ソーシャル ネットワークや同様のバックエンドなど) では、ランダム I/O のボトルネックにすぐに遭遇します。現在のところ、グラフを RAM に保存することが唯一の実用的な方法だと思います。遅延の影響を受けにくいアプリケーションには、 neo4j (商用フレーバーのオープン ソース) やAllegrograph (限定無料版の商用) など、さまざまなオプションがあります。

Delver では、独自の非正規化データ モデル (本質的にはグラフを表す隣接リスト) をGigaSpaces上の RAM に実装し(一部の情報はこのプレゼンテーションに記載されています)、クエリとデータ分析用のカスタム map-reduce コードを使用しました。この道をたどれば、Cassandraは構築に適したオープン ソース プラットフォームのように思えます。

于 2011-02-20T10:31:36.257 に答える
0

まもなくベータ版がリリースされる InfiniteGraph を見ることができます ( http://www.infinitegraph.com/ ) 。

これが商用目的の場合は、より大きなグラフを持つサイトを対象としていることがわかります。ソーシャル ネットワーキング サイトは、当時は機能していたカスタム ソリューションを構築していました。しかし、それらは社内ソリューションであり、InfiniteGraph などを使用するよりも制限があります。Cassandra や MySQL などの製品は、この多対多の問題セット用に設計されていません。それできますか?もちろんですが、手書きのコーディングが多く、スケーラブルではありません。実際のプロジェクトがある場合はお知らせください。グラフの要件を把握するのに役立ちます。ありがとう、ウォーレン wdavidson@objectivity.com

于 2010-06-05T15:12:05.847 に答える