Como estou pensando em mudar meu CDN (Stackpath) e sei que o Discourse define dinamicamente os URLs do CDN em links, fiz uma busca pela string “stackpath” nas postagens do meu fórum para ver quantas ocorrências haveria.
Retornou entre 300 e 400 postagens.
Baixei os dados e fiquei surpreso que é um arquivo de quase 100 MB!
Aparentemente, é porque imagens em postagens enviadas por e-mail parecem estar presentes como strings base64 no campo raw_email.
Então… Como vejo, não parece ser um problema realmente, mas gostaria de alguns esclarecimentos sobre isso.
Por que as imagens são armazenadas dessa forma no campo raw_email? Não há uma maneira melhor de fazer isso?
Isso pode impactar o desempenho de alguma forma? E quanto a fóruns onde muitas pessoas respondem por e-mail e com imagens envolvidas? Poderíamos considerar que ocupa muito espaço para pouca informação?
Qualquer explicação ou informação adicional sobre isso é bem-vinda.
Isso vai parecer um pouco redutor, mas é assim que as imagens são enviadas por e-mail. E como estamos armazenando o raw_email… é isso que armazenamos.
Pense nisso como uma Caixa de Entrada de 100 MB. O que é uma gota no oceano para a maioria dos sites.
Você pode encontrar o tamanho do armazenamento com:
select sum(pg_column_size(raw_email)) / 1048576 as raw_email_MB from posts;
Nesse caso, não armazenaríamos mais o raw_email… Suponho que haja um argumento para remover o conteúdo base64 grande de raw_emails com uma certa idade…
É improvável; ficará no disco, mas não deve ser referenciado, a menos que você o examine.