PlanetScaleのHobbyプラン(無料)がなくなりました。詳しくはこちらの記事をご覧ください
PlanetScaleの無料枠は使い物になりません!
はい、PlanetScale最高です。PlanetScaleのせいで好きなRDBはMySQL一択になりました。しかし、個人で運用しているサービスに導入したところ、無料枠の制限を余裕で超えてしまいました。無料枠がいまいちわかりにくいので実例と使ってみてよかった点とわるい点を書こうと思います。他の人の記事とはちょっと観点が違うかもしれないので参考になれば。あと雰囲気で使っているのでちゃんと嘘をつくかも
PlanetScaleとは
PlanetScale は、世界で最も先進的なサーバーレス MySQL プラットフォームです
サーバーレスですがコールドスタートは起きないので不安にならなくても大丈夫です(僕は無駄に心配してました
詳しい内容はこちらの記事を見ればわかります
PlanetScaleの良いところ
以前はCloud SQLを使っていたのでCloud SQLより良いところが中心になるかもしれません。あと完全に個人の主観が入ってます。
一瞬でブランチ切れる
[Create branch]押下するとものの数分でブランチが切れます。ベースブランチのデータは引き継げませんが、Cloud SQLみたいにDB作るたびにお金掛からないので最高です
バックアップを別ブランチで切れる
上記でベースブランチのデータは引き継げませんと言ったばかりですが、バックアップからブランチが切れるのでデータを利用したい場合は簡単に引継げます。強すぎる...
マイグレーションテーブル残せる
ブランチ切る際にデータは引き継げませんが、マイグレーションに利用するテーブルのデータは引き継げます。さらにマイグレーションテーブル名は任意の名前でも問題ないのであらゆるマイグレーションライブラリに対応可。以下Railsの例
Deploy request最高
スキーマ変更した際に差分を確認してマージ出来るDeploy requestという機能があります。GithubのPullRequestをRDBに特化したみたいなやつです。mainにはプロテクトが掛けられていて直接変更出来ないのでスキーマ変更の際は必ずDeploy requestが必要となります。↓こんな感じで差分見れます。いや、最高でしょこれ
必要な機能は揃ってる
ノンブロッキングスキーマ変更、バックアップ、insights、チュートリアル、CLIなど必要な機能は揃ってます。しいて言うならinsightsの期間が有料でも7日間なので短いかも
PlanetScaleの悪いところ
なぜここはローテクなん?
無料枠 ちょっとつらい
プランを見ると無料枠はかなり太っ腹のように見えます。
- 5GBまでのストレージ
- 10億行のread
- 1000万行のwrite
- 1,000までのコネクション
10億回のread、1000万回のwriteということで、とてつもないアクセスのあるサービス以外は捌けるのでは?と思ってましたが実際のところ全然捌けません。私の運用しているサービスでは月に1万ユーザー、5~10万PV、100万ほどのレコード数とアクセスが多いわけではありませんが、1ヶ月に50億read、1000万回のwriteになってしまうため無料枠では運用出来ませんでした。PlanetScaleの行は単純な行数ではないため見積もることは難しくなっています。以下のページに詳しく記載されています。
時間ない人向け和訳
何が読み取り行としてカウントされるかを解読するのは難しい場合があります。
100億行のreadを超えるサービスの場合はread、write無制限のScaler proがあります。一番低いグレードで39ドルからあるので行数を減らすために頑張ってチューニングするよりは課金した方が早いかもしれません。Cloud SQLやAuroraに比べると安いので断然PlanetScaleが良いと思います。ちなみに私は29ドルのScalerを利用しています。
まとめ
- ブランチ機能マジ神
- Cloud SQLやAurora使うぐらいだったらPlanetScaleが良い
- MySQLしか使えないのは諦めて
- 無料枠は太っ腹に見えて全然使えない。開発で利用する分には足りる(たぶん)
- 5〜10万PVのサービスならScalerプランでいける(たぶん)
- 有料でもそこそこリーズナブルなので個人でも手を出しやすい
- ダウングレードはめんどくさそうなので課金するにはちょっと勇気がいる