Elasticsearch 5.0 磁盘空间节省策略的认识

1081775-20170112124756947-838103988.png

前言:本文是当时QQ群员讨论磁盘空间如何优化,我搜了下类似的文章,结合官方文档做了一些总结

参考文章1

参考文章2

如果你有疑问,可以联系我参与讨论,或者去原文查看。

NOTE: 磁盘空间节省问题,是得失问题。要省出磁盘空间,必会影响某些功能,如果被影响的功能你不需要,你可以采用相应的磁盘节省策略。

TIP: 磁盘空间节省需要谨慎,一定要看清楚策略的影响。

一、影响因素

  1. replication

    副本的产生是为了高可用,作为数据的备份,在某些节点挂掉后,保障数据不丢失。从原则上来说,副本数据和数据本身并无区别。因此副本数量,将会成倍数地扩大索引的大小

    修改副本大小的命令:
    curl curl -XPUT 'localhost:9200/my_index/_settings' -d ' { "index" : { "number_of_replicas" : 0 } }'

    默认副本数为1,早期版本2.3支持在elasticsearch.yml中添加index.number_of_replicas: 0这种形式来修改。5.0版本中不在支持在elasticsearch.yml中修改 index settings 层面的配置

    影响: 副本设置为0,虽然会节省一半的磁盘空间,es集群不再高可用,节点一挂,数据就丢。

  2. _source

    Elasticsearch保留每个传入文档的原始数据JSON的副本。这个_source字段在我们重新结构化原始数据、高亮搜索结果非常有用。但是也占了磁盘空间。可以被disable掉以节省磁盘空间

    注意这个原始数据json的副本和上文的replication是两码事,是下文{ }中的内容

    PUT my_index/user/1 
    {
     "first_name":    "John",
     "last_name":     "Smith",
     "date_of_birth": "1970-10-24"
    }

    影响:你可以查看我单独写的_source字段认识和影响

    单个字段也可以选择是否store,也会影响磁盘空间。我认为单个字段store和_source是个体和整体的关系,所以我写在一个段落里面?我此处存疑

    单个字段store

  3. _all

    _all字段维护这一个大字符串数组,包含了所有的term。方便我们在不知道field的情况下,也能搜索出term value。大字符串数组也会占用磁盘空间,也是可以被disable掉的

    影响: 你可以查看我单独写的_all字段认识和影响

  4. doc_value
    doc values是elasticsearch为了减小 heap memory 使用率采用的一种机制。在排序和聚合时能节省heap,但它本身会占用磁盘空间

    影响:你可以查看我单独写的doc_value认识和影响

  5. 分词

    影响:对字符串进行分词也会对磁盘空间产生影响,一般情况下不分词会节省空间

    官网分词器介绍

二、影响程度

本章节的数据来源于参考文章2

测试数据为一个67644119 byte log file
71.212.224.97 - - [28/May/2014:16:27:35 -0500] "GET /images/web/2009/banner.png HTTP/1.1" 200 52315 "http://www.semicomplete.com/projects/xdotool/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"
测试数据大小为67644119

test numberstring field_alldoc valueindex sizeExpansion ratio (index size / raw size)
0xxx676441191
1analyzed and not_analyzedenabledenabled946338181.399
2analyzed and not_analyzeddisabledenabled756484161.118
3not_analyzeddisabledenabled630798050.933
4analyzed and not_analyzedenableddisabled806083541.192
5analyzed and not_analyzeddisableddisabled616804740.912
3not_analyzeddisableddisabled484324870.716

转载于:https://www.cnblogs.com/yangwenbo214/p/6277728.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值