J'utilisais Zodb pour le stockage de données volumineuses sous la forme d'un format de dictionnaire typique (clé, valeur). Mais tout en stockant dans ZODB je suis arrivé message d'avertissement:ZODB ou autre base de données pour le stockage de données volumineuses en python
C: \ python-3.5.2.amd64 \ lib \ site-packages \ ZODB \ Connexion. py: 550: UserWarning: L'objet que vous enregistrez est volumineux. (510241658 octets.)
Peut-être que vous stockez des médias qui devraient être stockés dans des blobs. Peut-être que vous utilisez une structure de données non-scalable, telle que PersistentMapping ou PersistentList.
Peut-être que vous stockez des données dans des objets qui ne sont pas persistants du tout. Dans ce cas, les données sont stockées dans l'enregistrement de l'objet persistant contenant .
Dans tous les cas, stocker des enregistrements de cette taille est probablement une mauvaise idée.
Si vous insistez et que vous voulez vous débarrasser de cet avertissement, utilisez pour spécifier une taille plus l'option de large_record_size du constructeur ZODB.DB (ou l'option grand enregistrement de taille dans un fichier de configuration).
warnings.warn (large_object_message% (obj. classe, len (p)))
s'il vous plaît indiquer comment puis-je stocker des données volumineuses dans ZODB ou suggèrent toute autre bibliothèque à cet effet
@WAS Je devrais mentionner, ce que vous faites maintenant est de stocker de très gros pickles qui doivent être chargés en une fois et ne peuvent pas être diffusés. Pour des choses comme les requêtes de plage HTTP (streaming progressif), c'est un bouchon de spectacle; Les personnes qui utilisent ZODB dans les grandes applications de production utilisent des BLOB puis transfèrent généralement les données du fichier vers un itérateur de stockage de fichiers qui fonctionne avec votre application web/réseau. Cela fonctionne très bien pour Zope 2, mais il y a aussi des approches que les applications pourraient utiliser pour utiliser des choses comme X-Sendfile directement à partir du serveur web frontal sans passer par l'application pour aller directement au BLOB. – sdupton