我正在使用Zodb作为典型字典格式(键,值)形式的大型数据存储。 但是,尽管ZODB存储我得到以下警告消息:ZODB或其他数据库在python中的大型数据存储
C:\中的python-3.5.2.amd64 \ LIB \站点包\ ZODB \连接。 py:550: UserWarning:您保存的对象 很大。 (510241658字节)。
也许你正在存储应该存储在blob中的媒体。
也许您正在使用不可扩展的数据结构,如 PersistentMapping或PersistentList。
也许你正在将数据存储在根本不持久的对象中。 在这种情况下,数据存储在包含持久对象的记录中。
无论如何,存储这个大记录可能是一个坏主意。
如果你坚持,并希望摆脱这种警告,使用ZODB.DB构造函数(或在配置文件中的 大记录大小选项)的 large_record_size选项来指定一个更大的 大小。
warnings.warn(large_object_message%(OBJ。类,LEN(P)))
请建议我如何能庞大的数据存储在ZODB或建议任何其他库用于这一目的
@WAS我应该提到,你现在在做的是存储真正的大酱菜,它们必须一次加载并且不能流式传输。对于像HTTP范围请求(渐进式流式传输)这样的节目来说,在大型生产应用中使用ZODB的人们使用BLOB,然后通常将文件数据流传输到某个文件存储迭代器,该迭代器可与Web /网络应用程序一起工作。这对于Zope 2非常适用,但也有一些应用程序可能需要使用一些方法,例如直接从前端Web服务器使用X-Sendfile来绕过应用程序直接访问BLOB。 – sdupton