Não há um preço diretamente comparável entre cinco bancos que cobram coisas diferentes (computação, plano fixo ou linhas): com uma carga média, o Cloudflare D1 sai a $17,25 por mês, o Neon a $18,28, o Turso a $24,92 e o Supabase a $25, mas os limites de cada um mudam a decisão.
1. Os planos de entrada de cinco bancos de dados#
Os bancos de dados gerenciados mais comentados de 2026 não cobram pela mesma coisa: o Neon por computação e armazenamento, o Supabase por plano, o PlanetScale por tamanho de cluster, e o Turso e o Cloudflare D1 por linhas lidas e gravadas. A tabela reúne o plano gratuito, a entrada paga e o modelo de cobrança de cada um, segundo a página oficial lida em 17 de outubro de 2026.
| Provedor | Motor | Plano gratuito | Entrada paga | Como cobra |
|---|---|---|---|---|
| Neon | PostgreSQL | Sim, permanente: 100 CU-h e 1 GB por projeto | Sem taxa fixa: $0,106 por CU-hora (Launch) | Por uso: computação por hora e $0,35 por GB-mês |
| Supabase | PostgreSQL | Sim: 500 MB e pausa após 1 semana | A partir de $25 por mês (Pro) | Plano mais computação, disco e saída de dados |
| PlanetScale | PostgreSQL e Vitess (compatível com MySQL) | Não | A partir de $5 por mês (Postgres de um nó, PS-5) | Por tamanho de cluster |
| Turso | Compatível com SQLite | Sim: 5 GB e 500 milhões de leituras | $4,99 por mês (Developer) | Plano mais linhas lidas e gravadas e armazenamento |
| Cloudflare D1 | SQLite | Sim, com limites diários: 5 milhões de leituras e 100.000 gravações | Mínimo de $5 por mês (Workers Paid) | Linhas lidas e gravadas mais armazenamento |
O PlanetScale não oferece mais um plano gratuito: a documentação indica que todos os bancos exigem uma assinatura paga, com o Postgres de um nó a partir de $5 por mês. Todos os valores estão em dólares e excluem impostos.
Para se aprofundarPreços do Supabase em 2026: planos Free e Pro e quanto custa de verdade
Documentação: Neon: preços ↗ · Supabase: preços e planos ↗ · PlanetScale: preços ↗ · PlanetScale: planos ↗ · Turso: preços ↗
2. Restauração, branches e limites#
Além do preço, a restauração a um ponto no tempo e a quantidade de branches ou bancos fazem diferença no trabalho diário. A tabela resume o que cada provedor publica.
| Provedor | Restauração a um ponto no tempo | Branches ou bancos de dados |
|---|---|---|
| Neon | 6 horas (Free), até 7 dias (Launch), até 30 dias (Scale) | 10 branches por projeto (Free e Launch), 25 (Scale); extra a $1,50 por branch-mês |
| Supabase | Backups diários de 7 dias no Pro; recuperação a um ponto no tempo como complemento de $100 por mês | 2 projetos ativos no Free |
| Turso | De 1 dia (Free) a 90 dias (Pro) | 100 bancos no Free; ilimitados nos planos pagos |
| Cloudflare D1 | Time Travel: 7 dias (Free) e 30 dias (Paid) | Os bancos seguem os limites do Workers |
Documentação: Cloudflare: preços do D1 ↗ · Cloudflare: Time Travel do D1 ↗
3. Três cargas calculadas#
Para comparar modelos de cobrança diferentes, o código calcula o custo mensal de três cargas em quatro dos cinco bancos. O PlanetScale fica de fora porque cobra por tamanho de cluster e o preço depende de uma configuração que não se reduz a linhas. No Neon supõe-se um uso médio de computação (0,2 CU nas duas primeiras cargas e 0,4 CU na terceira, 730 horas por mês); a escala a zero o reduziria.
TURSO = { # plano: (base, GB incl., leituras incl. (M), gravações incl. (M), USD/GB, USD por 1.000 M de leituras, USD por M de gravações)
"Free": (0.00, 5, 500, 10, None, None, None),
"Developer": (4.99, 9, 2_500, 25, 0.75, 1.00, 1.00),
"Scaler": (24.92, 24, 100_000, 100, 0.50, 0.80, 0.80),
"Pro": (416.58, 50, 250_000, 250, 0.45, 0.75, 0.75),
}
def turso(gb, leituras, gravacoes):
melhor = None
for plan, (base, gb_inc, lec_inc, esc_inc, r_gb, r_lec, r_esc) in TURSO.items():
if r_gb is None:
if gb > gb_inc or leituras > lec_inc or gravacoes > esc_inc:
continue
total = base
else:
total = base + max(0, gb - gb_inc) * r_gb + max(0, leituras - lec_inc) / 1_000 * r_lec + max(0, gravacoes - esc_inc) * r_esc
if melhor is None or total < melhor[1]:
melhor = (plan, total)
return melhor[1]
def d1(gb, leituras, gravacoes): # Workers Paid: mínimo de $5; 25.000 M de leituras e 50 M de gravações incluídas
return 5 + max(0, gb - 5) * 0.75 + max(0, leituras - 25_000) * 0.001 + max(0, gravacoes - 50) * 1.00
def supabase(gb): # Pro: $25, 8 GB incluídos, computação Micro coberta pelo crédito
return 25 + max(0, gb - 8) * 0.125
def neon(gb, cu_promedio): # Launch: $0,106 por CU-hora (730 h por mês) e $0,35 por GB-mês
return 0.106 * cu_promedio * 730 + 0.35 * gb
cargas = [("Pequena", 2, 200, 5, 0.2), ("Média", 8, 4_000, 60, 0.2), ("Leitura intensiva", 10, 20_000, 20, 0.4)]
for nome, gb, leituras, gravacoes, cu in cargas:
print(f"{nome}: D1 {d1(gb, leituras, gravacoes):.2f} | Turso {turso(gb, leituras, gravacoes):.2f} | Supabase {supabase(gb):.2f} | Neon {neon(gb, cu):.2f}")| Carga | Cloudflare D1 | Turso (melhor plano) | Supabase Pro | Neon Launch |
|---|---|---|---|---|
| Pequena (2 GB · 200 M leituras · 5 M gravações) | $5 | $0 | $25 | $16,18 |
| Média (8 GB · 4.000 M leituras · 60 M gravações) | $17,25 | $24,92 | $25 | $18,28 |
| Leitura intensiva (10 GB · 20.000 M leituras · 20 M gravações) | $8,75 | $23,24 | $25,25 | $34,45 |
O padrão é claro. Com cargas pequenas, o Turso Free não custa nada e o Cloudflare D1 começa em $5. Na carga média, o D1 ($17,25) e o Neon ($18,28) ficam abaixo dos $25 do Supabase, com o Turso em $24,92. Na de leitura intensiva, o D1 ($8,75) e o Turso ($23,24) continuam abaixo, enquanto o Neon sobe para $34,45 porque a computação pesa mais que as linhas; o D1 domina quando as leituras são muitas porque cobra $0,001 por milhão de linhas lidas. Mas D1 e Turso são SQLite e exigem um modelo de dados diferente do PostgreSQL; confira também os limites por banco do D1 na página.
Para se aprofundarTurso vs Supabase: preços, modelo de cobrança e qual escolher
Documentação: Cloudflare: preços do Workers ↗
4. Qual escolher conforme a sua necessidade#
Não há um vencedor geral; a tabela transforma cada necessidade em um critério e um candidato.
| Se você precisa de… | Olhe primeiro | Costuma servir |
|---|---|---|
| PostgreSQL com extensões, autenticação e funções incluídas | O motor e o que vem incluído | Supabase ou Neon |
| Pagar só pelo que usa, com escala a zero | A computação por hora e o tempo ocioso | Neon |
| Muitos bancos pequenos ou leituras muito altas por linha | O preço por milhão de linhas | Turso ou Cloudflare D1 |
| Executar o banco junto do código no Cloudflare Workers | A integração com o Workers | Cloudflare D1 |
| MySQL (Vitess) ou PostgreSQL em um cluster de alta disponibilidade | O tamanho do cluster e a alta disponibilidade | PlanetScale |
Antes de decidir, estime suas linhas lidas e gravadas por mês, o tamanho dos seus dados e se a sua aplicação precisa de extensões do PostgreSQL. Esses três dados eliminam metade das opções.
Para se aprofundarPostgreSQL: encontre o índice certo com EXPLAIN
5. O que estes preços não incluem#
Os valores deste guia são os do plano base de cada provedor. Vários itens são cobrados à parte e podem mexer na fatura.
- Saída de dados (egress): o Neon inclui 500 GB por projeto no Launch e depois cobra $0,10 por GB; o Supabase inclui 250 GB no Pro.
- Branches adicionais: o Neon cobra $1,50 por branch-mês acima dos incluídos.
- Backups e recuperação: no Supabase, a recuperação a um ponto no tempo é um complemento de $100 por mês para cada 7 dias de retenção.
- Suporte e segurança: SSO, suporte prioritário e conformidade costumam custar mais nos planos superiores.
6. Mantenha seus números em dia#
Os planos de bancos gerenciados mudam com frequência: o PlanetScale retirou o plano gratuito e Supabase, Neon e Turso ajustam cotas. Os números são os das páginas oficiais em 17 de outubro de 2026.
- Anote a data de leitura de cada tarifa.
- Meça suas linhas lidas e gravadas reais e o tamanho dos seus dados durante um mês.
- Compare mais opções no comparador de bancos de dados da Codifly.
Fontes e escopo
Documentação consultada em 17 de outubro de 2026. Os exemplos e critérios de decisão são propostas editoriais; adapte-os ao contrato da sua aplicação e valide-os no seu ambiente de testes autorizado.