supabase/supabase — The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
supabase/supabase — 웹·모바일·AI 앱을 위한 Postgres 개발 플랫폼
Supabase는 Firebase의 기능을 엔터프라이즈급 오픈소스 도구로 재구성한 Postgres 개발 플랫폼입니다. 호스티드 Postgres 데이터베이스 위에 인증, 자동 생성 API, Functions, 스토리지, AI·벡터 툴킷을 결합해 Firebase 수준의 개발 경험을 오픈소스로 제공하는 것이 목표입니다.
- 주제
본문
GitHub 트렌딩에 오른 Supabase는 자신을 'Postgres 개발 플랫폼'으로 정의하며, Firebase가 제공하는 기능들을 엔터프라이즈급 오픈소스 도구의 조합으로 만들어가는 프로젝트입니다. 핵심 제공 기능은 호스티드 Postgres 데이터베이스, 인증 및 권한 부여(Authentication and Authorization), 자동 생성 API(Auto-generated APIs), Functions, 파일 스토리지(File Storage), AI + Vector/Embeddings Toolkit, 그리고 대시보드입니다. 주요 업데이트를 받아보고 싶다면 이 리포지토리의 releases를 watch하라고 안내하고 있으며, 전체 문서는 supabase.com/docs에서 확인할 수 있습니다.
Firebase를 1대1로 복제하지 않는다
Supabase의 설계 원칙은 명확합니다. MIT, Apache 2 또는 이에 준하는 오픈 라이선스를 가진 도구와 커뮤니티가 이미 존재하면 그 도구를 사용하고 지원하고, 존재하지 않으면 직접 만들어 오픈소스로 공개합니다. 다만 프로젝트 측은 Supabase가 Firebase의 1대1 대응이 아니라고 분명히 밝힙니다. 목표는 Firebase 같은 개발자 경험을 오픈소스 도구로 제공하는 것이지, 기능 목록을 그대로 베끼는 것이 아니라는 설명입니다.
아키텍처: 검증된 오픈소스 구성 요소의 조합
Supabase는 설치 없이 가입만으로 바로 쓸 수 있는 호스티드 플랫폼이며, 동시에 셀프 호스팅과 로컬 개발도 지원합니다. 아키텍처는 개별 오픈소스 프로젝트들의 조합으로 이루어져 있습니다. Postgres는 30년 이상 활발히 개발되어 온 객체-관계형 데이터베이스 시스템으로, 신뢰성과 기능 견고성, 성능에 대한 평판을 갖추고 있습니다. Realtime은 Elixir로 작성된 서버로, Postgres의 내장 replication 기능을 폴링해 insert·update·delete 변경 사항을 JSON으로 변환한 뒤 웹소켓을 통해 인가된 클라이언트에 브로드캐스트합니다. PostgREST는 PostgreSQL 데이터베이스를 곧바로 RESTful API로 바꿔주는 웹 서버이고, GoTrue는 JWT 기반 인증 API로 사용자 가입·로그인·세션 관리를 단순화합니다. Storage는 S3 위의 파일을 관리하는 RESTful API로 권한 처리는 Postgres가 담당하며, pg_graphql은 GraphQL API를 노출하는 PostgreSQL 확장, postgres-meta는 테이블 조회·역할 추가·쿼리 실행 등 Postgres 관리를 위한 RESTful API입니다. 여기에 클라우드 네이티브 고성능 엣지·서비스 프록시인 Envoy가 더해집니다.
모듈식 클라이언트 라이브러리
클라이언트 라이브러리 접근 방식은 모듈식입니다. 각 하위 라이브러리가 하나의 외부 시스템을 위한 독립 구현체이며, 이것이 기존 도구를 지원하는 방식 중 하나라고 설명합니다. 공식 클라이언트로는 JavaScript(TypeScript)용 supabase-js, Flutter용 supabase-flutter, Swift용 supabase-swift, Python용 supabase-py가 있고, 각각 postgrest-js·auth-js·realtime-js·storage-js·functions-js 같은 기능별 라이브러리가 번들됩니다. 커뮤니티 클라이언트로는 C#, Go, Java, Kotlin, Ruby, Rust, 그리고 Godot Engine(GDScript)용 supabase-gdscript까지 폭넓게 존재하며, 언어별로 지원하는 기능 범위는 표로 정리되어 있습니다.
커뮤니티와 지원 채널
도움을 받는 채널도 용도별로 나뉘어 있습니다. Community Forum은 개발 중 도움 요청과 데이터베이스 모범 사례 논의에, GitHub Issues는 Supabase 사용 중 만난 버그와 오류 제보에, Email Support는 데이터베이스·인프라 문제에, Discord는 자신의 애플리케이션 공유와 커뮤니티 교류에 적합하다고 안내합니다.
원문: GitHub / 번역·요약: Trawling