管理集合级文档压缩 - Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

管理集合级文档压缩

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 压缩率。

管理现有集合

虽然您无法压缩现有集合,但可以转换未压缩或已压缩的文档。要以已压缩格式存储现有的未压缩文档,请将该文档复制到压缩已启用的集合。要将压缩的文档转换为未压缩格式,请将这些文档复制到压缩已禁用的集合。