elasticsearch系列十:自研数据导出完胜官方

概述

      今天咱们来看下es的数据导出,最近接到项目经理很多导出需求,要求导出部分数据或者整月的数据,索性就自研了一套导出工具。

      自研采用纯java语言,通过无锁的内存队列实现生产消费模型,支持多种类型导出(json文件、CSV文件、MYSQL数据库、ES)。

      其实官方有现成的导出工具elasticsearch-dump,功能很强大,支持文件、es等多种类型。但是他的性能如何呢?接下来咱们一起看下。

环境准备

    物理机:96核 64G 4THDD

    Elasticsearch:jvm设置20G  版本7.15.0

    elasticsearch-dump: 最新版本docker 运行

    自研工具elasticsearch-dump-1.0   jvm设置3G

    索引ccr_test 400w的证书数据。

验证

自研系统 :导出语句

"{\"size\":1000,\"track_total_hits\":true}"

运行日志:

图片

通过日志我们可以清楚的看出来本次导出400w数据共花费了1分15秒钟,导出的文件占用磁盘5.1G

图片

接下来咱们再看官方的导出工具,准备好镜像文件:

图片

运行语句:

docker run --rm -ti -v /home/app:/tmp elasticdump/elasticsearch-dump --input=http://192.168.229.48:9200/ccr_test --output=/tmp/data.json --type=data  --limit=1000

运行日志如下:

图片

最后发现同样运行1分15秒后官方的工具才导出130w的数据。

总结

实测发现自研数据几乎没有性能损耗,我们在4核 16G 200G虚机上搭建单实例es设置jvm2G 发现导出性能同样可以在w/s级别,性能确实杠杠的。

但是功能上没有官方的丰富,他们支持多种格式,多种导出类型(mapping 、data等)。

      本次测试的经过3轮比对,取的平均值,自研工具均完胜官方,如果有异议的欢迎一起来探讨。

私信给源码地址


Elasticsearch系列经典文章

图片

  • 20
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值