2011-01-21 6 views
2

一般的なケース(データベースサイズが本当に大きい場合)には最高のものと言えるでしょう:MongoDBクラスタをより多くのより小さいブレードサーバ、またはいくつかの、本当に太ったサーバー?MongoDB - 小/多数または少数/大ノードのクラスタ

シャードキーの粒度が非常に細かいので、分割しても問題にはなりません。

"黄金の弾丸"がない場合、いずれの設定でも賛否両論は何ですか?

答えて

3

どのような面でベスト?財務的な観点からは、安いハードウェアをたくさん用意しています:)

MongoDBはノード間で容易に拡張できるように作られています。 SQLサーバー用にわずか1台または少数のサーバーを必要とする理由は、物理ノード間のリレーショナルデータの拡散を最小限に抑えるためです。しかし、MongoDBは文書を使用するので、関連するデータのほとんどは単一の文書に保存されます。これは、すべてが同じ物理的な場所に格納されていることを意味し、データの「完全な画像」を再構築するために他のノードで高価なルックアップを行う必要はありません。

map-reduceジョブはonly run in parallel in a sharded environmentです。だからマップをたくさん減らすことを計画しているならば、より多くのシャード/サーバーがより良いパフォーマンスをもたらすでしょう。

あなたのデータベースがあなたの太っているサーバーを超える場合はどうなりますか?少量の余分な成長を処理する別の太ったサーバーに投資するつもりですか?あるいは、もしそれらのうちの1つがクラッシュすればどうなるでしょうか?小型で安価なサーバーでは、必要に応じて徐々にスケールアップ(または縮小)できます。また、サーバークラッシュの影響は、データのごく一部にしか影響しないため、はるかに小さくなります。

要約:小さなサーバーの大きなクラスターは、そのようなクラスターの管理には独自の課題がありますが、マップを削減している場合は大幅に安く、場合によってはさらに高速になります。

+0

あなたの答えをありがとう!非常に良い点。 –

関連する問題