2019-05-29 Elasticsearch 存储数据量优化

386个标准csv文件,9列,912M,6839927行,

如果是默认index的配置进入es,即5个shards,1个replica,那么占用 3.2G的空间。

估算方法:原始文件一份,倒排索引文件一份,1个replica导致数据量再次翻倍,总共大约4倍
900M * 4 = 3.6G 。 与实际的 3.2G相差不大

那么如何压缩占用的磁盘空间呢?

1. 减少replica

通过下面的方式,设置0个replica,1个shard(因为只有一台机器,多shard也没用)

PUT _template/<template_name>
{
  "index_patterns": "*",
  "settings" : {
    "number_of_replicas" : 0,
    "number_of_shards" : 1
  },
  "version"  : 1
}

2. 删除原始message

在 grok 解析那里,把原始的message舍去(如果不需要全文索引的话)。

最后占用空间是1.6G。在kibana上 GET _cat/indices?v展示的是 1gb

PS. 在导入的过程中可以发现,这个占用空间会增长到 2.3G 甚至更多。然后回落、再涨、再回落。
这里是有一个数据压缩的过程,下次再仔细介绍。

后记

大约8分30秒,这684w的数据进入es。平均速度是 13411 TPS。
使用的是一个虚拟机,16G 内存,600G SATA,4核,Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz。给ES开的内存是

-Xms1g -Xmx1g

曾经一个正儿八经的3实体机集群,SATA盘,从kafka接数据,可以达到25w TPS。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值