Startups perdem semanas discutindo Postgres contra MongoDB. O formato do seu dado e a pergunta que você vai fazer a ele decidem a escolha, e a decisão fica cara quando chega depois do produto no ar.
Quando o Postgres vence
Dados com relação: pedido, item, pagamento e nota fiscal pedem chave estrangeira e transação. Relatório: você escreve SQL de receita por mês sem camada de consulta extra. Restrição no banco: o manual do PostgreSQL (PostgreSQL Global Development Group, 2025) valida dado na entrada e recusa o que viola regra. Martin Kleppmann explica em Designing Data-Intensive Applications (O'Reilly, 2017) que integridade relacional sustenta sistemas de lançamento.
Quando o MongoDB vence
Documento variável: cada registro tem campos próprios e o esquema muda todo mês, então a tabela relacional trava o time com migração. Leitura de tela pronta: você lê o documento como a interface mostra, sem junção. O manual do MongoDB (MongoDB, Inc., 2025) pede referência entre coleções quando a consulta cruza dados com frequência.
A saída que adia a decisão
Você começa com Postgres e guarda o dado que muda toda semana em uma coluna JSONB. Assim mantém transação, relatório e restrição em um único motor. Trocar de banco no meio do produto custa reescrita de consulta, migração de dado e refazer da suíte de teste.