elasticsearch elasticsearch ttl与每日投放表
我知道在elasticsearch中保持滚动数据窗口有两种主要模式:
elasticsearch elasticsearch ttl与每日投放表,
elasticsearch,logstash,
elasticsearch,Logstash,我知道在elasticsearch中保持滚动数据窗口有两种主要模式: 按照logstash的建议创建每日索引,并在旧索引掉出窗口时删除它们,从而删除它们包含的所有记录 使用elasticsearch的TTL功能和单个索引,让elasticsearch在旧记录掉出窗口时自动逐个删除它们 出于本能,我选择2,如下所示: 我不必写cron作业 一个大索引更容易与我的同事沟通,也更容易让他们查询(我想是吧?) 任何导致旧日志事件出现的噩梦流动态都不会导致创建新索引,旧事件只会在elasticsearc
- 我不必写cron作业
- 一个大索引更容易与我的同事沟通,也更容易让他们查询(我想是吧?)
- 任何导致旧日志事件出现的噩梦流动态都不会导致创建新索引,旧事件只会在elasticsearch用于进行ttl清理的60年代期间挂起
干杯 简而言之,选择选项1,删除不再需要的索引 详细的回答是,这在某种程度上取决于添加到索引中的文档数量以及分片和复制设置。如果您的索引吞吐量相当低,TTL可以执行,但是当您开始向Elasticsearch写入更多文档时(或者如果您的复制系数很高),您将遇到两个问题
您可以尝试“什么文档吞吐量太大?”但从您的用例来看,我建议您节省一些时间,只使用性能更高的索引删除路径。我将使用选项1,即每天删除索引 日下降指数 优点:
- 这是删除数据最有效的方法
- 如果需要重新构造索引(例如,应用新映射、增加碎片数量),则可以轻松地将任何更改应用于新索引
- 通过使用对客户端隐藏当前索引(即名称)的详细信息
- 基于时间的搜索可以定向为仅搜索特定的小索引
- 简化创建每日索引的过程
- 需要进行更多的设置工作(例如设置cron作业),但是有一个插件()可以帮助您完成这项工作李>
- 如果对数据执行更新,则文档数据的所有版本都需要位于同一索引中,即多个索引对您不起作用
- 易于理解且易于实现
- 删除文档时,该文档仅标记为已删除。在包含它的段离开之前,它不会被物理删除。这是非常低效的,因为删除的数据将消耗磁盘空间、CPU和内存