本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理集合级文档压缩
Amazon DocumentDB 集合级文档压缩允许您通过压缩您集合中的文档降低存储成本和 IO 成本。您可以在集合层面启用文档压缩,并通过用压缩指标(例如已压缩文档的存储大小和压缩状态)衡量存储增益,根据需要查看压缩指标。Amazon DocumentDB 使用 LZ4 压缩算法压缩诸文档。
准则
以下指导方针适用于集合级文档压缩:
默认禁用文档压缩
文档压缩不能应用于现有集合。
文档压缩仅在 Amazon DocumentDB 版本 5.0 及更高版本上受支持。
Amazon DocumentDB 仅压缩大小为 2KB 及以上的文档。
启用文档压缩
使用 db.createCollection()
方法在 Amazon DocumentDB 上创建某集合的同时启用文档压缩:
db.createCollection( sample_collection,{ storageEngine : { documentDB: { compression:{ enable: <true | false> } } } })
监控文档压缩
您可以检查某集合是否已压缩如下计算其压缩率。
通过运行来自 mongo Shell 的 db.printCollectionStats()
或 db.collection.stats()
命令查看压缩统计量。输出向您显示原始大小和压缩后的大小,您可以比较这些大小来分析来自文档压缩的存储增益。在此示例中,对一个名为 “sample_collection” 的集合显示统计量:
db.sample_collection.stats(1024*1024) { "ns" : "test.sample_collection", "count" : 1000000, "size" : 3906.3, "avgObjSize" : 4096, "storageSize" : 1953.1, compression:{ "enabled" : true, "threshold" : 2032 } ... }
大小 -文档集合原始大小。
avgObjSize - 压缩前平均文档大小四舍五入到首位小数。计量单位是字节。
storageSize - 压缩后集合的存储空间大小。计量单位是字节。
启用 - 指示压缩是启用还是禁用。
要计算实际压缩率,请将集合大小除以存储空间大小(大小/storageSize)。对于以上示例,计算结果为 3906.3/1953.1,这转换成 2:1 压缩率。
管理现有集合
虽然您无法压缩现有集合,但可以转换未压缩或已压缩的文档。要以已压缩格式存储现有的未压缩文档,请将该文档复制到压缩已启用的集合。要将压缩的文档转换为未压缩格式,请将这些文档复制到压缩已禁用的集合。