Elasticsearch:使用新的冻结层直接搜索 S3

我们非常高兴地宣布 7.12 中冻结层(frozen tier)的技术预览,使你能够将计算与存储完全脱钩,并直接在对象存储(例如 AWS S3,Microsoft Azure 存储和 Google Cloud Storage)中搜索数据。冻结层是我们数据层之旅中的下一个重要里程碑,它通过以较低的成本存储大量数据以进行长期存储,同时又保持其完全活动和可搜索的状态,从而极大地扩展了你的数据范围。

长期以来,我们一直支持用于数据生命周期管理的多个数据层 - “热”(hot)表示高速,“温”(warm)表示较低的成本和性能。两者都利用本地硬件来存储你的主数据和冗余副本。最近,我们引入了冷层,通过消除在本地存储冗余副本的需求,你可以在相同数量的硬件上通过温层存储多达两倍的数据。尽管主要数据仍然是本地数据,以实现最佳性能,但冷层中的索引由存储在对象存储中的可搜索快照支持,以实现冗余。

 

冻结层通过根本不需要在本地存储任何数据,进一步迈出了一大步。 相反,它使用可搜索的快照直接搜索存储在对象存储中的数据,而无需首先对其进行重新装载数据并恢复数据到搜索状态。 本地缓存存储最近查询的数据,以便在重复搜索时获得最佳性能。 结果,存储成本显着下降 - 在热层或温层中高达90%,在冷层中高达80%。 数据的全自动生命周期现已完成:从热到热再到冷再到冻结,同时确保以最低的存储成本获得所需的访问和搜索性能。 

 

你永远不会超出优质数据

无论是出于可观察性,安全性还是企业搜索目的,你的 IT 数据都可以保持指数级增长。 对于公司而言,每天摄取和搜索数 TB 的数据是很平常的事。 这些数据不仅对于日常成功至关重要,而且对于历史参考也至关重要。 无限制地回顾安全性调查,钻探多年的 APM 数据以进行趋势识别,或偶尔发现法规合规性都是所有关键案例,可以使你的数据长期保存和访问。 但是,如果你没有合适的工具或技术来存储日期,同时又要确保易于搜索,那么满足这些用例可能会很快变得非常昂贵。

Elasticsearch frozen tier

 

这就是冻结层的所在。 它打开了所有这些用例的大门,现在使存储多年的数据具有成本效益,其成本与仅在 S3 或其他对象存储中归档数据的成本相当。 关键区别在于,在冻结层中,数据仍然可以在 Elasticsearch 中完全搜索,并且所有从冻结层中提取数据的 Kibana 仪表板都可以正常工作。 不再需要手动查找数据并将其从存档中拉出,还原并重新进行搜索的日子已经一去不复返了。 对于在保留和删除哪些数据之间进行权衡取舍也是如此。 现在,通过冻结层,这一切变得轻松无缝。

 

这个是怎么工作的

冻结层利用可搜索的快照将计算与存储分离。当根据索引生命周期管理(ILM)策略将数据从温层或冷层迁移到冻结层时,你在本地节点上的索引将迁移到 S3 或你选择的对象存储中。冷层将索引迁移到对象存储,但是它仍在本地节点上保留数据的单个完整副本,以确保快速且一致的搜索。另一方面,冻结层完全消除了本地副本,并直接在对象存储中搜索数据。它为最近查询的数据构建了本地缓存,以便进行更快的重复搜索,但是缓存的大小只需要是冻结层中存储的数据总大小的一小部分。

典型的本地缓存大小为10%,这意味着你只需要几个本地层节点即可处理数百 TB 的冻结层数据。这是一个简单的比较:如果你的典型的具有 64 GB RAM 的温层节点管理 10 TB,则冷层节点将能够在 20 TB 时处理大约两倍,而冻结层节点将跳升至 100 TB。这相当于 1:1500 的 RAM 与存储的比率,这只是一个保守的估计。

 

价格与性能

那有什么权衡呢?好吧,这并不奇怪。因此,我们提供了这些不同的数据层,因此你可以灵活地为组织定义适当的 ILM 策略,以确定在热,温,冷和冻结层中应保留多长时间和多少数据。冻结层中存储的数据是偶尔进行搜索的,不需要其他层具有更快的性能。

我们还对缓慢的搜索进行优化,以优化最佳用户体验,从而取得了长足的进步。我们已经在 Elasticsearch 中开发了异步搜索,通过允许你在后台呈现仪表板并在以后检索它们,从而使我们能够在 Kibana 中提供自然的体验。我们还引入了一系列查询效率改进,以加快运行缓慢的查询,包括跳过与预过滤条件不匹配的索引,在可能的情况下尽早退出搜索,使用 block-max WAND 进行文本搜索等。

由于默认情况下所有数据都是在 Elasticsearch 中建立索引,因此在冻结层中搜索数据特别有效,因为我们可以利用简洁的索引结构非常快速地返回大型数据集的结果,而无需扫描数据本身。最重要的是,我们对可搜索快照所做的最整洁的事情之一就是利用我们在 Lucene 中的深厚专业知识,只提取确实需要回答查询的那些索引子集。

所有这些优化措施共同确保了搜索冻结层时的最佳体验和最快体验。加上新近重新设计的 ILM UI,以使设置和配置 ILM 策略变得更加容易,你现在拥有了所需的全部工具,可以快速有效地使用整套 Elastic 数据层。

index lifecycle management

 

公共或私人存储,你的选择

我们在 Elastic 上的方法始终是为你提供最大的灵活性,同时将中断的发生率降到最低。除了对 AWS S3,Azure 云存储,Google Cloud Storage 和 MinIO 的官方支持之外,我们现在还发布存储库测试工具包,用于测试和验证任何与 S3 兼容的对象存储,以与可搜索快照,冷层,和冻结层。

该测试工具包可作为易于掌握的 API 提供,使你可以针对自己的 S3 兼容对象存储库运行一系列快速测试。如果成功,则可以使用它来存储和搜索快照,并将其用作冷层和冰冻层的对象存储。因为这是一个验证测试工具包,所以需要注意的是,这并不意味着我们正式支持任何通过验证的兼容 S3 的存储。如果发现问题,则需要在受支持的 S3 设备上再现该问题,以便我们解决该问题。

 

时间线

冻结层将作为 Elastic 7.12 中的技术预览版引入。 热层,温层和冷层已经普遍可用,支持冷层和冻结层的基础可搜索快照功能也已普遍可用。 从7.12开始,冻结层也可在 Elastic Cloud 中使用,即将推出更简单的开箱即用滑块。

 

立即开始

要开始使用冻结层,请在 Elastic Cloud 上启动集群或安装最新版本的 Elastic Stack。 已经有 Elasticsearch 在运行吗? 只需将你的群集升级到7.12并尝试一下。 如果要在 Elastic Cloud 上试用,请参阅 Elastic Cloud 文档中的详细信息。 一旦冻结的滑块可用,这些步骤将消失。 如果你想了解更多有关冻结层的信息,可以阅读可搜索快照博客,可搜索快照产品文档数据层产品文档

 

参考:

【1】https://www.elastic.co/blog/introducing-elasticsearch-frozen-tier-searchbox-on-s3

相关推荐