私の仕事は、静止画像/動画ファイル用の分散システムを設計することです。データのサイズは約数十テラバイトです。これは主に HTTP アクセス用です (したがって、データの処理はありません。または、サイズ変更などの単純な処理のみです。ただし、アプリケーションで直接実行できるため、重要ではありません)。
もう少し明確にするために、それは次のシステムです。
- データの合計サイズが非常に大きいため、分散 (水平スケール) する必要があります。
- 主にHTTP経由で小さな静的ファイル (画像、サムネイル、短い動画など) を提供します。
- 通常、データの処理に関する要件はありません (したがって、MapReduce は必要ありません)。
- データへの HTTP アクセスの設定は簡単に行うことができます。
- (持つべき) 良好なスループット。
私は考えています:
ネイティブ ネットワーク ファイル システム: しかし、データが 1 台のマシンに収まらないため、実現可能ではないようです。
Hadoop ファイルシステム。以前は Hadoop mapreduce を使用していましたが、Hadoop を HTTP 要求の静的ファイル リポジトリとして使用した経験はありません。したがって、それが可能かどうか、または推奨される方法かどうかはわかりません。
MogileFS. 有望に思えますが、MySQL を使用して (1 台のマシンで) ローカル ファイルを管理すると、オーバーヘッドが大きくなりすぎると思います。
何か提案はありますか?