MySQL
과 호환되는 Serverless 데이터베이스 플랫폼이다.
Serverless란 서버가 없다는 뜻이 아닌, 개인이 서버를 생성하고 유지 및 보수할 필요가 없다는 뜻이다. 스케일이 커지면 자동으로 스케일을 늘려준다.
스케일링 기술로 Vitess
라는 오픈 소스 데이터베이스를 사용하는데, 구글이 유튜브 스케일을 조정하기 위해 만든 오픈 소스이다.
PlanetScale은 Git처럼 관리할 수 있는 CLI(Command Line Interface)를 제공한다.
https://github.com/planetscale/cli
Windows 환경에서는 Scoop
을 설치해야 한다. 설치 참고는 여기.
Scoop
이 설치 되면 아래 명령어를 입력한다.
scoop bucket add pscale https://github.com/planetscale/scoop-bucket.git
scoop install pscale mysql
# 아래 오류 발생 시
# Git is required for buckets. Run 'scoop install git' and try again.
scoop install git #을 먼저 실행한다.
# 업데이트
scoop update pscale
pscale -h
를 입력했을 때 나오는 스크립트다.
pscale is a CLI library for communicating with PlanetScale's API.
Usage:
pscale [command]
Available Commands:
audit-log List audit logs
auth Login and logout via the PlanetScale API
backup Create, list, show, and delete branch backups
branch Create, delete, diff, and manage branches
completion Generate completion script for your shell
connect Create a secure connection to a database and branch for a local client
database Create, read, delete, and dump/restore databases
deploy-request Create, review, diff, and manage deploy requests
help Help about any command
org List, show, and switch organizations
password Create, list, and delete branch passwords
region List regions
service-token Create, list, and manage access for service tokens
shell Open a MySQL shell instance to a database and branch
signup Signup for a new PlanetScale account
Flags:
--api-token string The API token to use for authenticating against the PlanetScale API.
--api-url string The base URL for the PlanetScale API. (default "https://api.planetscale.com/")
--config string Config file (default is $HOME/.config/planetscale/pscale.yml)
--debug Enable debug mode
-f, --format string Show output in a specific format. Possible values: [human, json, csv] (default "human")
-h, --help help for pscale
--no-color Disable color output
--service-token string Service Token for authenticating.
--service-token-id string The Service Token ID for authenticating.
--version Show pscale version
Use "pscale [command] --help" for more information about a command.
pscale auth login
후 연결되는 사이트 혹은 터미널의 링크에서 code confirm
을 누른다.
pscale region list
명령어를 통해 클라우드 서버 지역을 확인할 수 있다.
NAME (9) SLUG ENABLED
----------------------------------- -------------------- ---------
AWS us-east-1 (Northern Virginia) us-east Yes
AWS us-west-2 (Oregon) us-west Yes
AWS eu-west-1 (Dublin) eu-west Yes
AWS ap-south-1 (Mumbai) ap-south Yes
AWS ap-southeast-1 (Singapore) ap-southeast Yes
AWS ap-northeast-1 (Tokyo) ap-northeast Yes
AWS eu-central-1 (Frankfurt) eu-central Yes
AWS ap-southeast-2 (Sydney) aws-ap-southeast-2 Yes
AWS sa-east-1 (Sao Paulo) aws-sa-east-1 Yes
아시아 지역은 싱가포르나 도쿄를 이용하면 된다.
데이터베이스 커맨드는 아래와 같다.
create Create a database instance
delete Delete a database instance
dump Backup and dump your database
list List databases
restore-dump Restore your database from a local dump directory
show Retrieve information about a database
pscale database create <DB명> --region <지역SLUG>
: DB 생성pscale connect <DB명>
: DB URL 생성.env
의 DATABASE_URL="mysql://<DB URL>/<DB명>"
으로 작성한다.