什么是NoPadding相当于WiredTiger?

时间:2016-04-30 13:46:04

标签: mongodb database-design

MongoDB为文档增长预分配空间。这可以通过noPadding选项关闭,但这仅适用于MMAPv1引擎。

WiredTiger引擎有类似的选择吗?我有一些只有插入增长的集合,因此文档大小将始终相同。

我想让我的收藏品尽可能小。因此,如果MongoDB的任何功能为WiredTiger提供空间节省(如noPadding),我想知道。

1 个答案:

答案 0 :(得分:2)

WiredTiger没有填充,因为有no in-place updates (see slide 25)。而是将整个更新的文档写入新位置,称为写时复制。

当然,这会导致数据文件比他们需要的更大。但是,如果您使用压缩(默认情况下已打开),则开销应该相当小。

如果你真的想确保不“浪费”任何空间,可以使用compact command

use yourDb
db.runCommand({compact:"yourColl"})

releases unused disk space to the system,但在操作过程中存在blocking the database的缺点。