1、认知前提
Elasticsearch支持紧缩,紧缩模式默以为:LZ4紧缩算法。
详细参见:
The default value compresses stored>中文翻译为:
自动值经常使用LZ4紧缩紧缩存储的数据,但这可以设置为best_compression,它经常使用DEFLATE来取得更高的紧缩率,但会降低存储字段的性能。
这里要引申一下,这属于:静态性能,相似:number_of_shard 主分片数,不准许灵活修正,除非重建索引。
2、入手验证一下紧缩比究竟能紧缩多少?
2.1 样例数据预备
以 kibana_sample_flights 航行数据为例启动验证。
我们间接借助 elasticdump 启动导出,以json 存储,作为原始数据。
导出成功参考:
NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump \--input=\--type=data \--input-ca=/www/elasticsearch_0801_20220713/elasticsearch-8.1.0/config/certs/http_ca.crt
导出成功截图:
所占存储空间大小:
2.2 Elasticsearch 自动 LZ4 紧缩算法的存储大小
2.3 假设修正为:best_compression紧缩后,所占据存储空间大小如下
须要修正索引:
PUT kibana_sample_data_flights_ext{"settings": {"index.codec": "best_compression"},"mappings": {"properties": {......省略局部映射形容......
而后,reindex 迁徙数据。
POST _reindex{"source": {"index": "kibana_sample_data_flights"},"dest": {"index": "kibana_sample_data_flights_ext"}}
3、初步论断
1)自动紧缩LZ4 算法能紧缩到一半!54.77%,能节俭一半的存储!
新紧缩算法 best_compression 紧缩后,紧缩为原始空间的:35%,也就是能省65%的空间。
紧缩比要求高介绍经常使用:best_compression。
© 版权声明