2012-03-30 8 views
2

多くのユーザーが、非常に大きくなることが期待されるWebアプリケーションの設計に忙しいです。私はMongoDBをデータストアとして選択しました。主な理由の1つは、ユーザーベースの拡大に応じて水平方向に拡大する能力です。モンゴイドはスケーリングに何か問題がありますか?

Mongoidを使って高度に分散されたMongoDBと通信して、多くのトラフィックを処理する経験がある人はいますか?パフォーマンスについて心配する理由はありますか?

答えて

1

したがって、2.0より前のMongodbはグローバルロックに苦しんでいたため、スケーリングに深刻な問題が発生しました。これは、のmongodプロセスは、ページフォルトと長い操作に生じる動的 で修飾されたリーダ/ライタロックを使用Lock with Dynamic yield

2.0に変更されました。任意の数の同時実行 の読み取り操作は許可されますが、書き込み操作は他のすべての操作をブロックすることがあります。

Global Lock vs Lock with Yieldの基本的なパフォーマンステストがいくつか見つかりました。

Mongoidを使用してSharded Mongodbセットアップにアクセスする際に問題はありません。モンゴイドは、シャードのノードにアクセスするように構成するだけでよい。

+0

「水平に拡大する能力」と「高度に分散されたMongoDB」の問題の顕著な点に注意してください。言い換えれば、複数のシャードを設定する際の問題は、レプリカセットで複製され、シャーディングサーバーが前面にあり、構成サーバーがオーケストレーションされていますか? – yfeldblum

0

Mongoidはデータベース構成でMongoDBのすべてのインスタンスを渡す必要があるため、これでうまく動作します。

あなたはノードがマスタかどうかをチェックして、それに書き込みません。マスターがオフラインの場合MongoDB定義からマスターを変更します。

関連する問題