10

現時点では、2 つのサーバー + 1 つのアービターを含む MongoDB レプリカセットを実行しています。

そして、レプリカセットのデータベースに約 150 GB のデータを保存します。

現在、シャーディングをいつ開始するかを考えています。シャーディングを開始できなくなるポイントがあるかどうか疑問に思っているからです。

ハードディスク容量が不足したり、CPU が過負荷になったり、RAM が少なすぎるために全体的なパフォーマンスが低下したりする前に、シャーディングを開始する必要があることは明らかです。

また、256 GB のデータ サイズに制限があり、それ以降はシャーディングを開始できないと誰かが教えてくれました。また、公式ドキュメントhttp://docs.mongodb.org/manual/sharding/と「MongoDB決定版ガイド」を読みましたが、それを証明できませんでした。

あなたの経験から、シャーディングを始めるべき限界はありますか?

4

2 に答える 2

12

リソース使用率が約 60 ~ 70% になったら、シャーディングを開始します。これは、ハードディスク容量と RAM の両方である可能性があります。256 GB の制限は実際にあります。http://docs.mongodb.org/manual/reference/limits/#Sharding%20Existing%20Collection%20Data%20Sizeに記載されています。

于 2013-07-23T12:45:25.560 に答える
9

制限は読み取り/書き込みに基づいていることがわかりました。結局、シャーディングは、主に書き込みの容量を増やすことですが、レプリカセットは読み取りに関係しています。ただし、データ (シャード キー) の範囲に別のサーバー (ノード) を使用すると、読み取りにも役立つため、両方に影響を与えます。

たとえば、現在のワーキング セットで現在のサーバー メモリの 40% しか使用していない可能性がありますが、その単一のサーバーに送信される書き込みの量が原因で、実際には IO による速度の問題が発生する可能性があります。この時点で、シャーディングを考慮に入れます。

したがって、個人的には、この質問は意見に大きく基づいているため、単一のレプリカ セットの費用対効果よりも多くの容量が操作に必要であると感じた場合は、シャードする必要があると言えます。

通常、クラスター全体が必要とする単一のレプリカのセットアップを知っていますが、それは予算の大きさによって異なります。コンピュータが大きくなるにつれて、それはより高価になります。

于 2013-07-23T12:54:58.683 に答える