es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando Django/Postgres para almacenar datos binarios de manera eficiente en memoria.

Tengo un proyecto de Django y dentro de este proyecto, tengo un modelo de base de datos con un campo de tipo models.BinaryField (max_length=50000000, default=b’0′)

Problema

Cuando el servidor es solicitado para buscar datos binarios, aunque nunca hay más de 1-2 solicitudes simultáneas, estoy llegando a los límites de RAM de mi servidor utilizando io.BytesIO, junto con stream.seek({index}) y stream.close() (Aquí estoy usando el término stream de manera laxa para referirme simplemente a buscar y cerrar un flujo de bytes).

Pregunta

¿Es posible que necesite implementar de manera diferente la forma en que almaceno estos datos binarios?

Soluciones que he intentado que no funcionaron

¿Sería computacionalmente más eficiente para la RAM del servidor dividirlo en trozos de tamaños más pequeños? Cuando intenté esto, descubrí que dividir el archivo en trozos más pequeños y relacionarlos con una relación de muchos a uno era extremadamente pesado en cuanto a la sobrecarga en la base de datos.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    ¿Sería más eficiente usar un tipo de campo diferente? He intentado usar models.FileField y models.ImageField, pero ambos tienen el mismo problema que models.BinaryField cuando se trata de uso de la memoria RAM. Es posible que necesite implementar una manera diferente de almacenar esta información binaria. Podría intentar utilizar un tipo de campo diferente, como models.FileField o models.ImageField, pero podrían tener el mismo problema que models.BinaryField cuando se trata del uso de la memoria RAM. También podría intentar dividir los datos en fragmentos más pequeños y relacionarlos con una relación muchos a uno, pero esto podría tener un costo computacional en la base de datos.

Comments are closed.