피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Render와 Supabase 기반의 Cloud-native RAG 시스템 구축
Building a RAG System from Scratch — Cloud Deployment with Render and Supabase
AI 요약
Context
Localhost 기반의 MCP 서버와 Docker pgvector 환경에서 발생하는 접근성 제한 및 배포 효율성 결여를 해결하고자 함. 로컬 환경의 stdio 통신 체계를 Cloud 환경의 HTTPS 기반 원격 호출 구조로 전환하여 범용적 접근성을 확보한 사례임.
Technical Solution
- Supabase pgvector 도입을 통한 Managed PostgreSQL 기반의 Vector Database 환경 구축
- HNSW 인덱스(m=16, ef_construction=64) 적용을 통한 고차원 벡터 검색 최적화 및 검색 속도 향상
- Render의 IPv6 미지원 제약을 극복하기 위해 Port 5432 대신 Connection Pooler(Port 6543)의 IPv4 엔드포인트 채택
- stdio Transport를 streamable-http 방식으로 변경하여 원격 LLM Client와의 HTTPS 통신 인터페이스 구현
- Gemini-embedding-001 모델을 활용한 768차원 벡터 임베딩 생성 및 Cosine Similarity 기반의 문서 검색 로직 설계
- Render Free Tier의 Inactivity Sleep(15분) 문제를 UptimeRobot 기반의 주기적 헬스체크 핑으로 해결하여 Cold Start 지연 방지
실천 포인트
- Cloud-to-Cloud 연결 시 서비스 제공자의 네트워크 프로토콜(IPv4/IPv6) 호환성 우선 검토 - Managed DB 사용 시 Connection Pooler의 전용 포트를 활용한 커넥션 관리 최적화 적용 - Serverless/Free Tier 환경의 Cold Start 지연 방지를 위한 외부 Keep-alive 메커니즘 도입 검토 - 벡터 DB 인덱싱 시 데이터 규모와 검색 정확도 Trade-off를 고려한 HNSW 파라미터 튜닝 수행