云搜索服务使用的数据压缩算法是什么?
云搜索服务支持的数据压缩算法有两种:一种是Elasticsearch默认的LZ4算法,另一种是best_compression算法。
- LZ4算法
LZ4算法是Elasticsearch的默认压缩算法,该算法对数据的解压/压缩效率很快,但压缩率较低一些。
压缩算法的实现流程:压缩过程以至少4个bytes为扫描窗口查找匹配,每次移动1byte进行扫描,遇到重复的就进行压缩。该算法适用于读取量大、写入量小的场景。
- best_compression算法
除了默认的LZ4算法,云搜索服务还支持自定义best_compression算法。该算法适用于写入量大、索引存储成本高的场景,例如日志场景、时序分析场景等,可以大大降低索引的存储成本。
PUT index-1 { "settings": { "index": { "codec": "best_compression" } } }
两者比较,LZ4算法在解压/压缩速率方面更快一些,而best_compression算法在压缩率和解压率方面则更优秀一些。