我正在使用CouchDB 1.6.1。在Futon中,在Overview Configuration下,附件部分有一个字段:compression_level 8。 这看起来像zlib对我的影响,另见http://docs.couchdb.org/en/latest/config/misc.html#attachments
在couchdb部分下,有字段:file_compression snappy
据我所知,附件是用zlib压缩的,而实际文件是用snappy压缩的?
如果是这样,有没有办法在CouchDB中使用snappy进行附件压缩?
答案 0 :(得分:3)
没错:附件只支持gzip压缩,而docs和其他数据库元信息默认使用snappy(自1.3版本起)。附件不支持snappy的原因非常简单 - snappy不是标准content encoding algorithm并且没有浏览器支持它,而gzip几乎每个HTTP客户端都广泛支持。
因此,如果CouchDB使用snappy压缩存储附件,则必须对其进行解码并使用gzip进行编码,以便以保持广泛兼容性的方式发送回客户端。而这种解码编码操作非常昂贵。所有其他选项导致与HTTP客户端不兼容或再次导致操作开销。对于gzip编码,CouchDB只是发送附件,因为它们存储在数据库文件中,而不对其内容进行任何额外操作。