Salvar XML no banco de dados ou no storage
Estou desenvolvendo uma api para emissão de notas fiscais do meu sistema, nisto são gerados arquivos XML dos quais eu tenho de armazenar por um determinado período (até 5 anos) e retornar para o meu cliente também (tanto na requisição de emissão, quanto em outras requições especificas para retornar este arquivo).
Estou na dúvida:
- Salvar no banco de dados postgre onde eu armazeno os dados da aplicação, mas isto deixaria o banco de dados maior já que tem arquivos XML que podem variar de 1KB até centenas de KB, mas ficaria mais rápido para retornar os dados já que estão todos disponiveis no mesmo banco/tabela;
- Salvar no banco de dados mongodb (nosql) onde só teria arquivos XML. Nisto não aumentaria muito o banco de dados da aplicação, não atrapalharia o desempenho, eu poderia deixar o banco de dados mongodb em outra hospedagem;
- Salvar no storage, no caso salvar no AWS S3. Nisto não gastaria espaço da VPS, ou banco de dados, mas com o tempo ficaria mais caro, mesmo utilizando alguns recursos inteligentes da AWS para diminuir os custos;
Durante o processo de emissão de notas eu preciso gerar um arquivo XML assinado e salvar ele antes de enviar para a receita federal, no retorno eu recebo um XML que este sim devo salvar e o anterior posso excluir.
Tenho empresas que emitem 1 nota por mês, assim como tenho outras que emitem 30 mil notas no mês.
Tenho de pensar tanto no desempenho, quanto no custo.
O que me recomendam?