【ぷらねっとすけーる】

PlanetScale とは?

最終更新:
💡 データベースの変更を、別の作業場で確かめよう

MySQL互換のVitessとPostgreSQLを提供するクラウドDBサービス。ブランチ機能やスキーマ変更の仕組みを、提供エンジンごとに理解しよう。

📌 このページのポイント
PlanetScale:構造の変更を試すVitessの本番ブランチ商品:名前・価格通常は構造だけを複製開発ブランチで列を追加商品:名前・価格・色差分・互換性を確認して反映本番に「色」の列を追加データ同士のマージではない
Vitessの通常の開発ブランチの例。PostgreSQLなど、提供エンジンによって機能は異なります。
ひよこ ひよこ
PlanetScaleって、MySQLのサービスなの?
ペンギン先生 ペンギン先生
MySQL互換のVitessに加えて、PostgreSQLも提供するクラウドDBサービスだよ。エンジンによって機能や運用方法が違うので、使いたいDBの資料を確認しよう。
ひよこ ひよこ
ペンギン先生 ペンギン先生
本番とは別の作業場を作るイメージだよ。Vitessの通常の開発ブランチは、テーブルや列などのスキーマ(データの構造)を複製する。中のデータまで丸ごとコピーする機能とは区別しよう。
ひよこ ひよこ
たとえば商品に「色」の列を足したいときは?
ペンギン先生 ペンギン先生
開発ブランチで列の追加を試し、デプロイリクエストで本番との差分を確認できるよ。安全なスキーマ変更を有効にした本番ブランチでは、この仕組みを通して変更を適用する。データ同士をGitのようにマージするわけではないんだ。
ひよこ ひよこ
Vitessを使うと、自動で全部分割されるの?
ペンギン先生 ペンギン先生
VitessはMySQLを複数のシャードに分けて扱うための仕組みだけれど、分割する構成やキーを設計する必要があるよ。PlanetScaleを選んだだけで、すべてのDBが自動的に分割されるという意味ではないんだ。
ひよこ ひよこ
外部キーは使えないって聞いたよ。
ペンギン先生 ペンギン先生
Vitessでは、シャーディングしていないDBで設定を有効にすると使えるよ。対応には制限もあるので、以前の「外部キー非対応」という説明も、「どの構成でも同じように使える」という理解も避けよう。
ひよこ ひよこ
ほかのクラウドDBより良いの?
ペンギン先生 ペンギン先生
一律には決められないよ。必要なDB、ブランチや移行の方法、容量、費用で選ぼう。構造を安全に変える仕組みがあっても、アプリとの互換性やデータの確認、バックアップは別に必要だよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PlanetScale」って出てきたら「ブランチ機能もあるクラウドのデータベースサービス」と思えばだいたいOK!
📖 おまけ:英語の意味
「PlanetScale」 = planet(惑星)+scale(規模)
💬 サービス名だよ。英単語では「惑星規模」と読めるけれど、名前だけで容量や性能が決まるわけではないんだ。

参考資料

← 用語集にもどる