Easysearch VS Opensearch 数据写入与存储性能对比

本文记录 Easysearch 和 Opensearch 数据写入和数据存储方面的性能对比。

准备

  1. 压测工具:INFINI Loadgen

  2. 对比版本:

  • Easysearch 1.11.1(lucene 8.11.4)
  • Opensearch 2.19.1(lucene 9.12.1)
  1. 节点 JVM 配置:1G

数据写入

压测命令:

shell 复制代码
./loadgen-linux-amd64 -c 20 -d 300

Opensearch

plain 复制代码
PUT infinilabs
{
  "settings": {
    "number_of_shards": "1",
    "number_of_replicas": 0,
    "index.refresh_interval": "120s",
    "translog": {
      "durability": "async",
      "sync_interval": "120s"
    }
  }
}

Easysearch

plain 复制代码
PUT infinilabs
{
  "settings": {
    "number_of_shards": "1",
    "number_of_replicas": 0,
    "index.refresh_interval": "120s",
    "translog": {
      "durability": "async",
      "sync_interval": "120s"
    }
  }
}

数据存储

压测命令:

shell 复制代码
./loadgen-linux-amd64 -c 20 -d 600 -l 10000

Opensearch: zstd 压缩

plain 复制代码
PUT infinilabs
{
  "settings": {
    "number_of_shards": "1",
    "number_of_replicas": 0,
    "index.refresh_interval": "120s",
    "translog": {
      "durability": "async",
      "sync_interval": "120s"
    },
    "index.codec": "zstd"
  }
}

Easysearch: zstd + source_reuse 压缩

plain 复制代码
PUT infinilabs
{
  "settings": {
    "number_of_shards": "1",
    "number_of_replicas": 0,
    "index.refresh_interval": "120s",
    "translog": {
      "durability": "async",
      "sync_interval": "120s"
    },
    "index.codec": "ZSTD",
    "index.source_reuse": "true"
  }
}

结论

  1. 数据写入方面,Easysearch(lucene 8.x) 和 Opensearch(lucene 9.x)基本持平;
  2. 数据存储方面,相同数据量经过 Easysearch 和 Opensearch 的压缩后,Easysearch 占用的空间明显少于 Opensearch,并且数据量越大越明显。
相关推荐
-SGlow-7 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
明月5667 小时前
Oracle 误删数据恢复
数据库·oracle
♡喜欢做梦9 小时前
【MySQL】深入浅出事务:保证数据一致性的核心武器
数据库·mysql
遇见你的雩风9 小时前
MySQL的认识与基本操作
数据库·mysql
dblens 数据库管理和开发工具9 小时前
MySQL新增字段DDL:锁表全解析、避坑指南与实战案例
数据库·mysql·dblens·dblens mysql·数据库连接管理
weixin_419658319 小时前
MySQL的基础操作
数据库·mysql
不辉放弃10 小时前
ZooKeeper 是什么?
数据库·大数据开发
Goona_11 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
程序员编程指南11 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
幼儿园老大*13 小时前
数据中心-时序数据库InfluxDB
数据库·时序数据库