
처음 프로젝트를 설계하는 단계에서 고민하게 되었다.
일단 혼자하는 프로젝트인 만큼 백엔드를 따로 둘 생각은 하지 않았고
BaaS 공급업체 중에서 고민하였다
(BaaS란 서버리스 백엔드로 모든 백그라운드 측면을 아웃소싱하여 프런트엔드만 작성하고 유지관리하면 되는 클라우드 서비스 모델이다)
가장 비슷한 두 업체를 최종적으로 비교하게 되었는데 서로의 장단점이 있었다.
Firebase: Firebase는 NoSQL 기반의 클라우드 Firestore와 실시간 데이터베이스인 Realtime Database 두 가지 데이터베이스를 제공합니다. Firestore는 확장성과 쿼리 기능이 강화되어 있으며, Realtime Database는 실시간 데이터 동기화에 특화되어 있습니다.
Supabase: Supabase는 PostgreSQL 기반의 관계형 데이터베이스를 제공합니다. SQL 쿼리를 사용하여 데이터를 조작할 수 있으며, 복잡한 관계를 다루는 애플리케이션에 유용합니다.
Firebase: Firebase는 사용자 인증을 위한 다양한 옵션을 제공합니다. 이메일/비밀번호, 소셜 로그인, 전화번호 인증 등 다양한 인증 방식을 지원합니다.
Supabase: Supabase는 이메일/비밀번호 인증을 기본으로 제공하며, 추가 인증 방식은 커스터마이징이 가능합니다.
Firebase: Firebase는 클라우드 스토리지를 제공하여 파일 업로드, 다운로드, 호스팅 등을 처리할 수 있습니다.
Supabase: Supabase는 스토리지 기능을 제공하지 않습니다. 따라서 파일 관리는 별도의 스토리지 서비스를 사용해야 합니다.
Firebase: Firebase는 요금제에 따라 다양한 가격 옵션을 제공합니다. 사용한 서비스의 양과 요청 횟수 등에 따라 비용이 발생합니다.
Supabase: Supabase는 오픈 소스인 Supabase Core를 사용할 경우, 자체 호스트 및 운영이 가능하며 무료로 사용할 수 있습니다. Supabase 호스팅을 사용하거나 추가 기능을 원할 경우, 요금이 발생할 수 있습니다.
Firebase: Firebase는 Google의 인프라를 기반으로 하여 높은 확장성을 제공합니다. 글로벌로 분산된 데이터 센터를 통해 안정적인 서비스를 제공할 수 있습니다.
Supabase: Supabase는 수직 및 수평 확장성을 지원합니다. 필요에 따라 서버를 확장하여 더 많은 트래픽을 처리할 수 있습니다.
그래서 결국에는 Supabase를 사용하였고 그 이유는