gpt4 book ai didi

mongodb - 如何在 MongoDB 中启用数据压缩

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

在 MongoDB 中,WiredTiger 提供了 Zlib 压缩选项。

为了启用 Zlib 压缩选项,我使用以下代码创建了一个集合。

db.createCollection( "questions", { storageEngine: {
wiredTiger: { configString: "blockCompressor=zlib" }}})

我运行了一些简单的测试来测量压缩性能并使用以下数据集存储字符串

{
'_id': <ObjectID>,
'question_id': <Five character string>,
'question': <My question>
}

我使用以下代码创建了另一个具有任何压缩选项的集合。

db.createCollection( "questions")

使用以下评论测量数据大小

db.stats(1024*1024).dataSize + db.stats(1024*1024).indexSize

但我看不到这两个集合之间的压缩差异。我引用了以下链接来实现我的过程。

https://www.mongodb.com/blog/post/new-compression-options-mongodb-30

https://scalegrid.io/blog/enabling-data-compression-in-mongodb-3-0/

最佳答案

不要使用 dataSize 进行比较,因为它是未压缩的大小。请改用 storageSize

以 MongoDB 4.2.2 为例:

// create collections
> db.createCollection('snappy')
> db.createCollection('zlib', {storageEngine: {wiredTiger: {configString: 'block_compressor=zlib'}}})

// insert a compressible document into both collections
> doc = {_id:0, text:<a paragraph of text>}
> db.snappy.insert(doc)
> db.zlib.insert(doc)

// storage size comparison
> db.snappy.stats().storageSize
20480
> db.zlib.stats().storageSize
4096

// data size comparison
> db.snappy.dataSize()
697
> db.zlib.dataSize()
697

因此 zlib 的存储大小比默认值(snappy)小得多,但它们之间的数据大小相同。

注意:如果您仍在使用它,MongoDB 3.0 已经非常过时并且自February 2018 起不再受支持。 .请使用更新的版本(截至 2020 年 1 月的最新版本是 4.2.2)。

关于mongodb - 如何在 MongoDB 中启用数据压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59610238/

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