[Gov.Doc] Impactos da migração de armazenamento do documento para o Storage
O Problema
O sistema Gov.Doc atualmente, armazena o conteúdo de seus documentos dentro do Banco de Dados, e isso faz com que, quando um documento possui um corpo muito extenso (Figura 1).
Figura 1: Quantidade de Documentos com seus respectivos tamanhos no Banco de Dados
Isso ocasiona a demora da busca de documentos dentro do sistema, em muitos casos, acaba gerando um erro 504 - timeout em páginas que dependem dessa busca. Isso foi visto pelo time, como um fator de risco dentro do sistema, e que, deve ser corrigido o mais breve possível.
Solução proposta
- Alteração do armazenamento para o Storage
Visto que, a necessidade seria enviar o corpo do documento para outra forma de armazenamento que não seja o Banco de Dados, onde atualmente, está sendo salvo em formato HTML, e para tal, é sugerido utilizar o Storage da SETIC como alternativa e boa prática, pois com isso, não só o problema de lentidão do carregamento dos documentos seria sanado, como evitaria um futuro aumento desnecessário de dados dentro do Banco de Dados, comprometendo a manutenção e performance do mesmo, com isso, melhorando também a performance e estrutura do projeto.
Idealização da Solução
A solução do problema foi idealizada da seguinte forma:
- Alterar Estruturação de serviços no Gov.Doc (8 pontos)
- Aplicar integração do Gov.Doc com o Storage da SETIC (5 pontos)
- Desenvolver Serviço para tratar corpo do documento antes do envio (5 pontos)
- Criar Funcionalidade de envio do corpo do documento para o Storage (3 pontos)
- Criar Funcionalidade de captura do corpo do documento do Storage (3 pontos)
- Criar/Modificar Testes de integração e unitários (3 pontos)
Resultados Esperados
Após a aplicação da solução proposta, é esperado uma melhora considerável no tempo e na performance da busca de documentos dentro do sistema.
Glossário
timeout - Quando uma requisição ou carregamento de uma página web demora muito, acaba ocorrendo esse erro.
erro 504 - É um erro que indica que o servidor, não conseguiu responder em tempo.
Storage - Serviço da SETIC para armazenamento de dados.
Referências
[1] DEVELOPER MOZILLA. 504 Gateway Timeout. 2021. Disponível em: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Status/504. Acesso em: 26 abr. 2021.
Envolvidos
- Alan da Silva Souza
- Gabriel Santi Binda
- João Vitor Paulino Nobre
- Raissa de Sousa Stolduski
- Taillon Miguel Gonçalves