rag_template / docs /DATABASE_COMPARISON.md
Guilherme Favaron
Sync: Complete project update (Phase 6) - API, Metadata, Eval, Docs
a686b1b
# Comparacao de Provedores PostgreSQL
Guia completo para escolher o melhor provedor de PostgreSQL para seu RAG Template.
---
## Visao Geral
| Provider | Melhor Para | Free Tier | Dificuldade | Recomendacao |
|----------|-------------|-----------|-------------|--------------|
| **Supabase** | Producao pequena/media | 500MB | Facil | Primeira escolha |
| **Neon** | Desenvolvimento | 10GB | Facil | Melhor free tier |
| **Railway** | Full-stack apps | $5 credito | Media | Para deploy completo |
| **Local (Docker)** | Dev local | Ilimitado | Media | Testes offline |
---
## Comparacao Detalhada
### Supabase
#### Vantagens
- Dashboard excelente e intuitivo
- Infraestrutura robusta (AWS)
- Connection pooling (pgBouncer)
- Backups automaticos
- Real-time subscriptions
- Storage integrado
- Edge Functions
- Auth integrado
#### Desvantagens
- Free tier limitado (500MB)
- Pausa apos 1 semana de inatividade (free)
- Sem database branching
#### Limites Free Tier
| Recurso | Limite |
|---------|--------|
| Storage | 500MB |
| Bandwidth | 2GB/mes |
| Database size | 500MB |
| Edge Functions | 500k invocacoes |
| Auth users | Ilimitado |
#### Preco
- **Free**: $0/mes
- **Pro**: $25/mes (8GB, sem pausa)
- **Team**: $599/mes (customizavel)
#### Quando Usar
- Projetos de producao pequenos/medios
- Precisa de auth e storage integrados
- Quer dashboard completo
- Prioriza estabilidade
#### Setup
Veja guia completo em: [SUPABASE_SETUP.md](SUPABASE_SETUP.md)
---
### Neon
#### Vantagens
- Free tier generoso (10GB)
- Database branching (copia completa do banco)
- Autoscaling automatico
- Cold start muito rapido
- Connection pooling integrado
- API completa
- Boa documentacao
#### Desvantagens
- Relativamente novo (menos maduro)
- Menos features extras (sem auth, storage)
- Compute hours limitadas (100h/mes free)
#### Limites Free Tier
| Recurso | Limite |
|---------|--------|
| Storage | 10GB |
| Compute | 100h/mes |
| Projetos | 10 |
| Branches | 10 por projeto |
| Conexoes | 1000 simultaneas |
#### Preco
- **Free**: $0/mes
- **Pro**: $19/mes (100GB, 750h compute)
- **Scale**: Custom pricing
#### Quando Usar
- Desenvolvimento local com banco remoto
- Precisa de muito storage gratuito
- Quer testar branching
- Projetos side projects
#### Setup
Veja guia completo em: [NEON_SETUP.md](NEON_SETUP.md)
---
### Railway
#### Vantagens
- Deploy completo (app + banco)
- Integracao GitHub (CI/CD automatico)
- Preview deploys para PRs
- CLI poderoso
- Logs e monitoring excelentes
- Multiplos servicos no mesmo projeto
#### Desvantagens
- Free tier limitado ($5 credito)
- Mais caro para rodar 24/7
- Curva de aprendizado maior
#### Limites Free Tier
| Recurso | Limite |
|---------|--------|
| Credito | $5/mes |
| Projetos | Ilimitado |
| Servicos | Ilimitado |
| Bandwidth | $0.10/GB |
**Quanto dura $5?**
- PostgreSQL 24/7: ~$5/mes
- App (512MB) 24/7: ~$5/mes
- **Total**: Nao suficiente para ambos 24/7
#### Preco
- **Trial**: $5 credito/mes
- **Hobby**: $5/mes + $5 uso
- **Pro**: $20/mes + uso
#### Quando Usar
- Deploy full-stack completo
- Quer CI/CD integrado
- Precisa de preview deploys
- Projetos com multiplos servicos
#### Setup
Veja guia completo em: [RAILWAY_SETUP.md](RAILWAY_SETUP.md)
---
### Local (Docker)
#### Vantagens
- Ilimitado e gratuito
- Controle total
- Sem latencia de rede
- Funciona offline
- Ideal para desenvolvimento
#### Desvantagens
- Configuracao inicial complexa
- Precisa gerenciar backups
- Nao acessivel remotamente (sem config extra)
- Consume recursos locais
#### Requisitos
- Docker instalado
- 2GB RAM livre
- 10GB disco livre
#### Quando Usar
- Desenvolvimento local puro
- Testes que nao precisam persistir
- Sem internet disponivel
- Aprendendo RAG/PostgreSQL
#### Setup
```bash
# Ja configurado no projeto
docker-compose up -d
# Ver logs
docker-compose logs -f
# Parar
docker-compose down
```
---
## Casos de Uso Recomendados
### Desenvolvimento Local
**Recomendacao**: Neon (10GB free) ou Local Docker
**Por que?**
- Neon: Acesso remoto, sem gerenciar infraestrutura
- Docker: Offline, controle total
### Producao - MVP/Side Project
**Recomendacao**: Supabase Free
**Por que?**
- Infraestrutura confiavel
- 500MB suficiente para MVP
- Dashboard completo
- Backups automaticos
### Producao - App Crescendo
**Recomendacao**: Supabase Pro ($25/mes) ou Neon Pro ($19/mes)
**Por que?**
- Supabase: Mais features, melhor suporte
- Neon: Mais barato, branching util
### Full-Stack Deploy
**Recomendacao**: Railway Hobby ($5/mes)
**Por que?**
- Deploy app + banco junto
- CI/CD integrado
- Preview deploys
### Enterprise
**Recomendacao**: Supabase Team ou RDS/CloudSQL
**Por que?**
- SLA garantido
- Suporte dedicado
- Compliance
- Escalabilidade
---
## Comparacao de Features
### Infraestrutura
| Feature | Supabase | Neon | Railway | Local |
|---------|----------|------|---------|-------|
| **Uptime SLA** | 99.9% (Pro) | 99.9% (Pro) | 99.9% (Pro) | N/A |
| **Backups** | Diarios (Pro) | Point-in-time | Manual | Manual |
| **HA/Replicacao** | Pro+ | Pro+ | Pro+ | Nao |
| **Auto-scaling** | Nao | Sim | Nao | Nao |
| **Cold start** | <5s | <2s | <5s | Instant |
### Developer Experience
| Feature | Supabase | Neon | Railway | Local |
|---------|----------|------|---------|-------|
| **Dashboard UI** | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| **SQL Editor** | Sim | Sim | Via CLI | Via psql |
| **Logs** | Excelente | Bom | Excelente | Manual |
| **Metrics** | Completo | Completo | Completo | Manual |
| **CLI** | Sim | Sim | Excelente | Docker |
| **API** | REST+GraphQL | REST | REST | Nao |
### Extras
| Feature | Supabase | Neon | Railway | Local |
|---------|----------|------|---------|-------|
| **Auth** | Sim | Nao | Nao | Nao |
| **Storage** | Sim | Nao | Add-on | Nao |
| **Edge Functions** | Sim | Nao | Nao | Nao |
| **Branching** | Nao | Sim | Via projetos | Facil |
| **Real-time** | Sim | Nao | Nao | Nao |
---
## Custo Total Estimado
Para um RAG app tipico com:
- 1000 documentos (~2MB)
- 100 users/dia
- 1000 queries/dia
### Ano 1 (MVP)
| Provider | Free Tier | Paid | Total |
|----------|-----------|------|-------|
| Supabase | $0 | - | $0 |
| Neon | $0 | - | $0 |
| Railway | $0* | - | $0 |
| Local | $0 | - | $0 |
*Railway $5/mes pode nao ser suficiente para 24/7
### Ano 2 (Crescimento)
Assumindo 10k docs, 1k users/dia:
| Provider | Tier | Custo/mes | Total/ano |
|----------|------|-----------|-----------|
| Supabase | Pro | $25 | $300 |
| Neon | Pro | $19 | $228 |
| Railway | Hobby | $10* | $120 |
| Local | - | $0** | $0 |
*Pode precisar upgrade para Pro ($20/mes)
**Custo de hardware nao incluido
---
## Performance Comparison
Baseado em testes de latencia (ms):
| Operacao | Supabase | Neon | Railway | Local |
|----------|----------|------|---------|-------|
| **Simple SELECT** | 20-50ms | 15-40ms | 25-60ms | <5ms |
| **Vector Search** | 50-150ms | 40-120ms | 60-180ms | 10-50ms |
| **Bulk Insert** | 200-500ms | 150-400ms | 250-600ms | 50-200ms |
| **Connection** | 100-300ms | 50-150ms | 150-400ms | <10ms |
**Nota**: Latencias variam por regiao e carga.
---
## Migração Entre Provedores
### Backup
Todos suportam pg_dump:
```bash
# De qualquer provider
pg_dump "postgresql://..." > backup.sql
# Para qualquer provider
psql "postgresql://..." < backup.sql
```
### Zero Downtime Migration
1. Configure novo provider
2. Replique dados (pg_dump/restore)
3. Pause writes no antigo
4. Sincronize delta
5. Aponte app para novo
6. Valide
7. Remova antigo
---
## Recomendacao por Perfil
### Iniciante em RAG
**Escolha**: Supabase ou Local Docker
- Supabase: Se quer facilidade
- Docker: Se quer entender tudo
### Desenvolvedor Experiente
**Escolha**: Neon (dev) + Supabase (prod)
- Neon: 10GB para testes
- Supabase: Producao confiavel
### Startup/SaaS
**Escolha**: Supabase Pro ou Railway Pro
- Supabase: Se foca em features
- Railway: Se quer CI/CD integrado
### Enterprise
**Escolha**: Supabase Team ou RDS
- SLA, compliance, suporte
---
## Checklist de Escolha
Use este checklist:
- [ ] Quanto storage preciso? (500MB / 10GB / >10GB)
- [ ] Preciso de uptime 24/7?
- [ ] Orçamento mensal? ($0 / $25 / $100+)
- [ ] Preciso de auth/storage integrados?
- [ ] Importancia do dashboard?
- [ ] Preciso de branching?
- [ ] CI/CD integrado necessario?
- [ ] Latencia critica? (<50ms)
---
## Links Úteis
### Supabase
- Docs: https://supabase.com/docs
- Pricing: https://supabase.com/pricing
- Setup: [SUPABASE_SETUP.md](SUPABASE_SETUP.md)
### Neon
- Docs: https://neon.tech/docs
- Pricing: https://neon.tech/pricing
- Setup: [NEON_SETUP.md](NEON_SETUP.md)
### Railway
- Docs: https://docs.railway.app
- Pricing: https://railway.app/pricing
- Setup: [RAILWAY_SETUP.md](RAILWAY_SETUP.md)
---
## Conclusao
**Para a maioria dos casos, recomendamos**:
1. **Desenvolvimento**: Neon (free tier generoso)
2. **Producao MVP**: Supabase Free
3. **Producao Scale**: Supabase Pro
4. **Full-Stack Deploy**: Railway
**Nao ha escolha errada** - todos sao excelentes! Escolha baseado em suas necessidades especificas.
---
**Proximos passos**:
- [Voltar ao README](../README.md)
- Escolher provider e seguir guia de setup
- Testar o RAG Template!