数テラバイトの大量のオーディオ ストレージを備えたサイトを作成しています。シャーディングに GridFS を使用し、データベースを複数のマシンに簡単に拡張できるようにしたいと考えていました。
私の質問は、ファイルを別のmongoデータベースに配置した方がよいでしょうか? mongodb にはかなりの量のドキュメントがありますが、GridFS 部分でシャーディングを開始するとどうなるかわかりませんでした。
ありがとう!
GridFS ストレージを他のコレクションと同じデータベースに保持している場合でも、シャーディングに移行する必要があるときに、どのコレクションをシャーディングするか (またはしないか) を選択できます。つまり、別のデータベースにある場合は、必要に応じて別のクラスターに簡単に移動できます。たとえば、「メイン」コレクション用に 3 つのシャード クラスターを作成し、 GridFS 用の 5 シャード クラスター (または選択したその他の構成)。
GridFS コレクションのシャーディングに関しては、GridFS のシャード キーの選択に関する MongoDB ドキュメントを参照してください。一般に、同じファイルのすべてのチャンクが同じシャードに存在するように、chunks
コレクション (ファイル データ自体が格納される場所) をシャードします。files_id
詳細については、ドキュメント ページを参照してください。