更新时间:2023-06-20 GMT+08:00

云搜索服务使用的数据压缩算法是什么?

云搜索服务支持的数据压缩算法有两种:一种是Elasticsearch默认的LZ4算法,另一种是best_compression算法

  • LZ4算法

    lz4算法是Elasticsearch的默认压缩算法,该算法对数据的解压/压缩效率很快,但压缩率较低一些。

    压缩算法的实现流程:压缩过程以至少4个bytes为扫描窗口查找匹配,每次移动1byte进行扫描,遇到重复的就进行压缩。该算法适用于读取量大、写入量小的场景。

  • best_compression算法

    除了默认的LZ4算法,云搜索服务还支持自定义best_compression算法。该算法适用于写入量大、索引存储成本高的场景,例如日志场景、时序分析场景等,可以大大降低索引的存储成本。

执行如下命令,可以将默认压缩算法(LZ4算法)切换为best_compression算法:
PUT index-1
{
    "settings": {
        "index": {
            "codec": "best_compression"
        }
    }
}

两者比较,LZ4算法在解压/压缩速率方面更快一些,而best_compression算法在压缩率和解压率方面则更优秀一些。