ファイルを置く第08章 ・ 読むのにかかる時間 約4分

保存先の地図

KV・D1・R2を、付箋・表・倉庫で見分ける

Cloudflareには、データを置く場所が何種類もあります。KV、D1、R2。名前を見ても違いが分かりません。でも中身は「付箋」「表」「倉庫」の3つだと思えば、それで足ります。

この章でわかること

  • KV・D1・R2が、それぞれ何をしまう場所なのか
  • 「これはどこに置くべきか」を自分で判断する基準
  • なぜ画像はR2なのか

3つを、身近なものにたとえます

横にスクロールできます

KV・D1・R2の違い KVは付箋、D1は表計算、R2は倉庫にたとえられます。置くものの大きさと、探し方が違います。 KV 付箋の束 短いメモを、名前を付けて 貼っておく 例:設定・合言葉 名前が分かれば一瞬 中身での検索は苦手 D1 表計算の表 行と列で並べて、条件で 絞り込める 例:会員名簿・投稿一覧 「◯◯な人だけ」が得意 大きなファイルは不向き R2 倉庫 箱に名前を書いて そのまま預ける 例:画像・PDF・動画 大きくても平気 中身は見ずに預かる
置くものの大きさと、あとでどう探したいか。選ぶ基準はこの2つだけです。

KV:名前で出し入れする付箋

「この名前で、この値」という組み合わせをしまう場所です。site-title という名前で 僕のサイト という文字を入れておく、といった使い方をします。

名前さえ分かれば一瞬で取り出せます。その代わり、中身で探すのは苦手です。「『サイト』という文字を含むものを全部出して」という頼み方はできません。付箋の束から、内容で探すのが大変なのと同じです。

D1:条件で絞り込める表

表計算ソフトの表を思い浮かべてください。1行が1件で、列に名前・日付・状態が並んでいます。D1が得意なのは条件で絞ることです。「今月に登録した人だけ」「公開になっている投稿だけ」といった取り出し方ができます。

逆に、写真そのものを表のマス目に入れるのは無理があります。表に入れるのは「写真の名前」や「撮影日」で、写真の実物は別の場所に置きます。

R2:中身を問わず預かる倉庫

画像・PDF・動画・音声。ファイルそのものを預ける場所です。倉庫は中身を開けません。箱に貼った名前だけを見て、預かって、言われたら出します。

だから「10月に撮った写真だけ出して」は、R2だけでは答えられません。それをやりたければ、写真はR2に、撮影日などの情報はD1にと分けます。倉庫と台帳の関係です。

オブジェクトストレージ

R2のような仕組みの正式な呼び名です。ファイルを1つの「かたまり(オブジェクト)」として、名前を付けて預かります。世界的にはAmazonのS3という同種のサービスが有名で、R2はそれと同じ使い方ができるように作られています。ネットの記事に「S3互換」と書いてあったら、この意味です。

迷ったときの判断

  • ファイルそのものか? → はい なら R2
  • 条件で絞り込みたいか? → はい なら D1
  • 名前で1個だけ取り出せれば十分な、短い値か? → はい なら KV

この順番で考えると、だいたい迷いません。そして、この教科書がこれから扱うのは写真という「ファイルそのもの」なので、答えはR2です。

なぜR2が個人に向いているのか

第1章でも触れましたが、ここでもう一度。R2はダウンロードされるときの通信料がかかりません。10GBまでの保管も無料です。

画像を扱うサービスで一番怖いのは、思わぬ拡散で通信料が跳ねることです。R2はその心配がない設計になっています。個人が写真や作品を置く場所として、これはかなり強い性質です。

この章のまとめ

付箋がKV、表がD1、倉庫がR2。この本で使うのは倉庫です。次の章から、実際に自分の倉庫を建てます。

章末チェックリスト