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

简介: 带你读《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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
Kubernetes 负载均衡 应用服务中间件
kubectl 命令详细介绍
kubectl 命令详细介绍
|
2月前
|
前端开发
告别Flexbox?CSS Grid才是布局的终极答案!
告别Flexbox?CSS Grid才是布局的终极答案!
209 113
|
8月前
|
SQL 关系型数据库 大数据
数据同步平台,实现全链路同步与流通
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
10月前
|
智能设计 人工智能 物联网
2024世界工业设计大会:阿里云智能设计部荣获中国设计产业100强三项大奖,并加入中国工业设计协会智能设计专业委员会
2024世界工业设计大会:阿里云智能设计部荣获中国设计产业100强三项大奖,并加入中国工业设计协会智能设计专业委员会
|
存储 API
鸿蒙元服务项目实战:终结篇之备忘录搜索功能实现
开发元服务,有很多的限制性因素,比如包的大小限制,相关API限制,所以,我们在实际开发的时候,具体Api能否使用,还需要去官网查看一下,目前,针对当前这个小项目,总结了几个小问题,大家在开发的过程中可以作为参考。
285 2
鸿蒙元服务项目实战:终结篇之备忘录搜索功能实现
|
机器学习/深度学习 算法 数据可视化
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
本文探讨了在量化交易中结合时序特征和静态特征的混合建模方法。通过整合堆叠稀疏降噪自编码器(SSDA)和基于LSTM的自编码器(LSTM-AE),构建了一个能够全面捕捉市场动态特性的交易系统。SSDA通过降噪技术提取股票数据的鲁棒表示,LSTM-AE则专注于捕捉市场的时序依赖关系。系统采用A2C算法进行强化学习,通过多维度的奖励计算机制,实现了在可接受的风险水平下最大化收益的目标。实验结果显示,该系统在不同波动特征的股票上表现出差异化的适应能力,特别是在存在明确市场趋势的情况下,决策准确性较高。
558 5
基于深度混合架构的智能量化交易系统研究: 融合SSDA与LSTM自编码器的特征提取与决策优化方法
|
存储 SQL 运维
Hologres OLAP场景核心能力介绍-2024实时数仓Hologres线上公开课02
本次分享由Hologres产品经理赵红梅(梅酱)介绍Hologres在OLAP场景中的核心能力。内容涵盖OLAP场景的痛点、Hologres的核心优势及其解决方法,包括实时数仓分析、湖仓一体加速、丰富的索引和查询性能优化等。此外,还介绍了Hologres在兼容PG生态、支持多种BI工具以及高级企业级功能如计算组隔离和serverless computing等方面的优势。最后通过小红书和乐元素两个典型客户案例,展示了Hologres在实际应用中的显著效益,如运维成本降低、查询性能提升及成本节省等。
401 7
|
12月前
|
前端开发 算法 Java
软考软件设计师-备考须知
jong>✨ 潜意识Java:个人主页 ✨ 座右铭:得之坦然,失之淡然。擅长前端开发。分享软考软件设计师备考经验,涵盖考试意义、复习方法及学习资源推荐。专栏持续更新中,提供最新最全的备考指南!欢迎点赞、关注、收藏,您的支持是我前进的动力! 目录包括作者声明、备考理由、个人建议及学习方法,助你高效备考。特别推荐B站视频课程和历年真题刷题。
387 1
|
JSON 运维 项目管理
文档的重要性及接口文档模板
优质的文档不仅能提高工作效率,还能有效降低沟通成本,因此我们必须注重文档的撰写和格式。
692 1
文档的重要性及接口文档模板

热门文章

最新文章