Elasticsearch 8.x 存储有无压缩?能压缩到多少?

1、认知前提

Elasticsearch 支持压缩,压缩方式默认为:LZ4 压缩算法。

具体参见:

The default value compresses stored data with LZ4 compression, but this can be set to best_compression which uses DEFLATE for a higher compression ratio, at the expense of slower stored fields performance.

中文翻译为:

默认值使用 LZ4 压缩压缩存储的数据,但这可以设置为 best_compression,它使用 DEFLATE 来获得更高的压缩率,但会降低存储字段的性能。

https://www.elastic.co/guide/en/elasticsearch/reference/8.14/index-modules.html#index-codec

这里要引申一下,这属于:静态配置,类似:number_of_shard 主分片数,不允许动态修改,除非重建索引。

2、动手验证一下压缩比到底能压缩多少?

2.1 样例数据准备

以 kibana_sample_flights 飞行数据为例进行验证。

7a97a43bda5c9ccb4be2d85e159d4c44.png

我们直接借助 elasticdump 进行导出,以json 存储,作为原始数据。

导出实现参考:

NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump \--input=https://elastic:@172.121.10.114:9200/kibana_sample_data_flights\--output=/www/elasticsearch_0801_20220713/test/flights.json \--type=data \--input-ca=/www/elasticsearch_0801_20220713/elasticsearch-8.1.0/config/certs/http_ca.crt

导出成功截图:

0588a1925445dca3229510ae141934d6.png

所占存储空间大小:

a7e8fd9ab885a2ff6bbbb34ca66025d9.png

2.2 Elasticsearch 默认 LZ4 压缩算法的存储大小




cd3b1c417303ea5bdf9e4f6e6da99e45.png





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、初步结论

d47c7c9a958ecd7159aa315653a01222.png

1)默认压缩LZ4 算法能压缩到一半!54.77%,能节省一半的存储!

新压缩算法 best_compression 压缩后,压缩为原始空间的:35%,也就是能省65%的空间。

压缩比要求高推荐使用:best_compression

2)如果建模上(_source, store, 字段类型选型,doc_values, index 等参数)再优化,理论上还能压缩的更低一些!!


8094b5a287e7b4b415b5f0adaf8d15d1.jpeg

更短时间更快习得更多干货!

和全球2000+ Elastic 爱好者一起精进!

elastic6.cn——ElasticStack进阶助手

349e17cdfb8b0a541af87aef9105cf73.gif

抢先一步学习进阶干货!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拓扑学习系列(4)结实knots的亏格Genus与赛弗特曲面算法

结实knots的亏格 结实的亏格(Genus)是结实理论中一个重要概念,用于描述结实的复杂性。亏格是一个非负整数,与结实所界定的曲面的拓扑性质相关。以下是对结实的亏格的解释和定义: 定义: 结实的亏格是指结实…

asp如何采集网页

在ASP中采集数据通常意味着通过服务器端脚本从其他网站或API获取数据。以下是一个简单的ASP脚本示例&#xff0c;它使用XMLHTTP对象从指定URL获取数据&#xff1a; <%初始化一个XMLHTTP对象 Set objXMLHTTP Server.CreateObject("MSXML2.XMLHTTP") 要采集的目标…

PyQt5事件机制解析:从原理到实战一网打尽!

PyQt5事件机制 一、简介1.1 PyQt5的概述和作用 1.2 为什么学习PyQt5事件机制1.2.1 实现用户交互1.2.2 处理复杂逻辑1.2.3 自定义用户界面行为1.2.4 优化性能 二、PyQt5事件机制初步了解2.1 PyQt5事件的概念和基本原理2.1.1 PyQt5事件的概念2.1.2 PyQt5事件的基本原理 2.2 事件处…

什么是数据挖掘(python)

文章目录 1.什么是数据挖掘2.为什么要做数据挖掘&#xff1f;3数据挖掘有什么用处&#xff1f;3.1分类问题3.2聚类问题3.3回归问题3.4关联问题 4.数据挖掘怎么做?4.1业务理解&#xff08;Business Understanding&#xff09;4.2数据理解&#xff08;Data Understanding&#x…

生态共建 | 华宇TAS应用中间件与新华三服务器完成兼容互认证

近日&#xff0c;华宇TAS应用中间件完成与新华三技术有限公司的R4930系列和R4970 G7服务器的兼容适配&#xff0c;认证测试报告显示&#xff0c;双方产品兼容性良好&#xff0c;运行稳定、安全&#xff0c;可以满足用户对双方功能的要求。 新华三技术有限公司 新华三技术有限公…

行业洞察 | 2024应用程序安全领域现状报告

在信息爆炸的时代&#xff0c;我们每天都在使用各种应用&#xff0c;从社交娱乐到工作学习&#xff0c;应用已经成为我们生活中不可或缺的一部分。然而&#xff0c;你是否知道&#xff0c;在这些便捷的背后&#xff0c;隐藏着巨大的安全风险&#xff1f; 近年来&#xff0c;应用…

2024年前端面试题及答案

7、 nginx代理跨域 8、 nodejs中间件代理跨域 9、 WebSocket协议跨域 前端数据加密问题 1 一般如何处理用户敏感信息&#xff1f; 前端一般使用md5、base64加密、sha1加密&#xff0c;想要了解详情请自行百度。 前端http相关问题 1 HTTP常用状态码及其含义&#xff1f; …

win10系统让当前用户拥有管理员权限

本方法应该也适用于win11 大家在安装系统的时候&#xff0c;如果开始你不重新建立一个账号。直接使用默认的administror登录&#xff0c;那么这个时候电脑只有1个账户&#xff0c;但是如果你在刚开始的时候建立了一个新的&#xff0c;比如你姓李 名字叫帅哥&#xff0c;那么这…

[ES6] 箭头函数

JavaScript 是一种广泛使用的编程语言&#xff0c;随着其发展和演变&#xff0c;引入了很多新的特性来提高代码的可读性和开发效率。其中一个重要的特性就是 ES6&#xff08;ECMAScript 2015&#xff09;中引入的箭头函数&#xff08;Arrow Function&#xff09;。箭头函数不仅…

css---before和after伪元素

1.什么是伪元素 伪元素不是真正的页面元素&#xff0c;html没有对应的元素&#xff0c;但是其所有用法和表现行为与真正的页面元素一样&#xff0c;可以对其使用如页面元素一样的CSS样式&#xff0c;表面上看上去貌似是页面的某些元素来展现&#xff0c;实际上CSS样式展现的行…

这样一位美丽的女子

在《生有热爱》这本书中看到这样一句话“斯人若彩虹&#xff0c;遇上方知有”&#xff0c;瞬间击中了我的灵魂&#xff0c;这句话完美的表达了我对爱人的情感。以前我总以为“遇上爱人是我这辈子最大的幸运”是我此生对爱人的完美表达&#xff0c;直到遇到这句话我才深刻体会到…

django models对应的mysql类型

Django模型字段类型与MySQL数据库类型的对应关系如下&#xff1a; Django 模型字段类型MySQL 数据库类型AutoFieldBIGINT UNSIGNEDCharFieldVARCHARIntegerFieldINTDecimalFieldDECIMALDateFieldDATEDateTimeFieldDATETIMEFileField, ImageFieldVARCHAR (用于文件路径)Boolean…

Python容器 之 字典--字典的遍历

字典存在 键(key), 值(value) , 遍历分为三种情况 1.遍历字典的键 循环拿到字典中的每个键名 # 方式一 for 变量 in 字典: print(变量) # 方式二 for 变量 in 字典.keys(): # 字典.keys() 可以获取字典所有的键 print(变量) my_dict {name: 小明, age: 18, sex: 男}…

Node.js的应用场景

Node.js具有广泛的应用场景&#xff0c;其基于Chrome V8引擎的JavaScript运行环境使得JavaScript能够运行在服务器端&#xff0c;极大地扩展了其应用范围。以下是Node.js的主要应用场景&#xff1a; 1. 服务器端开发 Web服务器和API服务器&#xff1a;Node.js非常适合构建服务…

Kamailio-Web管理页面Siremis的安装与部署

siremis 是针对于 Kamailio 的web管理接口&#xff0c;使用PHP书写&#xff0c;更新至2020年&#xff0c;相对不是太新但是是官方友链的 以下就采用 Ubuntu 22.04Siremis 5.8.0apache http server 2.4php7.0 如有疑问请参看官方指南 以下开始介绍操作步骤 安装apache2.4 we…

python转换其他分辨率的图片为固定分辨率的方法

**需求&#xff1a;**把其他分辨率转换成1920*960的分辨率&#xff0c;并保存下来 你可以使用Pillow库&#xff0c;这是一个非常流行的图像处理库。以下是一段示例代码&#xff0c;演示如何使用Pillow来调整图片的分辨率&#xff1a; from PIL import Imagedef resize_image(…

《艺术品交易导报》

《艺术品交易导报》 《艺术品交易导报》是由心海集团主管&#xff0c;北京心海文化艺术研究院主办的&#xff0c;鉴于国家的扶持政策和艺术品交易中心的崛起&#xff0c;为推动艺术品交易走向更加成熟和规范化道路而做的一份艺术品交易领域的专业报刊。在追求艺术品价值的同时…

学习一个新的知识点的五个状态

# 学习一个新的知识点的五个状态是&#xff1a; # 未知&#xff0c;接触&#xff0c;熟悉&#xff0c;模仿&#xff0c;创造。# 其中 接触 熟悉 模仿 是我们学习要经历的状态。 # 接触&#xff0c;主要是了解名称&#xff0c;有什么功能 # 熟悉&#xff0c;就是有功能如何使用…

【Qt项目学习--使用QTcpserver和libssh的区别】

很多Qt的教程都是基于QTcpServer实现的服务器客户端架构&#xff0c;而我想实现的用户名密码登陆&#xff0c;跟下来教程视频发现并没有实现&#xff0c;于是去了解libssh&#xff0c;实现IP地址登陆之后使用用户名密码实现。 libssh和QTcpServer之间的主要不同点&#xff1a;…

14-5 小语言模型SLM 百科全书

想象一下这样一个世界&#xff1a;智能助手不再驻留在云端&#xff0c;而是驻留在你的手机上&#xff0c;无缝理解你的需求并以闪电般的速度做出响应。这不是科幻小说&#xff1b;这是小型语言模型 (SLM) 的前景&#xff0c;这是一个快速发展的领域&#xff0c;有可能改变我们与…