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" } } }