システムデザインでは、画像、動画などのファイルの保存と配信は重要な要素となります。InstagramやXのようなSNSサービスでは、ユーザーがアップロードした画像や動画を保存する必要があります。また、DropboxやGoogle Driveのようなクラウドストレージサービスでは、ユーザーがアップロードしたファイルやドキュメントを安全に保存し、いつでもアクセスできるようにすることが重要です。
ここでは、非構造化データのファイルの保存を行うために必要な技術とインフラの設計について学んでいきましょう。
オブジェクトストレージ
システムデザインにおいて、オブジェクトストレージは主に画像、動画、大容量の非構造化データの保存に使用されます。例えば、Amazon S3やGoogle Cloud Storageはオブジェクトストレージのサービスとしてとても有名ですね。オブジェクトストレージは、データを「オブジェクト」として保存し、それぞれが実際のデータ、メタデータ、そしてユニークな識別子を含むという特徴を持っています。このストレージタイプは、従来のファイルシステムとは異なり、階層構造を持たないフラットなアドレス空間で管理されます。これにより、ディレクトリやフォルダの階層を扱う必要がなく、ストレージの増加に伴う複雑性が軽減されます。