Começar
Aparência

Vale na hora e fica lembrada neste navegador.

Decisões

ORG-0014 — Persistência

Contexto

Produtos diferentes guardam dados de jeitos diferentes: um banco relacional, documentos, filas, arquivos, cache. Impor um banco padrão força o produto; não decidir nada deixa cada stack sem backup testado, com testes contra simulacros e com várias aplicações mudando o mesmo schema.

Decisão

  1. Não há banco padrão. A stack escolhe os armazenamentos na Fase 1, pelos critérios: há ferramenta de backup e restauração testável localmente; há imagem oficial com tag completa; sobe em container nos testes e se zera rápido; o formato dos dados evolui de forma versionada; a plataforma sabe observar e guardar.
  2. A evolução do formato dos dados é versionada no repositório (migrations ou equivalente).
  3. Cada armazenamento tem um dono do schema; as demais aplicações não o alteram.
  4. No desenvolvimento e nos testes, o armazenamento é o real, descartável, em container. Nada de banco em memória que finge ser outro.
  5. A escolha fica numa ADR da stack (a ADR-0002 pré-escrita).

Alternativas consideradas

AlternativaPor que não
Um banco padrão para toda stackPor que não: força produtos que não são relacionais
Banco em memória nos testesPor que não: prova outro banco, não o de produção

Consequências

  • Toda escolha nova de armazenamento traz junto o backup (ORG-0022) e o ambiente do E2E (ORG-0016).
  • Os testes de integração precisam de Docker.

Mais

O detalhe está na documentação da arquitetura.