シャードキーの調整
コレクションのシャードキーを調整すると、よりきめの細かいデータ分散が可能になり、濃度が十分でないために既存のキーがジャンボ チャンクになる状況に対処できます。
警告
現在のシャードキー フィールドの範囲またはハッシュされたタイプは変更 しない でください。 データの不整合が発生します。 たとえば、シャードキーを { customer_id: 1 }
から{ customer_id:
"hashed", order_id: 1 }
に変更 しないでください 。
注意
MongoDB 5.0以降では、コレクションに新しいシャードキーを提供して、コレクションを再シャーディングすることもできます。 コレクションを再シャーディングすべきか、シャードキーを改善すべきかについては、 シャードキーの変更 を参照してください。
コレクションのシャードキーを調整するには、 refineCollectionShardKey
コマンドを使用します。 refineCollectionShardKey
は、新しいシャードキーを作成するために、既存のキーにサフィックス フィールドを追加します。
たとえば、シャードキー{ customer_id: 1 }
を持つtest
データベースに既存のorders
コレクションがある場合があります。 refineCollectionShardKey
コマンドを使用して、シャードキーを新しいシャードキー{ customer_id: 1, order_id: 1 }
に変更できます。
db.adminCommand( { refineCollectionShardKey: "test.orders", key: { customer_id: 1, order_id: 1 } } )