【问题标题】:Is 20 MB Document size limit in couchdb inclusive of attachment size?couchdb 中的 20 MB 文档大小限制是否包括附件大小?
【发布时间】:2017-12-07 10:20:51
【问题描述】:

我在沙发上阅读了大约 20MB 的文档大小限制和附件大小的 20MB 限制。我想知道添加到文档中的附件是否等于该文档的总大小。我认为它不具有包容性,但找不到任何参考。

【问题讨论】:

  • 出于好奇,在什么情况下文档甚至接近那个大小才有意义?
  • 图片等附件很容易达到 5 MB 左右。因此,如果我的文档中有 5 张图片作为附件,并且附件加起来等于文档的总大小,那么文档的大小将超过 20MB。
  • 我认为我的用例在这里有点模糊。我将图像直接作为属性存储在文档中。我将它保存为附件(couchbase 推荐的方式)。我的问题是与文档相关的所有附件是否加起来等于文档的大小。所有这一切都始于我在工作场所就相同问题进行的一次小型讨论。有些人认为,由于每个文档的大小限制为 20MB,我们不能添加超过 5 个图像。我们相信永远不会是这样。我在网上寻找澄清,但没有找到任何东西。 @Flimzy 在下面给出了一个很好的答案。
  • 我在下面看到他的回答,但它适用于不同的产品(我并不是说这是错误的,但你应该知道 Couchdb 不是 Couchbase,尽管有这个绰号)。

标签: couchdb


【解决方案1】:

实际上,您的问题的答案最近发生了变化。从CouchDB 2.1.0 release notes可以看到:

添加了新的httpd/max_http_request_size 配置参数。这与旧的 couchdb/max_document_size 配置参数具有相同的行为,不幸的是,该配置参数被错误命名,现在已更新为按照名称所暗示的方式运行。两者都记录在随附的 default.ini 文件中。

因此,您的问题的答案取决于您使用的 CouchDB 版本。对于 CouchDB 2.0.x 及更早版本,该限制实际上与 HTTP 请求大小有关,这意味着有效的文档大小限制可能会稍微低一些,具体取决于文档的传输方式。

不过,从 2.1.0 开始,new description 适用:

限制最大文档正文大小。大小是根据 JSON 文档正文的序列化 Erlang 表示来计算的,因为这更准确地反映了磁盘上消耗的存储量。

由于 JSON 文档的序列化 Erlang 表示不包含附件,因此可以安全地假设此限制不包含附件。

我也只有updated the CouchDB documentation 来明确解释这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-06
    • 2018-03-26
    • 2021-05-14
    • 2018-09-15
    相关资源
    最近更新 更多