多くのユーザーが、非常に大きくなることが期待されるWebアプリケーションの設計に忙しいです。私はMongoDBをデータストアとして選択しました。主な理由の1つは、ユーザーベースの拡大に応じて水平方向に拡大する能力です。モンゴイドはスケーリングに何か問題がありますか?
Mongoidを使って高度に分散されたMongoDBと通信して、多くのトラフィックを処理する経験がある人はいますか?パフォーマンスについて心配する理由はありますか?
多くのユーザーが、非常に大きくなることが期待されるWebアプリケーションの設計に忙しいです。私はMongoDBをデータストアとして選択しました。主な理由の1つは、ユーザーベースの拡大に応じて水平方向に拡大する能力です。モンゴイドはスケーリングに何か問題がありますか?
Mongoidを使って高度に分散されたMongoDBと通信して、多くのトラフィックを処理する経験がある人はいますか?パフォーマンスについて心配する理由はありますか?
したがって、2.0より前のMongodbはグローバルロックに苦しんでいたため、スケーリングに深刻な問題が発生しました。これは、のmongodプロセスは、ページフォルトと長い操作に生じる動的 で修飾されたリーダ/ライタロックを使用Lock with Dynamic yield
2.0に変更されました。任意の数の同時実行 の読み取り操作は許可されますが、書き込み操作は他のすべての操作をブロックすることがあります。
Global Lock vs Lock with Yieldの基本的なパフォーマンステストがいくつか見つかりました。
Mongoidを使用してSharded Mongodbセットアップにアクセスする際に問題はありません。モンゴイドは、シャードのノードにアクセスするように構成するだけでよい。
Mongoidはデータベース構成でMongoDBのすべてのインスタンスを渡す必要があるため、これでうまく動作します。
あなたはノードがマスタかどうかをチェックして、それに書き込みません。マスターがオフラインの場合MongoDB定義からマスターを変更します。
「水平に拡大する能力」と「高度に分散されたMongoDB」の問題の顕著な点に注意してください。言い換えれば、複数のシャードを設定する際の問題は、レプリカセットで複製され、シャーディングサーバーが前面にあり、構成サーバーがオーケストレーションされていますか? – yfeldblum