- 사이트 : https://supabase.com/
Supabase | The Postgres Development Platform.
Build production-grade applications with a Postgres database, Authentication, instant APIs, Realtime, Functions, Storage and Vector embeddings. Start for free.
supabase.com
- 깃허브 오픈 소스 : https://github.com/supabase/supabase
GitHub - supabase/supabase: The Postgres development platform. Supabase gives you a dedicated Postgres database to build your we
The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications. - supabase/supabase
github.com

Supabase란?
Supabase는 오픈소스 기반 Backend as a Service (BaaS) 플랫폼으로, PostgreSQL(Postgres) 데이터베이스를 중심으로 다양한 기능을 제공합니다. (여기서 BaaS는 서비스형 백엔드를 의미합니다.)
즉, 웹/앱 개발자가 빠르게 백엔드를 만들고, 실시간 기능이나 인증 등을 쉽게 구현할 수 있도록 돕는 플랫폼입니다.
이해하기 쉽게 마이크로소프트 Access나 오라클 처럼 데이터베이스를 다루는 기능을 사용하여, 개인이 간단한 DB를 만들어 양식, 보고서, 애플리케이션까지 개발하여 서비스를 제공할 수 있습니다.
사용하는 이유와 사용처
사용하는 이유
- 빠른 웹/앱 개발: DB (Database)를 사용한 기능을 제공
- 서버 관리 최소화: 백엔드 서버 없이도 풀스택 개발 가능
- 실시간 기능과 서버리스 함수가 내장되어 있어 실시간 앱/프로토타입 개발 용이
- 오픈소스 + Postgres 기반으로 확장성과 안정성 확보
사용처
- 웹/모바일 앱 백엔드
- 실시간 채팅, 대시보드, 알림 서비스
- 프로토타입 제작, 스타트업 MVP 개발
- 벡터 검색 기반 AI 서비스(문서 검색, 추천 시스템)
- 파일/미디어 저장 및 관리 ★
장점
| 빠른 개발 | DB, 인증, API, 스토리지 등을 바로 사용 가능 |
| 실시간 기능 | DB 변경 사항 즉시 반영 |
| 서버리스 기능 | Edge Functions로 서버 코드 없이 로직 실행 가능 |
| Postgres 기반 | 안정적이고 표준 SQL 사용 가능 ★ |
| 오픈소스 | 코드 수정, 확장, 호스팅 자유도 높음 |
| 무료 플랜 제공 | 작은 프로젝트/개발 초기 단계에서 비용 부담 적음 ★ |
단점
| 엔터프라이즈 수준 기능 제한 | Oracle, AWS RDS 같은 고급 DB 기능은 부족 |
| Postgres 기반 제한 | 다른 DB(MySQL, Oracle, MongoDB 등) 필요 시 직접 연동 필요 |
| 대규모 트래픽 비용 | 무료 플랜은 제한적, 트래픽/저장량 증가 시 비용 발생 |
| 서버리스 한계 | 복잡한 계산, 대규모 배치 작업에는 적합하지 않을 수 있음 |
| 상대적으로 신생 서비스 | 기업용 안정성과 장기간 지원 면에서는 Oracle/SQL Server 대비 제한적 |
활용 예시
- 스타트업 앱 개발
- 사용자 인증, DB, API, 스토리지 통합 사용
- 예: SNS 앱, ToDo 앱, 커뮤니티 앱
- 실시간 앱
- 채팅, 알림, 실시간 대시보드
- Realtime subscription 기능 활용
- AI/벡터 검색 서비스
- 문서 유사도 검색, 추천 시스템
- Vector embeddings 기능 사용
- 프로토타입 제작 / MVP 개발
- 서버 구축 없이 빠르게 웹/모바일 기능 구현
- 개인 프로젝트/교육용
- SQL, 인증, 서버리스 실습용으로 적합
비교 대상
| Firebase | Google에서 제공하는 BaaS, 실시간 DB, 인증, 스토리지 지원 |
| AWS Amplify | AWS 기반 BaaS, 클라우드 통합, 인증, GraphQL API, 스토리지 |
| Heroku + PostgreSQL | 서버리스는 아니지만, 간단히 Postgres DB와 앱 호스팅 가능 |
| Oracle DB | 전통적 엔터프라이즈 RDBMS, 강력한 기능과 안정성 |
| MongoDB Atlas | NoSQL DB, 문서 기반, 클라우드 관리형 |
| DB 타입 | Postgres (RDBMS) | Realtime DB / Firestore (NoSQL) | RDS/Postgres 가능 | RDBMS | NoSQL (문서형) |
| 인증 | 내장(Auth) | 내장(Auth) | 내장(Auth) | 직접 구현 필요 | 직접 구현 필요 |
| 실시간 | Realtime subscription | 실시간 DB 지원 | AppSync/GraphQL로 구현 가능 | 별도 솔루션 필요 | Change streams 사용 가능 |
| 서버리스 | Edge Functions | Cloud Functions | Lambda 기반 가능 | X | Realm Functions 가능 |
| API 생성 | 자동 RESTful API | Firestore SDK 사용 | GraphQL/REST 구성 가능 | 직접 구현 필요 | Realm SDK/API 사용 |
| 스토리지 | 파일/미디어 저장 지원 | Firebase Storage | S3 연동 | DB 외부 | GridFS 사용 |
| 벡터 검색 | 지원(Vector embeddings) | 제한적 | 제한적 | 제한적 | Atlas Vector Search 가능 |
| 오픈소스 | 예 | 일부 | X | X | 일부 |
| 목표 | 웹/앱 빠른 개발 | 모바일/웹 앱 | 엔터프라이즈 앱 | 기업용 DB | NoSQL/빅데이터 앱 |
RAG 에서의 활용 🔥🔥🔥
RAG란? (Retrieval-Augmented Generation)
RAG는 “검색 기반 생성 AI” 모델을 의미합니다
LLM(예: ChatGPT, Gemini)이 추가적인 지식을 외부 DB에서 검색 → 그 정보를 기반으로 답변을 만드는 방식
기본 작동 방식
1. 사용자 질문 입력
2. 질문을 임베딩(벡터)으로 변환
3. 벡터 DB에서 가장 유사한 문서 검색
4. 검색된 문서를 LLM에게 함께 전달
5. LLM이 정답 생성
Supabase가 RAG에서 중요한 이유
Supabase는 PostgreSQL 기반 + 벡터 확장(pgvector)을 지원하는 플랫폼이기 때문에 RAG 시스템에서 벡터 데이터베이스 역할을 매우 잘 수행합니다.
🔹 Supabase = Postgres + 벡터DB + Storage + Auth
🔹 이를 RAG 파이프라인과 연결하면 완전한 검색·생성 시스템 구축 가능
Supabase의 RAG 관련 기능
Supabase는 아래 기능을 모두 제공하기 때문에 RAG 시스템 구축에 최적화되어 있습니다.
1. pgvector (벡터 데이터베이스)
- 임베딩 벡터 저장
- 코사인/유클리드거리 기반 유사도 검색
- 빠른 nearest neighbor 검색 제공
→ LLM 질문과 관련 문서 검색 핵심 기능
2. Storage (파일 저장 기능)
- PDF, Word, 이미지, 코드, 연구자료 등 저장
- 파일을 읽어 text로 변환 후 벡터화해 DB에 넣을 수 있음
3. Edge Functions
- 서버리스 함수
- OpenAI, ChatGPT API와 연결
- 검색 → 생성 프로세스 담당
4. Auth
- 로그인/사용자 관리
- 사용자별 개인화된 RAG 서비스 가능
Supabase RAG 파이프라인 구성 예시
1. 사용자 문서 업로드
PDF 업로드 → Supabase Storage에 저장
2. 문서 텍스트 추출
Edge Function 또는 클라이언트 코드에서 추출
3. 임베딩 생성 (OpenAI Embeddings)
텍스트를 벡터로 변환
4. Supabase(pgvector)에 벡터 저장
| 1 | "압축 강도는 ~" | [0.25, -0.11, …] |
5. 사용자 질문 → 벡터 변환
6. pgvector로 유사 문서 검색
SELECT content FROM docs ORDER BY embedding <=> query_vector LIMIT 3
7. 검색된 내용을 LLM에게 전달 → 답변 생성
왜 Supabase를 RAG에 쓸까? (장점)
| Postgres 기반 | 안정적이고 호환성 높음. pgvector로 벡터DB 기능을 Postgres 안에 직접 내장 → SQL 기능 모두 사용 가능 |
| 무료로 시작 가능 | 가볍게 RAG MVP(프로토타입)를 만들기 좋음 |
| Edge Functions 제공 | 서버 없이도 RAG API를 구성할 수 있는 서버리스 환경을 제공 |
| Storage + Auth + DB 통합 | 문서 업로드·사용자 관리·벡터 저장을 하나의 플랫폼에서 해결 가능 |
| 실시간(Realtime) 기능 | DB가 변경되면 즉시 반영 → 벡터 업데이트도 자동 또는 쉽게 처리 가능 |
Supabase RAG 활용 사례
1. 논문 분석 챗봇
사용자가 업로드한 논문 기반 Q&A 제공
2. 기업 내부 문서 기반 검색 시스템
사내 규정/메뉴얼/회의록 기반 LLM 질의응답
3. 교육용 AI 튜터
강의자료, 교재 내용을 기반으로 대답하는 개인화된 튜터
4. 개발 문서 기반 AI 코드 조언 (N8N 자동화 툴 사용 ★)
특정 프로젝트 문서를 기반으로 필요한 코드 조언 제공
5. 고객센터 챗봇
FAQ + 메뉴얼 기반 자동 답변 시스템
'Computer Science > 데이터베이스' 카테고리의 다른 글
| SQL 언어란? (0) | 2025.12.05 |
|---|