温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何降低elasticsearch存储成本

发布时间:2026-09-16 19:58:35 来源:亿速云 阅读:106 作者:小樊 栏目:软件技术

降低 Elasticsearch(ES)存储成本,一般可以从数据建模、索引策略、存储配置、生命周期管理、查询优化几个维度入手。下面按实用程度梳理:


一、减少数据写入量(最根本)

1. 只存必要字段

  • 不需要搜索/聚合的字段,使用 enabled: false 或 index: false
  • 大文本字段尽量关闭 _source 或只保留必要字段
"user_remark": {
  "type": "text",
  "index": false
}

2. 禁用不需要的功能

  • 不需要评分:"norms": false
  • 不需要聚合/排序:"doc_values": false
  • 不需要高亮:"store": false

3. 减少字段数量

  • 避免动态映射产生大量字段
  • 使用 dynamic: strict 或 dynamic: false

二、使用索引生命周期管理(ILM)

1. 热温冷架构(Hot-Warm-Cold)

  • Hot:SSD,高配
  • Warm:大磁盘,低配
  • Cold / Frozen:对象存储或低成本磁盘

2. 自动 rollover

  • 按大小或时间切索引
"rollover": {
  "max_size": "30gb",
  "max_age": "1d"
}

3. 自动删除旧数据

  • 超过保留期直接 delete
  • 或 force merge + shrink 后降级

三、压缩与编码优化

1. 使用 best_compression

"settings": {
  "index.codec": "best_compression"
}

可节省 20%~30% 存储

2. Force Merge

  • 冷索引合并为 1 段
POST /index/_forcemerge?max_num_segments=1

3. Shrink Index

  • 减少主分片数(如 12 → 1)

四、存储层优化

1. 使用廉价存储

  • 云上:本地 NVMe → EBS → OSS/S3
  • Frozen index + Searchable Snapshot

2. Searchable Snapshots(ES 7.10+)

  • 索引放对象存储
  • 只在需要时加载
  • 成本可降 70%+

五、数据降精度 / 预处理

1. 聚合后存储

  • 原始日志 → 按分钟/小时聚合后写 ES
  • 明细进对象存储(如 S3 + Athena)

2. 降低时间精度

  • @timestamp 秒 → 分钟

3. 数值类型优化

  • long → integer
  • double → scaled_float

六、查询与写入优化(间接降本)

  • 避免 wildcard / regex 查询
  • 避免 _source 全量返回
  • 批量写入(bulk)
  • 减少副本数(冷数据 replica=0)

七、典型降本组合(推荐)

日志场景:

ILM + rollover + best_compression + force merge + searchable snapshot

指标场景:

降精度聚合 + 冷数据 0 副本 + shrink


如果你愿意,可以告诉我:

  • ES 版本
  • 数据类型(日志 / 搜索 / 指标)
  • 当前存储规模和成本痛点

我可以直接给你一套可落地的配置方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手