对于日志或指标(metric)类时序性强的ES索引,因为数据量大,并且写入和查询大多都是近期时间内的数据。我们可以采用hot-warm-cold架构将索引数据切分成hot/warm/cold的索引。hot索引
负责最新数据的读写,可使用内存存储;warm索引
负责较旧数据的读取,可使用内存或SSD存储;cold索引
很少被读取,可使用大容量磁盘存储。随着时间的推移,数据不断从hot索引->warm索引->cold索引迁移。针对不同阶段的索引我们还可以调整索引的主分片数,副本数,单分片的segment数等等,更好的利用机器资源。
这一切ES都帮我们实现了。ES从6.7版本推出了索引生命周期管理(Index Lifecycle Management ,简称ILM)机制,能帮我们自动管理一个索引策略(Policy)
下索引集群的生命周期。索引策略将一个索引的生命周期定义为四个阶段:
- Hot:索引可写入,也可查询。
- Warm:索引不可写入,但可查询。
- Cold:索引不可写入,但很少被查询,查询的慢点也可接受。
- Delete:索引可被安全的删除。
索引策略控制这一个索引的生命从Hot -> Warm -> Cold -> Delete 阶段,每个阶段都可以配置不同的转化行为(Action)
。下面我们看下几个常用的Action:
- Rollover
当写入索引达到了一定的大小,文档数量或创建时间时,Rollover可创建一个新的写入索引,将旧的写入索引的别名去掉&#