数据流允许您跨多个索引存储仅附加的时间序列数据,同时为您提供单个命名资源用于请求。数据流非常适合日志、事件、指标和其他连续生成的数据。
您可以将索引和搜索请求直接提交到数据流。流自动将请求路由到存储流数据的支持索引。您可以使用索引生命周期管理 (ILM)来自动管理这些支持索引。例如,您可以使用 ILM 自动将较旧的支持索引移动到成本较低的硬件并删除不需要的索引。随着数据的增长,ILM 可以帮助您降低成本和开销。
支持指数
数据流由一个或多个隐藏的、自动生成的后备索引组成。
一个数据流需要一个匹配的索引模板。该模板包含用于配置流的支持索引的映射和设置。
每个索引到数据流的文档都必须包含一个@timestamp
字段,映射为一个date
或date_nanos
字段类型。如果索引模板没有为@timestamp
字段指定映射,Elasticsearch 将映射 @timestamp
为date
具有默认选项的字段。
同一个索引模板可以用于多个数据流。您不能删除数据流正在使用的索引模板。
读取请求
当您向数据流提交读取请求时,该流会将请求路由到其所有支持索引。
image.png
写索引
最近创建的后备索引是数据流的写索引。该流仅将新文档添加到此索引。
image.png
即使直接向索引发送请求,您也无法将新文档添加到其他支持索引。
您也不能对可能妨碍索引的写入索引执行操作,例如:
滚下
翻转创建一个新的后备索引,该索引成为流的新写入索引。
我们建议在写入索引达到指定的年龄或大小时使用ILM自动翻转数据流。如果需要,您还可以手动翻转 数据流
一代
每个数据流都跟踪它的生成:一个六位数的零填充整数,用作流翻转的累积计数,从000001.
创建后备索引时,索引使用以下约定命名:
.ds-<data-stream>-<yyyy.MM.dd>-<generation>
<yyyy.MM.dd>
是支持索引的创建日期。具有更高代的支持索引包含更新的数据。例如,web-server-logs
数据流有一代34
. 该流的最新支持索引创建于 2099 年 3 月 7 日,名为.ds-web-server-logs-2099.03.07-000034
.
某些操作(例如收缩或 恢复)可以更改后备索引的名称。这些名称更改不会从其数据流中删除支持索引。
仅附加
数据流专为现有数据很少(如果有的话)更新的用例而设计。您不能将现有文档的更新或删除请求直接发送到数据流。相反,请使用 按查询更新和 按查询删除API。
如果需要,您可以通过直接向文档的支持索引提交请求来更新或删除文档。
网友评论