分散SQLiteをCDNエッジで提供する「Cloudflare D1」がオープンアルファとして利用可能に

CloudflareはCDNエッジでSQLiteのマネージドサービスを提供する「Cloudflare D1」のオープンアルファを発表しました。まだ開発途上の機能がありつつも、Cloudflare D1の基本的な機能を試すことができます。

CloudflareはCDNネットワークのエッジロケーションとして世界中に分散したデータセンターを構築しています。同社が提供するCloudflare WorkersやCloudflare R2といったサービスはこの分散されたエッジロケーションにあるデータセンターで実行され提供されます。

今回オープンベータとなったCloudflare D1も、このエッジロケーションでマネージドサービスとして提供されるデータベースサービスです。Cloudflare Workersのアプリケーションからアクセスし、利用できます。

CDNエッジに分散したSQLiteによるデータベースサービス

Cloudflare D1の最大の特徴は、SQLiteによる分散データベース機能を自動的に提供することです。

具体的には、世界中に分散されたエッジロケーションにあるデータセンターの特性を活かし、アクセスしてきたユーザーの近くにあるエッジロケーションに読み取り専用のSQLiteのクローンを作成、データベースのレプリケーションを継続的に行います。

これにより、世界中どこからアクセスしたとしても低レイテンシかつ高速なデータベースアクセスを可能にするのです。処理によってはプライマリのCloudflare D1に紐付いたCloudflare Workersにリクエストが受け渡され、そこで完了させることもあるとのこと。

Cloudflare D1はストレージサービスであるCloudflare R2の上に構築されており、定期的にデータベースのスナップショットがCloudflare R2に保存されます。これにより、何らかの障害でデータベースが失われても数秒で自己回復でき、また必要に応じて物理的な場所を移動することもできると説明されています。

オープンアルファ時点での制限

現時点でCloudflare D1はまだアルファ版であるため、以下の制限があります。

  • データベースの場所。各D1データベースは開発者がデータベースを作成した地域の近くに作成され、地域を移動することはありません。
  • 並行処理の制限。高負荷時の読み取りや書き込みのクエリーは、新しいレプリカを作成するトリガーではなく、処理待ちのキューに入れられることがあります。その結果、オープンアルファのパフォーマンスとスループット特性は、最終的な製品とは異なる場合があります。
  • 可用性の制限。バックアップの実行中は、DBへのアクセスがブロックされます。ほとんどの場合これは1〜2秒のことで、バックアップ中に到着したリクエストはキューに入れられます。

Cloudflareはアルファ版を公開した理由として、完成形をパブリックベータとしてリリースする予定ではあるが、その前にホビーやサイドプロジェクトなどでCloudflare D1を使ってもらい、この製品の感触を確かめたいと考えているためだとしています。