2011-07-20 15 views
11

キーバリュー、ドキュメント、およびカラムファミリのデータベースでは、キースペース内のレプリケーションとシャーディングの組み合わせでスケールアウトできます。しかし、最短経路などの一般的なグラフ操作では、これらは実際には複製の利点を得られないようです...そして、独立したサブグラフを見つけることなくグラフデータベースを断片化する方法はわかりません(非常に難しい)。グラフデータベースはどのように水平方向にスケールできますか?

この問題に取り組むグラフデータベースはありますか?この分野の現在の研究は何ですか?

+0

良い質問です。グラフデータベースをシャーディングすることは難しい問題です。シャーディングは、グラフデータベースや他の「ナビゲーショナル」データベースよりも、リレーショナルモデルのほうがずっと簡単です。 NOSQLのソリューションは、これまでNOSQLが目指すものにはRMがはるかに適しているように見えるにも関わらず、ほとんどはリレーショナルモデルではなくナビゲーションモデルに基づいていました。これはおそらくこれが比較的未成熟の分野であり、ナビゲーションデータベースがリレーショナル等価物よりも安価で市場投入が容易なためです。 – sqlvogel

答えて

3

レプリケーションは、あらゆる種類のデータベースに役立ちます。単一のサーバーで処理できるよりも多くのクエリを処理できるように、複数のデータコピーを作成するだけです。

シャーディングは少し複雑ですが、実際にはキー/バリューストアやドキュメントストアと大きく異なるわけではありません。内部エッジはシンプルリストとして表現する必要があるためです。

ほとんどの場合、独立した部分グラフを見つけることは不可能ですが、実際には必要ありません。クエリを処理しているノードが他のノードからデータを取得できる限り、データをローカルで利用できるようにすることはパフォーマンスの最適化に過ぎません。

これを設定したら、作業しているグラフのタイプに基づいてパフォーマンスを最適化するためのオプションがたくさんあります。たとえば、ソーシャルグラフでは、場所を使用してユーザーのノードを選択することができますほとんどの接続がローカルであることを確認します。

シャーディングが組み込まれている既存のグラフデータベースは認識していません。一般的なケースでは問題を解決するのがずっと難しく、エッジデータのサイズが小さいため、単一のサーバーの容量

+0

奇妙なことに、私はシャーディングをサポートしていないグラフデータベースを認識していません... Neo、Ttitan、そして多くのマルチモデルDB(例えばArangoDBなど)はシャーディングをサポートしています... 。;-) – edlich

1

GoldenOrbは、水平方向にスケーラブルなグラフデータベースを作成するためのコンセプトでした。それはオープンソースとしてリリースされましたが、プロジェクトは現在死んでいるようです(GitHubへのリンクはオフラインです)。それはHadoopに基づいていました。

グラフデータベースの特定の使用例では、ノード間で共有する必要がある情報の量が大きすぎると複雑すぎるため、このようなモデルはまだフル機能のグラフデータベースとはみなされません。進化したコンピューティング、階層化されたキャッシュの階層化されたアーキテクチャは、完全にスケーラブルであり、事実上のグラフデータベースと見なすことができます。

全体的に、この日付の回答は完全に「いいえ」です。 http://goldenorbos.org

0

チェックアウト、彼らは店のスケーラビリティ特性を本質的に来るバッキングストアとしてカサンドラ、HBaseの、またはBerkeleyDBのを使用タイタンのためにhttp://thinkaurelius.com/

プロジェクトをホスティングしているオリジナルのウェブサイトはこれです。

関連する問題