ADR-0012: Usar PostgreSQL para o serviço de pedidos
Status: Status
Data: 12 de março de 2027
Responsáveis pela decisão: Líder da equipe de plataforma, líder da equipe de pedidos, engenheiro de segurança
Contexto
O serviço de pedidos armazena 20 milhões de linhas e precisa de transações entre tabelas. O armazenamento atual não tem suporte a transações e a equipe não tem experiência em operá-lo.
O que mais importa
Consistência dos dados
Experiência da equipe
Custo de operação
Capacidade de escalar 5x em dois anos
Opções consideradas
1. PostgreSQL gerenciado. Transações fortes, a equipe conhece, custo maior.
2. Um banco de documentos. Rápido de começar, joins e transações mais fracos.
3. Manter o armazenamento atual. Sem migração, mas o problema continua.
Decisão
Vamos usar PostgreSQL gerenciado para o serviço de pedidos.
Por quê
Atende à necessidade de consistência, a equipe consegue dar suporte e o custo é aceitável dentro do orçamento da plataforma.
Consequências
Bom: código mais simples e pedidos mais seguros. Ruim: três meses de migração e um custo anual de hospedagem. Precisamos planejar a migração dos dados e um rollback.
Quando revisar
Se o volume passar de 100 milhões de linhas ou se o custo de hospedagem dobrar.
Relacionados
Substitui o ADR-0004. Relacionado: ADR-0009.