Pular para o conteúdo
Backend

Supabase vs Firebase: Comparativo de Custos

Supabase vs Firebase: Comparativo de Custos: pontos práticos do artigo sem enrolação.

Por que isso importa

Supabase vs Firebase: Comparativo de Custos. Firebase pode custar 5-10x mais que Supabase em escala. Apps com 10k+ usuários ativos gastam R$ 500-5000/mês sem otimização. Escolher BaaS errado queima runway desnecessariamente. Comparativo de Preços por Tier Ambos têm free tier generoso,

Comparativo de Preços por Tier

Ambos têm free tier generoso, mas escala muda tudo:

Free Tier

Supabase: 500MB database, 1GB file storage, 2GB bandwidth, 50k monthly active users (MAU), unlimited API requests. Firebase: 1GB storage, 10GB bandwidth, 50k reads/day, 20k writes/day, 20k deletes/day. Winner: Supabase. Limits mais generosos, PostgreSQL full vs Firestore limitado.

Paid Tier Básico

Supabase Pro: US$ 25/mês. 8GB database, 100GB file storage, 250GB bandwidth, daily backups. Firebase Blaze: pay-as-you-go desde US$ 0. Reads US$ 0.06/100k, writes US$ 0.18/100k, storage US$ 0.18/GB.

Winner: Supabase até ~5k DAU. Firebase vira mais barato em alguns casos específicos (read-heavy, pouco storage).

Escala Média (10k+ MAU)

Supabase: US$ 25-100/mês dependendo de compute/storage add-ons. Previsível. Firebase: US$ 100-500/mês fácil. Reads/writes/storage somam rápido. Winner: Supabase. Mais previsível, menos surpresas.

Enterprise (100k+ MAU)

Supabase: Custom pricing, negocia. AWS RDS PostgreSQL self-hosted fica mais barato (US$ 200-800/mês). Firebase: US$ 1000-5000/mês comum. Otimizações complexas necessárias. Winner: Supabase ou self-hosted PostgreSQL.

Breakdown de Custos Reais

App de mensagens com 5k MAU, 100k messages/dia:

Supabase (US$ 25-50/mês)

Pro plan: US$ 25. Database 8GB base, suficiente. Bandwidth ~50GB: incluído. Storage ~10GB: incluído. Realtime subscriptions: incluídas (killer feature). Total: US$ 25/mês previsível.

Firebase (US$ 80-150/mês)

Firestore: 3M reads/dia × 30 = 90M reads/mês. US$ 54. Firestore: 100k writes/dia × 30 = 3M writes/mês. US$ 5.40. Storage (10GB): US$ 1.80. Bandwidth (50GB): US$ 12. Hosting: US$ 5. Functions (100k invocations): US$ 5. Total: ~US$ 83/mês.

Diferença: US$ 58/mês (R$ 290). Escala para R$ 500-1000/mês com crescimento. Supabase mantém US$ 25-75/mês.

Custos Ocultos e Surpresas

Firebase: Reads Matam Seu Budget

Cada documento lido cobra. Lista com 50 items = 50 reads (US$ 0.003). Parece nada, mas multiplica. App mal otimizado faz milhões de reads. US$ 300/mês só em reads é comum. Precisa cachear agressivamente.

Supabase: Compute Limits

Free tier tem pauses (inatividade por 7 dias). Pro tier: sem pauses mas compute limitado. Queries complexas ou alta concorrência precisam upgrade de compute (US$ 10-50/mês adicional por step).

Egress/Bandwidth

Ambos cobram por bandwidth. Firebase: US$ 0.12/GB. Supabase: incluído até limite (250GB no Pro), depois US$ 0.09/GB. Apps com muitas imagens/vídeos pagam caro. Considere CDN separado (Cloudflare R2 + CDN).

Realtime/Websockets

Supabase: incluído no Pro. Firebase: cobrado por conexão simultânea (US$ 0.06/concurrent connection). Chat app com 1000 users 60/mês. Supabase: US$ 0. Diferença absurda.

Quando Usar Cada Um

Use Firebase Se:

App mobile-first (SDKs nativos melhores). Precisa de Firebase Auth Google One-Tap (mais simples). Analytics e Crashlytics integrados são cruciais. Write-heavy, read-light (cada write custa 3x menos que reads). Já tem experiência Firebase, time treinado.

Use Supabase Se:

PostgreSQL e SQL são familiar (devs backend). Budget apertado e precisa previsibilidade. Realtime é crítico (chat, colaboração). Open source é importante (self-host opção). App web-first ou full-stack. Queries complexas, joins, funções SQL.

Considere Ambos Se:

Auth no Firebase (mais maduro), database no Supabase (mais barato). Storage em Cloudflare R2 (US$ 0.015/GB), autenticado por Firebase/Supabase. Mixing best of both é válido em escala.

Estratégias de Otimização

Firebase: Reduza Reads

Cache local agressivo (AsyncStorage, IndexedDB). Paginate tudo: limite a 20-50 items por query. Denormalize dados: duplica informações pra evitar múltiplos reads. Listeners ao invés de polling: onSnapshot cobra 1 read inicial, updates gratuitos.

Supabase: Otimize Queries

Use indexes corretamente: CREATE INDEX acelera queries 10-100x. RLS (Row Level Security) policies eficientes. Prefira PostgREST direto ao invés de múltiplas queries. Use Realtime selective: subscribe só aos dados necessários.

Universal

CDN pra assets (imagens, vídeos): tira carga do BaaS. Batch operations: agrupa writes ao invés de individual. Soft deletes: marca como deleted ao invés de deletar (economiza writes). Monitor costs semanalmente, não espera fatura mensal.

Checklist de Decisão

  • Estimar MAU e DAU esperado para 6-12 meses
  • Calcular ratio reads/writes do app (leitura-heavy vs escrita-heavy)
  • Avaliar necessidade de realtime (chat, collaboration)
  • Considerar experiência do time: SQL vs NoSQL
  • Verificar se precisa de self-hosting futuro (Supabase tem)
  • Estimar bandwidth de assets (imagens, arquivos)
  • Comparar custos projetados em ambas plataformas
  • Planejar strategy de cache e otimização

Casos Reais de Uso

Caso 1: App de Tarefas (20k users)

Firebase inicialmente: US$ 180/mês. Migrou pra Supabase: US$ 50/mês. Economia: US$ 130/mês (R$ 650). Motivo: read-heavy demais, Firebase sangrava grana. Migração levou 2 semanas. Payback imediato.

Caso 2: Chat Real-time (8k MAU)

Começou Supabase: US$ 25/mês. Tentou Firebase por 3 meses: US$ 300/mês (realtime connections). Voltou pra Supabase: US$ 35/mês com compute upgrade. Firebase não faz sentido pra realtime em escala.

Caso 3: E-commerce B2C

Firebase há 2 anos: US$ 400/mês (50k pedidos/mês). Otimizou: cacheou produtos, denormalizou user data, paginação. Reduziu pra US$ 150/mês. Considerou Supabase mas Firebase Auth + Analytics integrados valiam a pena. Nem sempre migrar é resposta.

Conclusão: Supabase ganha em custo e previsibilidade. Firebase ganha em ecossistema mobile e maturidade. Escolhe baseado no seu caso de uso, não em hype. Ambos são excelentes, contexto decide.