索引数据的规划,应在前期做好规划,正所谓 " 设计先行,编码在后 " ,这样才能有效的避免突如
其来的数据激增导致集群处理能力不足引发的线上客户检索或者其他业务受到影响。
所以在设计阶段就需要结合自身的业务特点来提前做好规划。
3.1 动态索引层面
基于模板 + 时间 +rollover api 滚动创建索引,举例:设计阶段定义: blog 索引的模板格式为:
blog_index_ 时间戳的形式,每天递增数据。这样做的好处:不至于数据量激增导致单个索引数据量非 常大,接近于上线 2 的 32 次幂 -1 ,索引存储达到了 TB+ 甚至更大。
一旦单个索引很大,存储等各种风险也随之而来,所以要提前考虑 及早避免。
3.2 存储层面
冷热数据分离存储,热数据(比如最近 3 天或者一周的数据),其余为冷数据。
对于冷数据不会再写入新数据,可以考虑定期 force_merge 加 shrink 压缩操作,节省存储空间和检索 效率。
3.3 部署层面
一旦之前没有规划,这里就属于应急策略。
结合 ES 自身的支持动态扩展的特点,动态新增机器的方式可以缓解集群压力,注意:如果之前主节点 等规划合理,不需要重启集群也能完成动态新增的。
elasticsearch索引数据多了怎么办?如何调优和部署?
zhaoliubao12024-03-26 20:31
相关推荐
不是万能的豆学长2 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)库库的数据库笔记8 小时前
国产信创数据库的MySQL兼容性深度对比解析Elastic 中国社区官方博客9 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic珠海西格电力11 小时前
零碳园区管理系统的性能评估体系的行业标准杨先生哦11 小时前
SOC告警研判实战:海量告警降噪、误报甄别、内网风险处置全流程(上岗必用)一线数智12 小时前
朱鹰:人的判断力,比算力更重要用户36105886261212 小时前
Flink ResourceManager启动流程源码深度剖析:从ClusterEntrypoint到Slot分配的完整链路用户36105886261213 小时前
Flink ApplicationMaster启动流程源码深度剖析:从YARN提交到JobMaster启动的完整链路初心未改HD13 小时前
DSH Skill开发实战:SKILL.md是给LLM看的操作手册,不是给人看的README,踩了4个坑程序 代码狂人14 小时前
据仓库常见表类型详解(面试完整版,金融数仓适用)