Mongodb WiredTiger的等效物是什么?

Mongodb WiredTiger的等效物是什么?,mongodb,database-design,Mongodb,Database Design,MongoDB为文档增长预先分配空间。这可以通过noPadding选项关闭,但这仅适用于MMAPv1发动机 WiredTiger引擎是否有类似的选项?我有一些只随插入而增长的集合,所以文档大小总是相同的 我想尽量减少我的收藏。所以,如果MongoDB有任何功能可以为WiredTiger节省空间(比如noPadding),我想知道 WiredTiger没有填充,因为有。相反,整个更新的文档被写入一个新的位置,称为写时复制 当然,这会导致数据文件比需要的大。然而,如果您使用压缩(默认情况下是打开的)

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

WiredTiger引擎是否有类似的选项?我有一些只随插入而增长的集合,所以文档大小总是相同的


我想尽量减少我的收藏。所以,如果MongoDB有任何功能可以为WiredTiger节省空间(比如noPadding),我想知道

WiredTiger没有填充,因为有。相反,整个更新的文档被写入一个新的位置,称为写时复制

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

如果您确实想确保不“浪费”任何空间,可以使用:


这样做,但在操作过程中有一个缺点。

谢谢您的回答。我只能通过Zlib压缩获得真正的文件大小。这太令人沮丧了。此外,无论发生什么情况,索引的大小都是原来的两倍。紧凑有帮助,但还不够。另外,正如您所提到的,当我删除集合中的所有内容并应用compact和dropIndexes时,仍然没有任何空间可用。您对此有什么建议吗?@stackyname索引文件不同。如果您想删除一个集合,只需删除它即可。然后删除数据文件。然而,我不确定你到底想要实现什么。也许你应该更清楚地了解这一点,并相应地编辑你的问题。我编辑了我的主要问题。不过,我在评论中提出的问题与主要问题不同。我不想删除我的收藏,但当我删除一些信息时,我想收回我的磁盘空间。@stackyname如果需要回收空收藏的开销,您的存储容量规划很可能有问题。MongoDB并不是完全优化的小型资源。它的工作方式,你将永远有一个开销。删除时无法回收磁盘空间。好的,很高兴知道。我的意思是,我希望我能找回那个空间,但至少现在我知道我不应该为此浪费时间。谢谢!
use yourDb
db.runCommand({compact:"yourColl"})