多くのオーディオストレージ(テラバイト)を持つサイトを作っています。私はShardingのためにGridFSを使い、複数のマシン間でデータベースを簡単に拡張できるようにしたいと考えていました。GridFSの使用 - それは別のDBにあるべきですか?
私の質問は、別のmongoデータベースにファイルを置く方がいいでしょうか? mongodbには多量の文書がありますが、GridFS部分でシャーディングを開始すると何が起こるのか分かりませんでした。
ありがとうございます!
多くのオーディオストレージ(テラバイト)を持つサイトを作っています。私はShardingのためにGridFSを使い、複数のマシン間でデータベースを簡単に拡張できるようにしたいと考えていました。GridFSの使用 - それは別のDBにあるべきですか?
私の質問は、別のmongoデータベースにファイルを置く方がいいでしょうか? mongodbには多量の文書がありますが、GridFS部分でシャーディングを開始すると何が起こるのか分かりませんでした。
ありがとうございます!
GridFSストレージを他のコレクションと同じデータベースに保存しても、シャーディングに移動する必要があるときに、シャードするコレクションを選択できます。つまり、別のデータベースに置いておけば、それを別のクラスタに移動することができます。たとえば、「メイン」コレクションのシャードクラスタを3つ、 GridFS(または選択した他の設定)の5つのシャードクラスタ。
シャーディングGridFSコレクションについては、the MongoDB docs on choosing a shard key for GridFSを参照してください。通常、同じファイルのすべてのチャンクが同じシャード上に存在するように、コレクション(ファイルデータ自体が格納されている場所)をfiles_id
にシャードします。繰り返しますが、詳細はドキュメントページを参照してください。