首页 > 其他分享 >Easysearch压缩模式深度比较:ZSTD+source_reuse的优势分析

Easysearch压缩模式深度比较:ZSTD+source_reuse的优势分析

时间:2023-10-15 20:31:57浏览次数:36  
标签:存储 reuse Easysearch ZSTD 压缩 source zstd

引言

在使用 Easysearch 时,如何在存储和查询性能之间找到平衡是一个常见的挑战。Easysearch 具备多种压缩模式,各有千秋。本文将重点探讨一种特别的压缩模式:zstd + source_reuse,我们最近重新优化了 source_reuse,使得它在吞吐量和存储效率方面都表现出色。

测试概览

测试条件选用了 esrally 工具和 geonames 数据集来进行压力测试。数据集包含了 11396503 条记录,往单个 shard 写入,对以下几种压缩模式进行压测对比:

  • default
  • best_compression
  • zstd
  • zstd + source_reuse

下图是对 CPU 的监控,可以看到各个模式对 CPU 的使用是基本相近的。

  • default
  • best_compression
  • zstd
  • zstd+reuse

关键数据点

测试结果主要围绕两个指标:

  • 中位吞吐量:单位为“每秒操作数”,数值越大表示性能越好。
  • 存储大小:单位为 “GB”,数值越小表示存储更加高效。

测试数据如下:

压缩模式

中位吞吐量 (docs/s)

存储大小 (GB)

default

37834

2.7

best_compression

37404

2.2

zstd

38878

2.1

zstd + source_reuse

38942

1.6

zstd + source_reuse:压缩原理

该模式采用了 source_reuse 压缩算法,该算法通过对 keywordlongintshortboolean 等类型的字段值进行复用,并结合 zstd 压缩算法,大大提高了存储效率。

压缩效率

zstd + source_reuse 在存储大小上的表现尤为出色,针对 geonames 数据集只需 1.6 GB 的存储空间,相比于 best_compression 模式的 2.2 GB,压缩效率显著提高。

吞吐量表现

高压缩率并没有让 zstd + source_reuse 在吞吐量上做出妥协,因为高压缩率使得其需要持久化的数据大大减小,其中位吞吐量为 38942 docs/s,在 4 种模式中表现最好。

结论

zstd + source_reuse 压缩模式在存储效率和查询性能之间找到了一种极佳的平衡,强烈推荐各位在使用 Easysearch 时,当存储成本比较敏感时,考虑使用 zstd + source_reuse 压缩模式。无论是在存储成本还是写入性能方面,它都能为你带来显著的优势。

关于 Easysearch

Easysearch压缩模式深度比较:ZSTD+source_reuse的优势分析_easysearch

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

官网文档:<https://www.infinilabs.com/docs/latest/easysearch>

下载地址:<https://www.infinilabs.com/download>

标签:存储,reuse,Easysearch,ZSTD,压缩,source,zstd
From: https://blog.51cto.com/u_15963473/7873353

相关文章

  • Easysearch压缩模式深度比较:ZSTD+source_reuse的优势分析
    引言在使用Easysearch时,如何在存储和查询性能之间找到平衡是一个常见的挑战。Easysearch具备多种压缩模式,各有千秋。本文将重点探讨一种特别的压缩模式:zstd+source_reuse,我们最近重新优化了source_reuse,使得它在吞吐量和存储效率方面都表现出色。测试概览测试条件选用了......
  • Easysearch Chart 0.2.0都有哪些变化
    EasysearchChart包更新了,让我们来看看都有哪些变化:Docker镜像升级Service名称调整,支持NodePort模式部署现在让我们用NodePort模式部署一下:#helmsearchrepoinfinilabsNAME CHARTVERSION APPVERSION DESCRIPTIONinfinilabs/console......
  • Easysearch Chart 0.2.0都有哪些变化
    EasysearchChart包更新了,让我们来看看都有哪些变化:Docker镜像升级Service名称调整,支持NodePort模式部署现在让我们用NodePort模式部署一下:#helmsearchrepoinfinilabsNAME CHARTVERSION APPVERSION DESCRIPTIONinfinilabs/console 0.2.0......
  • [901] Reuse variables of CMD batch scripts
    Inabatchfile,youcanreuseavariabletogeneratedifferentfilepathsbyconcatenatingthevariablewithotherstringsorvariables.Here'sanexampleofhowtodothis:@echooffset"base_path=C:\Example"REMGeneratefilepathsus......
  • Easysearch 压缩功能的显著提升:从 8.7GB 到 1.4GB
    引言在海量数据的存储和处理中,索引膨胀率是一个不可忽视的关键指标。它直接影响了存储成本和查询性能。近期,Easysearch在这方面取得了显著的进展,其压缩功能的效果远超过了之前的版本。本文将详细介绍这一进展。Easysearch各版本压缩性能对比根据之前文章的数据,Easysearchv1.......
  • Easysearch 压缩功能的显著提升:从 8.7GB 到 1.4GB
    引言在海量数据的存储和处理中,索引膨胀率是一个不可忽视的关键指标。它直接影响了存储成本和查询性能。近期,Easysearch在这方面取得了显著的进展,其压缩功能的效果远超过了之前的版本。本文将详细介绍这一进展。Easysearch各版本压缩性能对比根据之前文章的数据,Easysearchv1.1在......
  • Buuctf——[网鼎杯 2020 青龙组]AreUSerialz
    这是一道序列化的题目<?phpinclude("flag.php");highlight_file(__FILE__);classFileHandler{protected$op;protected$filename;protected$content;function__construct(){$op="1";$filename="/......
  • 通过 Helm Chart 部署 Easysearch
    Easysearch可以通过Helm快速部署了,快来看看吧!Easysearch的Chart仓库地址在这里https://helm.infinilabs.com。使用Helm部署Easysearch有两个前提条件:cert-managerlocal-path我们先按照Chart仓库的说明来快速部署一下。~helmrepoaddinfinilabshttps://he......
  • INFINI Easysearch 与兆芯完成产品兼容互认证
    近日,极限科技旗下软件产品INFINIEasysearch搜索引擎软件V1.0与兆芯完成兼容性测试,功能与稳定性良好,并获得兆芯产品兼容互认证书。此次兼容适配基于银河麒麟高级服务器操作系统V10SP3平台与兆芯ZX-C、ZX-C+、KX-5000、KX-6000、KH-20000、KH-30000、KH-40000等系列处理......
  • DITA Reuse的设计和管理
    1.Topic划分以Topic为主要重用对象,就需要将整本手册切分为若干个Topic。第一次拆分时往往会沿用以前的章节划分,把一个小节,自然转换成一个Topic。把所有章节填入表格,进行初次审阅:该小节是否完整回答了一个问题?是否包含了该问题以外的内容?该小节是否可以归为一个信息分类,如C......