codec-compression是阿里云Elasticsearch(简称ES)团队自主开发的索引压缩插件,支持brotli和zstd压缩算法,具有更高的索引压缩比,可以大幅降低索引的存储成本。
前提条件
您已完成以下操作:
- 创建阿里云ES实例(6.7.0版本),详情请参见创建阿里云Elasticsearch实例。 重要- codec-compression插件目前只支持阿里云ES 6.7.0版本,因此请创建6.7.0版本的实例。 
- 安装codec-compression插件(新购实例默认已安装)。 - 您可在插件配置页面查看是否已安装codec-compression插件,如果还未安装,请手动进行安装,安装方法请参见安装或卸载系统默认插件。 
背景信息
codec-compression插件支持brotli和zstd压缩算法,适用于写入量大、索引存储成本高的场景,例如日志场景、时序分析场景等,可以大大降低索引的存储成本。性能测试信息如下:
- 测试环境 - 机器配置:数据节点16核64 GB*3 + 2 TB SSD云盘。 
- 数据集:官方esrally自带的nyc_taxis(74 GB)。 
- 索引配置:都使用默认配置,写入完成后都可以进行force merge。 
 
- 测试结果 - 压缩算法 - 索引大小(GB) - 写入TPS(doc/s) - ES默认压缩算法(LZ4) - 35.5 - 202682 - best_compression(DEFLATE) - 26.4 - 181686 - brotli - 24.4 - 182593 - zstd - 24.6 - 181393 
- 结论 - codec-compression插件使用的brotli和zstd压缩算法,与默认压缩算法(LZ4)相比,写入性能下降了10%,压缩率提升了45%,查询性能不变;与原生best_compression(DEFLATE)相比,写入性能不变,压缩率提升了8%,查询性能不变。 
操作步骤
- 登录Kibana控制台。 - 登录控制台的具体步骤请参见登录Kibana控制台。 
- 在左侧导航栏,单击Dev Tools(开发工具)。 
- 在Console中,分别执行如下命令,为索引指定不同的压缩算法。 - brotli压缩算法 - PUT index-1 { "settings": { "index": { "codec": "brotli" } } }
- zstd压缩算法 - PUT index-1 { "settings": { "index": { "codec": "zstd" } } }