[PlanetScale]

찐새·2022년 5월 1일
0

next.js

목록 보기
5/41
post-thumbnail
post-custom-banner

PlanetScale

MySQL과 호환되는 Serverless 데이터베이스 플랫폼이다.
Serverless란 서버가 없다는 뜻이 아닌, 개인이 서버를 생성하고 유지 및 보수할 필요가 없다는 뜻이다. 스케일이 커지면 자동으로 스케일을 늘려준다.

스케일링 기술로 Vitess라는 오픈 소스 데이터베이스를 사용하는데, 구글이 유튜브 스케일을 조정하기 위해 만든 오픈 소스이다.

CLI

PlanetScaleGit처럼 관리할 수 있는 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 명령어

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.

login

pscale auth login 후 연결되는 사이트 혹은 터미널의 링크에서 code confirm을 누른다.

region

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

아시아 지역은 싱가포르도쿄를 이용하면 된다.

database

데이터베이스 커맨드는 아래와 같다.

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 생성
    - 주의! 연결 주소를 알려주는 콘솔을 중지하거나 닫으면 안 된다.
    • prisma 연결 : .envDATABASE_URL="mysql://<DB URL>/<DB명>"으로 작성한다.

참고
노마드 코더 - 캐럿마켓 클론코딩
PlanetScale

profile
프론트엔드 개발자가 되고 싶다
post-custom-banner

0개의 댓글