0

私は最近、大規模な mongoDB インスタンスを持つ会社で働き始めました。選択されたドキュメント キーにはいくつかの問題があります。具体的には、1 つのドキュメントのサイズが永遠に拡大し続ける可能性があります。何百万回もの変更の後、1 つのドキュメントは 130MB 以上の大きさになることがあります。

MongoDB 2.2.1 を使用しています。バランサーがいくつかの大きなチャンクを移行しようとしてループしているため、私がやろうとしているのはバランシングを修正することです。チャンク サイズがデフォルトの最大許容チャンク サイズ (64MB) より大きいため、失敗します。チャンクには 1 つのドキュメントが含まれているため、チャンクを分割することもできません。

本当の修正は、ドキュメント キーを変更すること (新しい DB インスタンスを作成してそれに移行すること) ですが、これにはかなりの時間がかかるため、バランスを取るために短期的な修正を行いたいと考えています。私が考えられる唯一のことは、デフォルトのチャンク サイズを 64MB から 160MB 程度に増やして、巨大なチャンクの一部を移行できるようにすることです。

私の質問は、次のほうがよいかどうかです。

  1. 最大チャンク サイズを 160MB に増やし、手動でチャンクを移動してから、最大チャンク サイズを減らします。(大きなドキュメント ID は、その時点で移行不可に戻ります)。
  2. 最大チャンク サイズを永続的に 160MB に増やし、新しいキーに移行できるようになるまでそのままにしておきます。(チャンクサイズを大きくすると、IO に非常に大きな影響を与える可能性があることを理解しています)
  3. 他の何か?
4

1 に答える 1