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