gpt4 book ai didi

size - 为什么我的 CouchDB 数据库增长如此之快?

转载 作者:行者123 更新时间:2023-12-03 15:02:43 26 4
gpt4 key购买 nike

我想知道为什么我的 CouchDB 数据库增长得很快,所以我写了一点 test script .此脚本将 CouchDB 文档的属性更改 1200 次,并在每次更改后获取数据库的大小。执行这 1200 个写入步骤后,数据库正在执行 compaction step并再次测量数据库大小。最后,脚本根据修订号绘制数据库大小。基准测试运行两次:

  • 第一次使用文档修订的默认数量 (=1000) ( _revs_limit )。
  • 第二次将文档修订数设置为 1。

  • 第一次运行产生以下图

    first run

    第二次运行产生这个图

    second run

    对我来说,这是一个非常出乎意料的行为。在第一次运行时,我预计会出现线性增长,因为每次更改都会产生新的修订版本。当达到 1000 个修订版本时,大小值应该保持不变,因为旧的修订版本被丢弃。压实后,尺寸应显着下降。

    在第二次运行中,第一个修订应该导致一定的数据库大小,然后在以下写入步骤中保持该大小,因为每个新修订都会导致删除前一个修订。

    我可以理解管理更改是否需要一点开销,但这种增长行为对我来说似乎很奇怪。任何人都可以解释这种现象或纠正我导致错误期望的假设吗?

    最佳答案

    首先,CouchDB 甚至为已删除的修订版保存了一些信息(只是 ID 和修订版标识符),因为它需要这些信息用于复制目的。

    其次,由于数据保存在磁盘上的方式(参见 WikiPedia),一次插入一个文档并不是最理想的,这可以解释第一个图中的超线性增长。

    关于size - 为什么我的 CouchDB 数据库增长如此之快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921151/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com