# Cloudflare から PlanetScale の Postgres も MySQL も直接デプロイできちゃう！

やっほー、しぃちゃんだよ！ きょうは Cloudflare と PlanetScale がぐっと仲良くなったお話。データベースまわりがまた便利になったから、わくわくして紹介しちゃうね！

## なにが発表されたの？

これは Cloudflare の Blog からのニュースだよ。Cloudflare と PlanetScale がパートナーシップを広げて、**Cloudflare のダッシュボードや API から直接 PlanetScale のデータベースを作れる**ようになるんだって。

対象は PlanetScale の Postgres と MySQL。しかも来月からは、新しく作ったデータベースの料金を **Cloudflare のアカウントにまとめて請求**できるようになるの。セルフサービスの人もエンタープライズの人も、支払いが一本化されるってわけ。うれしいのは、[スタートアップ向けプログラム](https://www.cloudflare.com/forstartups/)のクレジットやコミット済みの利用枠を、PlanetScale のデータベースにも使えること！

## 今までどうだったの？

これまでも [Cloudflare Workers](https://workers.cloudflare.com/) から外部のデータベースにはつなげたけど、契約と請求は別々。PlanetScale は PlanetScale、Cloudflare は Cloudflare で、それぞれ管理する必要があったの。今回のアップデートで、データベースの用意から支払いまで Cloudflare の画面のなかで完結できるようになるのが大きな変化だよ。

## これで何が変わるの？

いちばんうれしいのは、**あちこち行き来しなくていい**こと。Cloudflare の[ダッシュボード](https://dash.cloudflare.com/?to=/:account/workers/hyperdrive?modal=1)から数クリックでデータベースを立てて、そのまま Workers につないで、請求もまとめられる。

Postgres 派の人にも朗報だよ。原文にはこんな一言があるの。

> Postgres has risen in developer popularity with its rich tooling ecosystem (ORMs, GUIs, etc) and extensions like pgvector for building vector search in AI-driven applications.

つまり、ORM や GUI みたいな道具がそろっていて、[pgvector](https://github.com/pgvector/pgvector/) みたいな拡張で AI アプリのベクトル検索も作れる、と。そういう Postgres の良さをそのまま Cloudflare の上で活かせるようになるんだね。

## 深く潜ってみよう

つなぎ役になるのは [Hyperdrive](https://blog.cloudflare.com/how-hyperdrive-speeds-up-database-access/)。Cloudflare のデータベース接続サービスで、コネクションプールとクエリキャッシュをよしなに面倒みてくれるの。使うときは Worker の `wrangler.jsonc` に [binding](https://developers.cloudflare.com/workers/runtime-apis/bindings/) を足すだけ。

```
{
  "hyperdrive": [
    {
      "binding": "DATABASE",
      "id": "自動生成されたID"
    }
  ]
}
```

あとはふつうの Postgres クライアント(例では `pg` ライブラリ)でクエリを投げられるよ。接続文字列はバインディングから取れるの。

```javascript
import { Client } from "pg";

const client = new Client({
  connectionString: env.DATABASE.connectionString
});
await client.connect();
const result = await client.query("SELECT * FROM pg_tables");
```

さらに速くしたいときは、Workers の[配置ヒント](https://developers.cloudflare.com/workers/configuration/placement/#configure-explicit-placement-hints)でプライマリのデータベースの近くに Worker を寄せられるの。うまくいくと**片道が 1 桁ミリ秒**まで縮むんだって。

```
{
  "placement": {
    "region": "aws:us-east-1"
  }
}
```

お値段は、シングルノードの PlanetScale Postgres が[月 5 ドルから](https://planetscale.com/blog/5-dollar-planetscale)。[query insights](https://planetscale.com/docs/postgres/monitoring/query-insights) やデプロイを安全にする [branching](https://planetscale.com/docs/postgres/branching)、細かい利用量・コストの内訳といった機能も、標準の [PlanetScale の料金](https://planetscale.com/pricing)にぜんぶ入ってるよ。

## まとめ

- Cloudflare のダッシュボード / API から PlanetScale の Postgres・MySQL を直接用意できる
- 来月から料金は Cloudflare アカウントにまとめて請求、スタートアップクレジットも使える
- 接続は Hyperdrive 経由、`wrangler.jsonc` にバインディングを足すだけ
- 配置ヒントでプライマリの近くに寄せれば片道 1 桁ミリ秒も狙える
- シングルノードの Postgres は月 5 ドルから

Workers でアプリを作っていて「ちゃんとしたリレーショナル DB がほしいな」って人にドンピシャ。契約も請求も Cloudflare 側でまとめたいチームは、来月のリリースをチェックしてみてね！
