首页 > 其他分享 >Elasticsearch:简化数据流的数据生命周期管理

Elasticsearch:简化数据流的数据生命周期管理

时间:2024-06-15 18:32:27浏览次数:27  
标签:生命周期 ILM 索引 Elasticsearch 数据流 data lifecycle

作者:来自 Elastic Andrei Dan

今天,我们将探索 Elasticsearch 针对数据流的新数据管理系统:数据流生命周期,从版本 8.14 开始提供。凭借其简单而强大的执行模型,数据流生命周期可让n 你专注于数据生命周期的业务相关方面,例如降采样和保留。在后台,它会自动确保存储数据的 Elasticsearch 结构得到有效管理。

Elasticsearch 中的数据生命周期管理演变

自 6.x Elasticsearch 系列以来,索引生命周期管理 (index lifecycle management - ILM) 已使用户能够通过自动在层之间迁移数据来维护健康的索引并节省成本。

ILM 根据索引独特的性能、弹性和保留需求来处理索引,同时提供对成本的显着控制并详细定义索引的生命周期。

ILM 是一种非常通用的解决方案,可满足广泛的用例,从时间序列索引和数据流到存储文本内容的索引。对于所有这些用例,生命周期定义将非常不同,当我们考虑每个单独部署的可用硬件和数据分层资源时,它会变得更加不同。因此,ILM 允许完全可定制的生命周期定义,但代价是复杂性(精确的滚动定义;何时强制合并、收缩和(部分)挂载索引)。

当我们开始研究无服务器(serverless)解决方案时,我们有机会通过新的视角来审视生命周期管理,我们的用户可以(并且将)免受 Elasticsearch 内部概念(如分片、分配或集群拓扑)的影响。更重要的是,在无服务器中,我们希望能够根据需要更改内部 Elasticsearch 配置,以保持用户的最佳体验。

在这种新情况下,我们研究了现有的 ILM 解决方案,该解决方案为用户提供了内部 Elasticsearch 概念作为构建块,并决定我们需要一个新的解决方案来管理数据的生命周期。

我们吸取了从大规模构建和维护 ILM 中吸取的经验教训,并为未来创建了一个更简单的生命周期管理系统。该系统更具体,仅适用于数据流(data streams)。它直接在数据流上配置为属性(类似于索引设置属于索引的方式),我们称之为数据流生命周期。它是一种内置机制(继续使用索引设置类比),始终处于开启状态,并且始终对数据流的生命周期需求做出反应。

通过将适用范围限定在数据流(即带有很少更新的时间戳的数据),我们能够避免自定义,转而使用易用性和自动默认值。数据流生命周期将自动执行数据结构维护操作,如滚动和强制合并,并允许你仅处理你应该关心的业务相关生命周期功能,例如降采样(downsampling)和数据保留(data retention)。

数据流生命周期的功能不如 ILM 丰富;最值得注意的是,它目前不支持数据分层、缩减或可搜索快照。但是,不需要这些特定功能的用例将更好地由数据流生命周期服务。

虽然数据流生命周期最初是为无服务器环境的需求而设计的,但它们也可用于常规本地和 ESS Elasticsearch 部署。

配置数据流生命周期

让我们创建一个 Elasticsearch Serverless 项目,并开始创建由数据流生命周期管理的数据流。

创建项目后,转到索引管理并为 my-data-* 索引模式创建索引模板并配置 30 天的保留期:

让我们浏览这些步骤并完成此索引模板(我在映射部分配置了一个文本字段,但这是可选的):

现在,我们将提取一些以 my-data-stream 命名空间为目标的数据。我将使用左侧的 Dev Tools 部分,但你也可以选择自己喜欢的数据提取方式:

my-data-stream 现已创建,它包含 2 个文档。让我们转到 Index Management/Data Streams 并检查一下:

就这样!

标签:生命周期,ILM,索引,Elasticsearch,数据流,data,lifecycle
From: https://blog.csdn.net/UbuntuTouch/article/details/139685147

相关文章

  • vue3生命周期
    Vue3中有两个注册生命周期的方法,第一个是选项式的API风格,另一个的组合式的API风格。Vue3的生命周期完全兼容Vue2的生命周期。生命周期选项可以和组合式API中的生命周期钩子混合使用,不过最好不要将两者混合使用。生命周期的实现原理其实就是先将用户注册的生命周......
  • Java——变量作用域和生命周期
    一、作用域1、作用域简介在Java中,作用域(Scope)指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。2、作用域块作用域(BlockScope):块作用域是指在大括号{}内定义的变量的作用域。变量只在其定义的块内可见和有效,包括循环、条件......
  • elasticsearch的入门与实践
    Elasticsearch是一个基于Lucene构建的开源搜索引擎。它提供了一个分布式、多租户能力的全文搜索引擎,具有HTTPweb接口和无模式的JSON文档。以下是Elasticsearch的入门与实践的基本步骤:入门安装Elasticsearch:从Elasticsearch官网下载对应版本的Elasticsearch。根据操作系......
  • Vue2学习八-Vue核心(生命周期)
    目录17.生命周期17.1什么是生命周期17.2 分析生命周期17.3生命周期总结17.生命周期17.1什么是生命周期<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"/> <title>引出生命周期</title> <!--引入Vue--> <scripttype="text/java......
  • React小记(二)_组件通信、生命周期、hooks等
    10、组件通信(父=>子)10.1基本使用1、传递方式与函数组件一致2、接收时通过this.props.mes获取importReactfrom'react'classSonextendsReact.PureComponent{render(){return(<><h3>子组件</h3>{/*2、接收*/}......
  • ABP中使用HangFire和 Magicodes.IE(文件导出)中遇到的生命周期失效的解决
    实现功能:1,通过Magicodes.IE(不错的文件导入及导出组件,使用近5年了),导出10W+的数据;2,前端VUE调用导出大数据接口,报Http499超时,考虑后端用HangFire后台作业来执行具体任务,执行完成,把执行的结果返回给前端;实现动态导出功能的服务代码如下:publicclassOutputService:ITransientD......
  • 推荐一个傻瓜级别的ElasticSearch搜索引擎开发框架,低代码很强大(带私活源码)
    背景众所周知,Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。其功能的强大我们无所质疑,但是其API的的使用可谓难倒了众多小白。为了解决大家使用门槛高的问题,今天给大家推荐一个开源的傻瓜级别的ElasticSearch搜索引擎开发框架:Easy-Es(简称EE)介绍官......
  • 【第6章】Vue生命周期
    文章目录前言一、生命周期1.两大类2.生命周期二、选项式生命周期1.代码2.效果三、组合式生命周期1.代码2.效果2.1挂载和更新2.2卸载和挂载总结前言每个Vue组件实例在创建时都需要经历一系列的初始化步骤,比如设置好数据侦听,编译模板,挂载实例到DOM,以及......
  • 43、k8s-数据存储-高级存储-生命周期
    ·资源供应:管理员手动创建底层存储和PV·资源绑定:用户创建PVC,kubernetes负责根据PVC的声明去寻找PV,并绑定在用户定义好PVC之后,系统将根据PVC对存储资源的请求在已存在的PV中选择一个满足条件的。一旦找到,就将该PV与用户定义的PVC进行绑定,用户的应用就可以使用这个PVC了、如......
  • elasticsearch之ik分词器和自定义词库实现
    ElasticSearch分词器所谓的分词就是通过tokenizer(分词器)将一个字符串拆分为多个独立的tokens(词元-独立的单词),然后输出为tokens流的过程。例如"mynameisHanMeiMei"这样一个字符串就会被默认的分词器拆分为[my,name,isHanMeiMei].ElasticSearch中提供了很多默认的分词器,我......