1

私は現在、Mongodb をバックエンドとして使用するオンライン注文アプリケーションに取り組んでいます。シャーディングを検討するにあたり、Mongo のドキュメントによると、次の場合はシャーディングを検討する必要があります。

「システムには大量の書き込みアクティビティがあり、単一の MongoDB インスタンスでは要求を満たすのに十分な速度でデータを書き込むことができず、他のすべてのアプローチでは競合が減少していません。」

私の質問は、大量の書き込みアクティビティを構成するものは何ですか? 毎秒数千回の書き込みについて話しているのですか? 100代?

シャーディングによってインフラストラクチャがある程度複雑になることはわかっていますが、必要がなければ入りたくないものです。

ありがとう!

R

4

1 に答える 1

0

「大量の書き込みアクティビティ」は、特定の数に関して定義されるのではなく、一般的な使用パターンがサーバー ハードウェアのリソースを超えた場合に定義されます。たとえば、平均 I/O フラッシュ時間または iowait が、I/O が重大な制限要因になっていることを示している場合です。

シャーディングの前に考慮すべき他のオプションがあります。

  • ワーキング セットが RAM よりも大きく、重大なページ フォールトが発生している場合は、RAM をアップグレードしてください。
  • ディスク I/O が追いついていない場合は、より高速なディスク、RAID、または SSD へのアップグレードを検討してください
  • 先読み設定の確認と調整
  • 低速または非効率的なクエリの最適化を検討する
  • インデックスを確認し、不要なものを削除します
于 2012-10-25T14:28:18.863 に答える