# ストレージサーバ — 大きな塊を置く倉庫

> レベル: 初級 ／ 対象: 大人
> 出典: Kotowary — https://kotowary.com/learn/units/storage-server?level=beginner&audience=adult
画像や動画のような**大きな塊**は、表向きのDBには不向き。それ専用の倉庫が**ストレージサーバ**です。

## これは何をする係？

DBが「整理された台帳」なら、ストレージは**大きな荷物の倉庫**。画像・動画・PDF・音声など、**大きなファイル（※1 オブジェクト）** をまとめて預かります。

::image{src="/images/web-services/server.webp" alt="サーバ機器" caption="ストレージサーバの実体もこうしたコンピュータ"}

コツは、DBには**ファイル本体を入れず**、「そのファイルがどこにあるか（URL）」だけを持たせること。荷物は倉庫、伝票はDB、という分担です。

::diagram{name="object-storage"}

**登場人物メモ**:

- **※1 オブジェクト** — 1つのファイル（画像1枚・動画1本など）
- **※2 URL** — そのファイルの置き場所を指す住所

## 仕事の流れ

1. アップロードされたファイルを受け取り、倉庫に保存する
2. 保存した場所（URL）を発行する
3. DBには本体ではなく、その**URLだけ**を記録する
4. 表示のときは、そのURLからファイルを取り出す（大きいものは、ブラウザが倉庫から直接受け取ることも）

## DBと分ける理由

- **DBが重くならない** — 巨大ファイルを詰めると検索・更新まで遅くなる。だから分ける
- **配信と相性がよい** — 画像などはCDNと組み合わせ、近くから速く配れる
- **役割がはっきり** — 「探すデータ」はDB、「大きな塊」はストレージ

## ⚠️ うまくいかないとき

- **公開範囲のミス** — 誰でも見られる設定にして、非公開のはずのファイルが漏れる
- **容量・コスト** — 動画などは重く、置きっぱなしで膨らむ
- **消えると困る** — 大事なファイルは、複数箇所に複製して失わないようにする
