コンテンツにスキップ

データまたはストレージ製品の選択

Cloudflare Workersは、さまざまなユースケースにおいて異なるタイプのデータを永続化するためのストレージおよびデータベースオプションをサポートしています。これには、キー・バリュー・ストア(Workers KVのような)からSQLデータベース(D1など)までが含まれます。このガイドでは、各ストレージオプションに適したユースケース、およびそれらのパフォーマンスと一貫性の特性について説明します。

利用可能なストレージおよび永続性製品には以下が含まれます:

  • Workers KV - キー・バリュー・ストレージ用。
  • R2 - オブジェクトストレージ、S3互換ストレージが必要なユースケースを含む。
  • Durable Objects - トランザクション型、グローバルに調整されたストレージ用。
  • D1 - リレーショナル、SQLベースのデータベース。
  • Queues - ジョブキューイング、バッチ処理、サービス間(WorkerからWorker)通信用。
  • Hyperdrive - 既存のホストされたデータベースやオンプレミスデータベースへの接続とアクセスの高速化。
  • Analytics Engine - 時系列データや製品メトリクスをスケールで保存およびクエリ(SQLを使用)するための。
  • Vectorize - ベクトル検索およびWorkers AIからの埋め込みの保存用。

Workersプラットフォーム上で構築されたアプリケーションは、成長、スケール、または要件に応じて、1つ以上のストレージコンポーネントを組み合わせることができます。

ストレージ製品の選択

Use-caseProductIdeal for
Key-value storageWorkers KVConfiguration data, service routing metadata, personalization (A/B testing)
Object storageR2User-facing web assets, images, machine learning and training datasets, analytics datasets, log and event data.
SQL databaseD1Relational data, including user profiles, product listings and orders, and/or customer data.
Time-series metricsAnalytics EngineWrite and query high-cardinality time-series data, usage metrics, and service-level telemetry using Workers and/or SQL.
Global co-ordinationDurable ObjectsBuilding collaborative applications; global co-ordination across clients; strongly consistent, transactional storage.
Vector search (database)VectorizeStoring embeddings from AI models for semantic search and classification tasks.
Task processing & batchingQueuesBackground job processing (emails, notifications, APIs) and log processing/batching.
Connect to an existing databaseHyperdriveConnecting to an existing database in a cloud or on-prem.

パフォーマンスと一貫性

以下の表は、Cloudflare Workersで利用可能な主要なストレージオファリングのパフォーマンスと一貫性の特性を示しています:

特徴Workers KVR2Durable ObjectsD1
アカウントあたりの最大ストレージ無制限1無制限250 GiB250GiB 3
ストレージグループ名名前空間バケットDurable Objectデータベース
値あたりの最大サイズ25 MiB5 TiB/オブジェクト128 KiB/値10 GiB/データベース 4
一貫性モデル最終的:更新が反映されるまで最大60秒かかる強い(書き込み後の読み取り)5シリアライズ可能(トランザクションあり)シリアライズ可能(レプリカなし) / 因果関係(レプリカあり)
サポートされるAPIWorkers、HTTP/REST APIWorkers、S3互換WorkersWorkers、HTTP/REST API

1 無料アカウントは1 GiBのKVストレージに制限されています。

2 無料アカウントは10 GBのR2ストレージに制限されています。

3 無料アカウントは5 GiBのデータベースストレージに制限されています。

4 無料アカウントは500 MiB/データベースに制限されています。

5 R2の一貫性モデルの詳細については、R2のドキュメントを参照してください。

Workers KV

Workers KVは、Cloudflareのグローバルネットワーク上でキャッシュされる最終的に一貫性のあるキー・バリュー・データストアです。

これは、次のようなプロジェクトに最適です:

  • 高い読み取り量および/または同じキーへの繰り返し読み取り。
  • オブジェクトごとの有効期限(TTL)。
  • 分散構成。

KVを始めるには:

R2

R2はS3互換のブロブストレージで、開発者が通常のクラウドストレージサービスに関連する出口料金なしで大量の非構造化データを保存できるようにします。

これは、次のようなプロジェクトに最適です:

  • あまりアクセスされないファイルのストレージ。
  • 大きなオブジェクトストレージ(例えば、オブジェクトあたりギガバイト以上)。
  • オブジェクトごとの強い一貫性。
  • ウェブサイトの資産ストレージ(キャッシングガイドを参照)。

R2を始めるには:

Durable Objects

Durable Objectsは、グローバルな一意性とトランザクショナルストレージAPIを通じて、Workersプラットフォームのための低遅延の調整と一貫したストレージを提供します。

  • グローバルな一意性は、特定のIDを持つDurable Objectクラスの単一インスタンスが世界中で同時に実行されることを保証します。Durable Object IDへのリクエストは、WorkersランタイムによってそのDurable Objectを所有するCloudflareデータセンターにルーティングされます。

  • トランザクショナルストレージAPIは、Durable Objectに強く一貫したキー・バリュー・ストレージを提供します。各オブジェクトは、そのオブジェクトに関連付けられたキーのみを読み取りおよび変更できます。Durable Objectの実行は単一スレッドですが、複数のリクエストイベントはオブジェクトに到着した順序とは異なる順序で処理される可能性があります。

これは、次のようなプロジェクトに最適です:

  • リアルタイムコラボレーション(チャットアプリケーションやゲームサーバーなど)。
  • 一貫したストレージ。
  • データのローカリティ。

Durable Objectsを始めるには:

D1

D1はCloudflareのネイティブサーバーレスデータベースです。D1を使用すると、データをインポートしたり、テーブルを定義したり、Worker内またはAPIを通じてクエリを作成することでデータベースを作成できます。

D1は次のような用途に最適です:

  • ユーザーデータ、アカウントデータ、その他の構造化データセットのための永続的なリレーショナルストレージ。
  • データをアドホックにクエリする必要があるユースケース(SQLを使用)。
  • 読み取りと書き込みの比率が高いワークロード(ほとんどのWebアプリケーション)。

D1を始めるには:

Queues

Cloudflare Queuesは、開発者がメッセージを送受信し、配信を保証することを可能にします。これはCloudflare Workersと統合され、少なくとも1回の配信、メッセージのバッチ処理を提供し、出口帯域幅に対して料金は発生しません。

Queuesは次のような用途に最適です:

  • リクエストからの作業をオフロードして後でスケジュールする。
  • WorkerからWorkerへのデータ送信(サービス間通信)。
  • 上流システム、サードパーティAPI、またはCloudflare R2への書き込み前にデータをバッファリングまたはバッチ処理する。

Queuesを始めるには:

Hyperdrive

Hyperdriveは、既存のデータベースへのクエリを加速するサービスで、ユーザーの位置に関係なく、世界中からデータにアクセスするのを速くします。

Hyperdriveを使用すると:

  • Workersから既存のデータベースに接続し、接続オーバーヘッドを削減できます。
  • Cloudflareのグローバルネットワーク全体で頻繁なクエリをキャッシュし、トラフィックの多いコンテンツの応答時間を短縮します。
  • 接続プーリングを使用して、オリジナルのデータベースへの負荷を軽減します。

Hyperdriveを始めるには:

Analytics Engine

Analytics Engineは、Cloudflareの時系列およびメトリクスデータベースで、Workersからデータポイントを書き込み、SQLを使用してそのデータを直接クエリするための組み込みAPIを使用して、無制限のカーディナリティ分析をスケールで行うことができます。

Analytics Engineを使用すると:

  • 自社の顧客にカスタム分析を公開する
  • 使用量に基づく請求システムを構築する
  • 顧客またはユーザーごとのサービスの健康状態を理解する
  • パフォーマンスに影響を与えず、外部の分析システムにイベントで圧倒されることなく、頻繁に呼び出されるコードパスに計測を追加する

Cloudflareは、D1やR2などの製品の製品メトリクスをスケールで保存するために、内部でAnalytics Engineを使用しています。

Analytics Engineを始めるには:

Vectorize

Vectorizeは、Cloudflare WorkersおよびWorkers AIを使用して、フルスタックのAI駆動アプリケーションを構築できるグローバルに分散されたベクトルデータベースです。

Vectorizeを使用すると:

  • セマンティック検索および分類タスクのために、任意のベクトル埋め込みモデルからの埋め込み(自分の埋め込みを持ち込む)を保存できます。
  • Retrieval Augmented Generation(RAG)ワークフローの一部としてベクトル検索を使用することで、大規模言語モデル(LLM)クエリにコンテキストを追加できます。
  • ベクトルメタデータでフィルタリングして検索空間を減らし、より関連性の高い結果を返すことができます。

Vectorizeを始めるには: