data life

[PlanetScale] PlanetScale에 대해 알아보자 본문

Back-end

[PlanetScale] PlanetScale에 대해 알아보자

주술회전목마 2023. 11. 7. 16:42


PlanetScale은 개발자 경험을 희생하지 않고도 확장성, 성능 및 안정성을 제공하는 MySQL 호환 서버리스 데이터베이스입니다. PlanetScale을 사용하면 수평 분할, 비차단 스키마 변경 및 더욱 강력한 데이터베이스 기능을 구현하는 데 어려움을 겪지 않고도 강력한 기능을 얻을 수 있습니다.

 

출처 : planetScale 공식문서

planetScale은 깃과 같이 분기(branch) 작업이 가능합니다. 스키마 변경 사항을 프로덕션 데이터베이스에 직접 적용하는 대신 본질적으로 데이터베이스의 복사본인 분기를 생성할 수 있습니다. 프로덕션 외부에서 새 분기를 생성하면 개발에 사용하여 스키마를 변경할 수 있는 격리된 데이터베이스 복사본이 있습니다.

 

시작하기 전, 먼저 해당 사이트에서 로그인과 결제수단을 등록해주세요! (데이터베이스 생성 시, Error: You must add a credit card to your account before creating a database. 에러를 띄우는데 결제 수단 등록하자마자 해결되었습니다!)

❗️ Hobby 플랜으로 데이터베이스를 생성하는 경우에는 요금이 부과되지 않습니다.

 

1. 설치하기

- 맥/OS

brew install planetscale/tap/pscale
brew install mysql-client
brew upgrade pscale

 

저는 잘 되던 brew가 경로에러로 바꿔주느라 오래걸렸네요,,

/usr/local로 경로가 설정되어 있다면 저와 같은 에러가 발생할 수 있으니

만일 같은 에러가 뜬다면 아래 블로그의 도움을 받아보시길,, 바로 해결완료

https://velog.io/@chosh91/Mac-M1-Homebrew-%EC%84%A4%EC%B9%98

 

- 윈도우

윈도우 사용자의 경우 Scoop을 설치 후, 다운로드 받아주세요. 

 (Windows용 커맨드 라인 설치 프로그램) https://scoop.sh/


1. scoop bucket add pscale https://github.com/planetscale/scoop-bucket.git
2. scoop install pscale mysql
3. scoop update pscale

 

설치가 완료되었다면, 아래와 같이 다양한 명령어들을 볼 수 있습니다.

 

⭐️ 전체 명령어 목록 ⭐️

  • api :          PlanetScale API에 대해 인증된 호출을 수행합니다. 스크립팅에 유용합니다.
  • audit-log :      List audit logs
  • auth :          PlanetScale API를 통한 로그인 및 로그아웃
  • backup :        분기 백업 만들기, 나열, 표시 및 삭제
  • branch :         분기 생성, 삭제, 삭제 및 관리
  • completion :    셸에 대한 완료 스크립트 생성
  • connect :        로컬 클라이언트에 대한 데이터베이스 및 분기에 대한 보안 연결 만들기
  • data-imports :  분기 데이터 가져오기 만들기, 나열 및 삭제
  • database :      데이터베이스 생성, 읽기, 삭제 및 덤프/복원
  • deploy-request :   배포 요청 생성, 검토, 변경, 되돌리기 및 관리
  • help :          모든 명령에 대한 도움말
  • org :            조직 목록, 표시 및 전환
  • password :      분기 암호 만들기, 나열 및 삭제
  • region :         지역 리스트
  • service-token :  서비스 토큰에 대한 액세스 권한 생성, 목록화 및 관리
  • shell :          데이터베이스 및 분기에 MySQL 셸 인스턴스 열기
  • signup :        PlanetScale 계정에 새로 등록하기

 

 

2. 계정 로그인

다음으로, 계정에 로그인하기 위해 아래 명령어를 입력합니다.

이동하는 페이지에서 인증 코드 확인을 진행해주세요.

pscale auth login

 

 

3. 데이터베이스 생성

그리고 드디어 데이터베이스를 생성해줍시다!

pscale database create <DATABASE_NAME> --region <REGION_SLUG>
  • DATABASE_NAME — 데이터베이스 이름에는 소문자, 영숫자 또는 밑줄이 포함될 수 있습니다. 대시는 허용되지만 경우에 따라 이스케이프해야 할 수도 있으므로 권장하지 않습니다.
  • REGION_SLUG — 지연 시간을 최소화하려면 가장 가까운 지역이나 애플리케이션의 호스팅 위치를 선택하세요. 

REGION_SLUG는 다음 명령어를 이용하여 확인할 수 있으니 복사해두고 붙여넣기 해주세요.

pscale region list

 

여기까지 잘 실행하셨으면 데이터베이스가 생성되었을거라 생각합니다🎉

 

전에 생성해둔 Prisma 스키마를 연동할 예정이라 저는 추가 작업이 필요하겠네요.

앞서 설명한 명령어 중 connect를 이용하여 안전하게 연결해주도록 하겠습니다.

연결이 완료되면 PlanetScale 서버와 연결된 URL을 얻을 수 있으며 해당 URL을 Prisma스키마에 적용하면 완료입니다 :)

npx prisma db push

 

 

추가 정보는

공식문서

에서 자세하게 알아보시는 것을 추천드립니다.

 

'Back-end' 카테고리의 다른 글

[Prisma] Prisma 시작하기(1)  (0) 2023.11.12
MongoDB  (0) 2022.12.10
Nodejs package.json  (0) 2022.12.04