DEV Community

IamThiago-IT
IamThiago-IT

Posted on

MySQL, PostgreSQL e SQLite: quando usar cada um (sem dogma)

Toda vez que alguém começa um projeto, surge a pergunta clássica: qual banco de dados usar?
MySQL, PostgreSQL e SQLite aparecem o tempo todo — e, apesar de todos serem relacionais, eles não resolvem os mesmos problemas da mesma forma.

MySQL: o arroz com feijão da web

O MySQL é, provavelmente, o banco mais popular do mundo web. Ele está em praticamente todo lugar: hospedagens baratas, projetos legados, tutoriais, CMSs e sistemas que precisam “simplesmente funcionar”.

Pontos fortes:

  • Fácil de configurar e manter
  • Ótimo desempenho para leitura
  • Comunidade gigantesca
  • Funciona muito bem com aplicações web tradicionais

Limitações:

  • Menos rigor em alguns aspectos do padrão SQL
  • Recursos avançados existem, mas não são o foco
  • Pode virar um gargalo em cenários mais complexos de concorrência

👉 Uso típico: sistemas CRUD, e-commerce simples, APIs REST tradicionais, projetos que precisam de estabilidade sem muita complexidade.


PostgreSQL: o canivete suíço dos bancos relacionais

O PostgreSQL é aquele banco que não tenta ser o mais simples — ele tenta ser o mais correto, poderoso e extensível. É comum ouvir que ele “faz tudo”, e isso não é exagero.

Pontos fortes:

  • Extremamente fiel ao padrão SQL
  • Suporte nativo a JSON, arrays, enums, CTEs, window functions
  • Excelente controle de concorrência
  • Ideal para sistemas complexos e escaláveis

Limitações:

  • Curva de aprendizado maior
  • Pode ser “overkill” para projetos pequenos
  • Configuração exige mais atenção em produção

👉 Uso típico: sistemas financeiros, plataformas SaaS, aplicações com regras de negócio complexas, analytics, sistemas que precisam crescer sem dor.


SQLite: o banco que mora no arquivo

SQLite não é um “banco de servidor”. Ele é literalmente um arquivo. E isso não é um defeito — é o grande diferencial.

Pontos fortes:

  • Zero configuração
  • Extremamente leve
  • Ideal para aplicações locais
  • Muito confiável para leitura

Limitações:

  • Concorrência limitada para escrita
  • Não escala bem para múltiplos usuários simultâneos
  • Não é pensado para grandes volumes em produção web

👉 Uso típico: apps mobile, desktop, testes, protótipos, ferramentas CLI, projetos offline-first.


Qual escolher?

A resposta honesta é: depende do problema, não da moda.

  • Projeto simples, web tradicional? → MySQL
  • Sistema sério, complexo, com chance de escalar? → PostgreSQL
  • App local, mobile ou protótipo rápido? → SQLite

Escolher banco não é sobre “qual é melhor”, é sobre qual te dá menos dor de cabeça daqui a 6 meses.

No fim das contas, um bom sistema nasce mais das decisões corretas do que da tecnologia “mais poderosa”.

Top comments (0)