El campo post de Raw_email almacena imágenes como cadenas Base64

Hola,

Dado que estoy pensando en cambiar mi CDN (Stackpath) y sé que Discourse establece dinámicamente las URL de la CDN en los enlaces, de todos modos busqué la cadena “stackpath” en las publicaciones de mi foro para ver cuántas ocurrencias habría.

Devolvió entre 300 y 400 publicaciones.

Descargué los datos y me sorprendió que ¡es un archivo de casi 100 MB!

Aparentemente, es porque las imágenes en las publicaciones enviadas por correo electrónico parecen estar presentes como cadenas base64 en el campo raw_email.

Así que… como lo veo, realmente no parece ser un problema, pero me gustaría tener algunas aclaraciones al respecto.

¿Por qué se almacenan las imágenes de esta manera en el campo raw_email? ¿No hay una mejor manera de hacerlo?

¿Puede afectar el rendimiento de alguna manera? ¿Qué pasa con los foros donde mucha gente responde por correo electrónico y con imágenes involucradas? ¿Podríamos considerar que ocupa demasiado espacio para poca información?

Cualquier explicación o información adicional al respecto es bienvenida. :slight_smile:

1 me gusta

Esto va a sonar un poco reduccionista, pero así es como se envían las imágenes por correo electrónico. Y como estamos almacenando el raw_email… eso es lo que almacenamos.

Piénsalo como una bandeja de entrada de 100 MB. Lo cual es una gota en el océano para la mayoría de los sitios.

Puedes encontrar el tamaño de almacenamiento con:

select sum(pg_column_size(raw_email)) / 1048576 as raw_email_MB from posts;

En ese caso, ya no almacenaríamos el raw_email… Supongo que se podría argumentar a favor de eliminar el contenido base64 grande de los raw_email de cierta antigüedad…

Es poco probable; estará en el disco pero no debería ser referenciado a menos que lo mires.

:thinking:

5 Me gusta

Gracias por la detallada respuesta :slight_smile:

1 me gusta

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