コンテンツにスキップ

6-1 帳簿という保存先(D1 とは)

Plan: Free費用: 0円Wrangler 4.126.0公式ドキュメント取得日 2026-08-27
受付の裏に置かれた帳簿と、棚の対比
D1 は受付の裏の帳簿で、行と列の表に記録します。

受付の棚(第 5 章)は、本社の品の写しを置く場所です。お客さんが何を頼んだか、いつ来たかを残すには向きません。記録には帳簿が要ります。

いま読んでいるこのサイト(Cloudflare Lab)も、検証の結果を残す場所が作者の手元のパソコンにしかありませんでした。受付の裏に帳簿を置けば、窓口で書き留められます。

ここでは、棚と帳簿の違い、帳簿の中身、置き場の世話、過去に戻す仕組みの順に見ます。

Learning goals

この節でできるようになること

  • 棚(cache)と帳簿(D1)の違いを説明できる
  • D1 が SQLite の SQL で読み書きできることを説明できる
  • サーバーレスの帳簿で利用者が担わないことを言える
  • Time Travel が何をするかを説明できる

棚は「同じ品をもう一度渡す」ためのもので、写しが消えても本社から取り直せます。帳簿は「起きたことを残す」ためのもので、消えたら困ります。

Cloudflare では、この帳簿を D1 と呼びます。公式は、SQLite の SQL の意味論を持つ、管理された serverless のデータベースだと説明しています。マニュアル(Worker)からも、外からの HTTP API からも読み書きできます。

実物では、棚は Cache Rules(第 5 章)で扱い、記録は D1 に書きます。役割が違うので、両方を使います。

左は棚の写し、右は行と列の帳簿
残したい情報は棚ではなく帳簿に書きます。

左の棚は写し、右の帳簿は記録です。帳簿には行と列があり、後から探せます。

つまり、残したい情報は棚ではなく帳簿に書きます。

帳簿は、1 行が 1 件の記録で、列が項目です。「日付・URL・結果」のように列を決めておけば、後から「失敗した行だけ」と探せます。

D1 は SQLite と同じ SQL で読み書きします。SQL は帳簿への問い合わせ文で、「この条件の行を出して」「1 行足して」を短い文で書きます。

実物では、SELECT(出す)・INSERT(足す)・UPDATE(直す)・DELETE(消す)の四つで大半が済みます。SQLite は世界中で使われている帳簿の形式なので、書き方の資料も多くあります。

帳簿の 1 ページが表になっていて行と列がある
D1 の中身は SQLite の表で、SQL で引いたり足したりします。

帳簿の 1 ページが表で、行が記録、列が項目です。問い合わせ文は、この表から行を引き、この表に行を足します。

つまり、D1 の中身は SQLite の表で、SQL で引いたり足したりします。

普通なら、帳簿を置く場所を自分で借りて、増えたら広げ、壊れたら直す必要があります。

D1 は serverless なので、置き場の用意も、増えたときに広げる作業も Cloudflare が担います。公式は、分離のために数千冊の帳簿を追加費用なしで作れ、料金は問い合わせと保存の分だけだと説明しています。使わないときは費用が発生しません。

実物では、Cloudflare Lab の帳簿は 1 冊で足ります。店が増えたら店ごとに帳簿を分ける、という使い方もできます。

Cloudflare の建物の中、棚の隣に帳簿が置かれている
帳簿の置き場と世話は Cloudflare に任せます。

帳簿は Cloudflare の建物の中にあり、棚の隣に置かれています。利用者は帳簿を開いて書くだけです。

つまり、帳簿の置き場と世話は Cloudflare に任せ、利用者は中身に集中します。

帳簿を間違って消したり、誤った行で埋めたりしたとき、昨日の状態に戻せると安心です。

D1 には Time Travel という仕組みがあり、公式は、過去の任意の分単位の時点へ帳簿を戻せると説明しています。戻せる期間は Free plan で 7 日、Workers Paid で 30 日です。

実物では、大きな書き換えの前にバックアップを別に取らなくても、この仕組みで戻せます。ただし期間を過ぎると戻せません。

帳簿の横の日付ダイヤルを過去に合わせる
Time Travel で過去に戻せます(Free 7 日・Paid 30 日)。

帳簿の横に日付のダイヤルがあり、過去の時点に合わせると当時の内容に戻ります。

つまり、Time Travel は帳簿の「やり直し」で、無料でも 7 日ぶん効きます。

ここで紹介した帳簿が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。

Cloudflare Lab は Phase 2 で、検証(verify)の結果を D1 の帳簿に書く予定です。列は「日時・対象 URL・結果・ヘッダの印」を候補にしています。実装と実測(作った帳簿の名前、最初の行数)は Phase 1 公開後に追記します。

  • 棚は写し、帳簿(D1)は記録です。
  • D1 は SQLite の SQL で読み書きする serverless の帳簿です。
  • Time Travel で過去に戻せます(Free 7 日・Paid 30 日)。

この節で出てきた言葉を、つながりの順に並べると次のようになります。

図のラベル: 残したい記録 / 受付の裏の帳簿 D1 / 行と列の表 SQLite / 問い合わせ文 SQL / 置き場の世話は Cloudflare serverless / 過去に戻せる Time Travel 7 日 / 30 日

次の節では、帳簿を実際に作り、マニュアルから開けるようにします。

この節のチェック

問 1D1 の説明として公式に沿うものはどれですか?

問 2棚(cache)と帳簿(D1)の違いとして正しいものはどれですか?

問 3D1 で使う問い合わせの言葉はどれですか?

問 4Time Travel の説明として正しいものはどれですか?

問 5Free plan で Time Travel が戻せる期間はどれですか?

最終更新日: