【问题标题】:Does WiredTiger of MongoDb has the performance issue of reallocation as MMAPv1MongoDb 的 WiredTiger 是否存在重新分配为 MMAPv1 的性能问题
【发布时间】:2016-07-24 17:38:27
【问题描述】:

正如MMAPv1 Document所说的

所有记录在磁盘上都是连续的,当一个文档变得比分配的记录大时,MongoDB 必须分配一条新记录。新的分配要求 MongoDB 移动一个文档并更新所有引用该文档的索引,这比就地更新需要更多的时间并导致存储碎片。 在 3.0.0 版中更改。
默认情况下,MongoDB 使用 2 大小分配的幂,以便 MongoDB 中的每个文档都存储在包含文档本身和额外空间或填充的记录中。填充允许文档随着更新而增长,同时最大限度地减少重新分配的可能性。

WiredTiger Document 对此只字未提。所以我只想知道当记录大小发生变化时是否很好,或者它有一些性能问题但在文档中没有提到。

【问题讨论】:

    标签: mongodb wiredtiger


    【解决方案1】:

    使用 WiredTiger,您不必担心文档移动、填充等。新写入最初会写入未使用区域中的文件,然后在后台与其余数据合并。 在更新期间,WiredTiger 实际上会编写新版本的文档,而不是像 mmapv1 在许多情况下那样覆盖现有数据。 (查看 MongodDB 免费在线课程中的the video

    【讨论】:

    • 我看过视频并且知道 WiredTiger 使用 B-Tree 来存储数据不仅索引为 MMAPv1。所以它没有填充或文档移动。非常感谢。
    • 视频已被删除。是在其他来源上传的吗?
    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多