Campo Raw_email post armazena imagens como strings Base64

Olá,

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. :slight_smile:

1 curtida

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.

:thinking:

5 curtidas

Obrigado pela resposta detalhada :slight_smile:

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.