专栏首页腾讯云Elasticsearch ServiceElasticsearch Data tiers数据分层介绍与展望
原创

Elasticsearch Data tiers数据分层介绍与展望

前言

最近Elasticsearch 7.10版本发布,该版本除了有Searchable Snapshots可搜索快照这个重磅特性之外,还有Data tiers数据层功能。数据层实际上就是先定义好数据节点的角色,比如热节点、温节点等,然后可以在ILM索引生命周期管理中实现索引由热节点迁移到温节点,再迁移到冷节点,达到数据冷热分离的目的。

在Data tiers功能之前,我们通常是通过在elasticsearch.yml中定义节点的属性(node.attrs)来实现集群的冷热分离架构,而Data tiers,需要在elasticsearch.yml中通过新增的node.roles定义节点的角色,同样角色的节点理应有用相同的物理属性,比如热节点为SSD云盘,温节点为SATA盘,定义节点角色的配置如下所示:

node.roles: ["data_hot", "data_content"]

相比较通过node.attr来定义节点的类型,通过node.roles定义节点类型则更清晰,我们可以清楚的知道每个节点在集群中所处于的位置,并且方便管理。

数据层次介绍

Content tier

Content内容层面向的是数据本身一成不变或者极少发生变化的场景,比如搜索场景,或者是本身因为数据量不大而不需要切分索引的场景,在这种场景中,数据写入或者查询都由Content层的节点承担。新建的索引默认就分配在Content层(面向时序数据的Data stream的索引除外)。

Hot tier

在面向时序数据的日志或者监控场景,往往只需要保证最近比较新的数据的写入能够及时落地,以及满足对比较新的数据近实时的查询,这些数据可以放在Hot层,使用SSD盘、较高的节点规格保证写入和查询的性能。

使用Data stream新创建的索引,默认放在Hot层。

Warm tier

在面向时序数据的日志或者监控场景,对于写入或者查询频率较低的索引,在允许写入或者查询性能相对差一些的情况下,可以把索引从Hot层移动到Warm层,使用成本相对低廉的SATA存储数据,从而节省成本。

Cold tier

当索引已经足够老时,可以把索引移动到Cold层,这些索引可能极少会写入或者查询,因此可以在该层中对索引进行forcemerge节省一些磁盘空间,或者进行shrink降低索引的分片数量。另外,可以在该层中先把数据备份到廉价的存储介质比如S3中,然后把索引副本调低为0,从而减少一半的存储空间。

数据层次展望

社区里为什么要重新开发Data tiers功能,而不是继续沿用之前给节点设置node.attr属性的方式实现节点的冷热分离呢,从社区里Data tiers的issue可以窥探出一些设计初衷:

  • 通过把数据分层规范化,可以避免出现多种不同的通过定义节点属性实现冷热分离的最佳实践,从而使得实践方式统一
  • 对于使用ES存储时序数据的用户来说非常友好
  • 用户可以非常方便地使用冷热分离架构,无需过多的配置,数据可以自动地在节点间迁移
  • 因为数据分层的方式统一了,后续可以在ILM中使用Data tiers开发更多的功能,比如索引迁移到Frozen层后就可以自动地把索引冻结等
  • 副本数量的自动扩缩容可以由数据层次驱动了,在不同的层次,可以根据需要自动的调节副本的数量

既然把集群数据分层或者说冷热分离的架构都规范化了,我们自然可以有更多的设想,利用数据分层做更多的事情:

  • 数据智能分层:可以根据索引的读写频率,智能的进行数据分层存储,比如在索引读写频率都比较低时把索引从Hot层移动到Warm层,从而降低成本;如果某段时间该索引的读写频率又突然增加了,则再自动地把索引从Warm层移动到Hot层,从而提高读写性能。
  • 利用好数据分层提高集群的稳定性:可以结合Searchable snapshots功能, 对于Warm、Cold以及尚未开发的Frozen层的索引,自动地把数据转储到S3等廉价存储介质中,集群中无需保留过多的Warm、Cold、Frozen层的节点,从而从整体上减少集群的节点数量,提高集群的稳定性。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大幅降低存储成本,Elasticsearch可搜索快照是如何办到的?

    导语 | Elasticsearch 7.10 版本最近发布,该版本有一个重磅特性:Searchable snapshots (可搜索快照功能),可以大幅度地降...

    腾讯云大数据
  • 大幅降低存储成本,Elasticsearch可搜索快照是如何办到的?

    在 Searchable snapshots 可搜索快照功能发布之前,通过调用 _snapshot API 对索引打的快照,不管是存储在 S3 还是 HDFS ...

    腾小云
  • Volcano社区正式发布v1.2.0版本

    北京时间2021年2月27日,Volcano社区正式发布v1.2.0版本。此次发布的1.2版本关键特性为支持TDM和SLA插件。

    CNCF
  • Spring Boot 集成 ElasticSearch,实现高性能搜索

    Elasticsearch 是java开发的,基于 Lucene 的搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful Web接口。Ela...

    用户7676729
  • 干货 | Elasticsearch 可搜索快照深入详解

    Elasticsearch 可搜索快照是 7.10 版本才有的新功能,之前呼声非常高。

    铭毅天下
  • 全新演绎!美团内部疯传Spring Boot速成手册也太香了

    提及SpringBoot,想必大家脑海中第一时间浮现的应该是它“约定大于配置”的特性。作为Spring亲儿子的它整合了很多可插拔的组件(框架),内嵌了使用工具(...

    烂猪皮
  • springboot整合elasticsearch全文检索入门

    下载elasticsearch与kibana https://www.elastic.co/start

    喜欢天文的pony站长
  • 设计模式 | 中介者模式及典型应用

    世界上存在着各种各样的数据库,不同数据库有各自的应用场景,对于同一份数据,最开始可能使用关系型数据库(如MySQL)进行存储查询,使用Redis作为缓存数据库,...

    小旋锋
  • 《从0到1学习Flink》—— Apache Flink 介绍

    Flink 是一种流式计算框架,为什么我会接触到 Flink 呢?因为我目前在负责的是监控平台的告警部分,负责采集到的监控数据会直接往 kafka 里塞,然后告...

    zhisheng
  • ElasticSearch的安装以及与springboot的集成

    elasticseach简称es,现在用得非常广泛,像百度等一些知名互联网公司都有用到es。那么es到底是什么呢?如何使用呢?下面就一起来学习一下。

    贪挽懒月
  • 初级Java程序员需要掌握哪些主流技术才能拿20K?

    傻呀,干嘛不使用全文检索工具lucene或者分布式搜索Elasticsearch来优化搜索服务。

    程序猿DD
  • springboot实战之nosql整合(elasticsearch7.3版本)

    在正文之前,我先感慨下,elasticsearch版本更新实在是太快了。2019年4月时候,我看到的版本还是7.0版本,现在9月,已经出到了7.3版本了,而且7...

    lyb-geek
  • 58同城 Elasticsearch 应用及平台建设实践

    导读:Elasticsearch是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch基于Lucen...

    week
  • 从 Elasticsearch 来看分布式系统架构设计

    分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分...

    大数据技术架构
  • 云+社区技术沙龙第26期回顾-大数据技术实践与应用(文末附PPT)

    2019年8月24日,由云+社区主办的第26期云+社区技术沙龙——大数据技术实践与应用,在北京快手总部举行,本期沙龙云+社区联合快手邀请技术大咖为大家深度解读大...

    云加社区技术沙龙
  • JavaWeb项目架构之Elasticsearch日志处理系统

    Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的。 ...

    小柒2012
  • JavaWeb项目架构之Elasticsearch日志处理系统

    Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的。

    小柒2012
  • 美国网络安全 | 美国联邦使用网络安全框架(CSF)的方法

    本文标题和正文中的“网络安全框架(CSF)”特指NIST发布的“改善关键基础设施网络安全框架”(最新版是v1.1版)。CSF由NIST与私营和公共部门密切合作开...

    网络安全观
  • JavaWeb项目架构之Elasticsearch日志处理系统

    Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的。

    小柒2012

扫码关注云+社区

领取腾讯云代金券