带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (2)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (2)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.6.Datastream (1) https://developer.aliyun.com/article/1228586


Data stream 的组成

 

数据流在 Elasticsearch 集群中由一个或多个隐藏的、自动生成的后备索引组成。

 

image.png


在实际的 Elasticsearch 操作中,数据流依靠索引模板来设定数据流实体的后备索引。

 

l 模板包含用于配置流的后备索引的映射和设置。

l 同一个索引模板可用于多个数据流。

l 不能删除数据流正在使用的索引模板。

每个索引到数据流的文档,必须包含一个 @timestamp 字段,映射为 date 或 date_nanos 字段类型。如果索引模板没有为 @timestamp 字段指定映射,Elasticsearch 将 @timestamp映射为带有默认选项的日期字段。

 

data stream 的读请求主要如下图,数据流自动将请求路由到其所有后备索引。

image.png


而对于写请求,数据流则将该请求自动转发给最新的后备索引。

image.png


对于写请求,有两点需要注意:


l 不能将新文档添加到其他非最新后备索引,即使直接将请求发送到这些索引也不行。

l 不能对正在写入的索引做 Clone/Close/Delete/Freeze/Shrink/Split 相关操作。

 

注:7.12版本可以 Close

 

data stream 的特性

 

生成

 

每个 data stream 的后备索引都有一个 generation 数,一个六位数,零填充的整数,从 000001 开始,用作该流的 rollover 的计数。

 

后备索引名主要依照以下格式:

 

.ds--


Generation 越大,后备索引包含的数据越新。 例如,web-server-logs 数据流最新的 generation 为 34。该流的最新后备索引名为 .ds-web-server-logs-000034。

 

注意:某些操作(例如 shrink 或 restore )可以更改后备索引的名称。 这些名称更改不会从其数据流中删除后备索引。

 

Rollover

 

data stream 的使用中,rollover 是必不可少的条件。

 

创建数据流时,Elasticsearch 会自动为该 data stream 根据 template 创建一个后备索引。该索引还充当流的第一个写入索引。当满足一定条件时, rollover 会创建一个新的后备索引,该后备索引将成为 data stream 的新写入索引。

 当然 rollover 的条件设置主要依靠 ILM。 如果需要,你还可以手动将数据 rollover 。

 

追加

 

由于时序性数据的特征,data stream 的设计场景中,数据是只追加的,极少需要修改删除。如果实际需要修改删除,则可以考虑以下操作:

 

对于数据流只能通过 update by query 或者 delete by query 操作,不能进行 update 或l 者 delete 文档。

l 需要 delete 或者 update 文档,则直接对后备索引操作。

l 需要经常删除或者修改文档的,请使用索引别名或者索引模板,不要对 data stream 操作。


data stream 的使用

 

创建索引生命周期管理策略 ILM

 

索引生命周期管理策略 ILM 的主要配置细节见索引周期管理一章,此处主要做 hot 和 delete阶段的设置,用于 rollover 的引用。

 

相关命令:


PUT /_ilm/policy/my-data-stream-policy
{
  "policy": {
    "phases": {
      "hot": {
        "actions": {
          "rollover": {
            "max_size": "25GB"
          }
        }
         },
      "delete": {
        "min_age": "30d",
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

Kibana 图形界面: Stack Management -> Index Lifecycle Policies -> Create policy

image.png

image.png

注意:

 

l rollover 设置中,文档数和最大存在时间是相对敏感的配置参数,由于 Elasticsearch 并不是实时监控 ILM 的执行任务(默认十分钟),最终结果并不一定完全一致。

l ILM 任务判断中,max_size 判断的是主分片的大小,而不是整个索引的大小。

l 新版本下,max_size 的判断并不敏感,可能是因为索引的主分片 size 大小会被 merge 后收缩,需要有一定时间的观察。如下图。200MB之下的 max_size 会失效。建议max_size设置参数不要太小。


image.png

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.6.Datastream (3) https://developer.aliyun.com/article/1228581

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
存储 索引
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (5)
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (5)
|
索引
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (3)
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (3)
|
API 索引
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (4)
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (4)
122 0
|
存储 数据处理 索引
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (1)
带你读《Elastic Stack 实战手册》之47:——3.5.6.Datastream (1)
|
SQL 自然语言处理 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
带你读《Elastic Stack 实战手册》之2:——二、导读(上)
333 0
|
JSON Java 数据格式
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(下)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(下)
100 0
|
自然语言处理 索引
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
带你读《Elastic Stack 实战手册》之33:——3.4.2.17.2.Schemaless(上)
106 0
|
存储 运维 监控
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
带你读《Elastic Stack 实战手册》之2:——二、导读(下)
259 0
|
存储 资源调度 NoSQL
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (上)
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (上)
124 0
|
数据可视化 NoSQL API
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (下)
带你读《Elastic Stack 实战手册》之45:——3.5.4.Graph (下)
138 0

热门文章

最新文章