《Elastic(中国)产品应用实战》——五、10分钟内查询一个PB级的云存储(下)

简介: 《Elastic(中国)产品应用实战》——五、10分钟内查询一个PB级的云存储(下)

更多精彩内容,欢迎观看:

《Elastic(中国)产品应用实战》——五、10分钟内查询一个PB级的云存储(上):https://developer.aliyun.com/article/1220936?spm=a2c6h.13148508.setting.18.653f4f0eDDVBOB


6. 简单词条查询


让我们从简单的词条查询开始。这里主要的观察结果是,冻结层在几秒钟内返回4TB 数据集上的结果(5个匹配文档)只下载数据集的很小一部分来寻找匹配的元素。 这突显了 Lucene中的索引结构功能强大,可实现快速查找。


重复运行查询后,所有层展示出相似的性能,因为现在可以在冻结层中提供来自于 本地磁盘上LFU缓存的数据。Elasticsearch的内存中结果缓存在这里不起作用,因 为这种类型的查询不会被缓存。在页面缓存中提供数据会影响在热/温层和冷层中重 复运行的性能。

image.png

当使用默认索引存储类型hybridfs而不是niofs时,热/温层的性能在首次运行时会 略低(285毫秒而不是92毫秒详细信息将在下一节中介绍。


7. Kibana 仪表板


我们对Kibana仪表板重复同样的流程。这里主要观察结果是冻结层在5分钟内 基于相同的4TB数据集返回仪表板,而在具有本地数据访问途径的其他层中计算仪 表板需要20秒。尽管仪表板使用时间范围筛选聚合了超过75%的数据集,但由于 索引结构,它仍然只需要下载存储库中的一小部分数据(在本例中约为3%,下文将详细介绍)。

image.png

Elasticsearch的结果缓存被禁用时,重复搜索的性能主要依赖于页面缓存,当查 询所需的数据部分完全纳入磁盘上的LFU缓存时,重复搜索的性能就与冻结层的性 能相当。值得注意的是,对于这个特定的工作负载,热/温层中的内存映射会导致页 面缓存"抖动,当使用默认存储类型时,这会对热/温层的性能产生不良影响(与 使用niofs时的6.2秒相比,最多可慢三倍)。


对于冻结层,我们考虑了两种不同大小的LFU缓存的,以显示对重复搜索性能的影 响。磁盘上的LFU缓存大小首先被定为200GB这只是4TB的一小部分(数据集大 小的5%),但仍然足以容纳为计算给定的仪表板而下载的所有数据(大约3%,或 120GB)在第二次运行基准测试时,它的大小仅定为20GB 原始数据集大小的 0.5%),这不足以容纳给定仪表板需要的所有数据。


当启用Elasticsearch的内存中缓存时,重复搜索会更快,因为部分查询结果现在可 以直接在Elasticsearch节点上获得,而不需要重新计算。然而目前冻结层并不使 用这些内存中的Elasticsearch缓存。


对于仅计算的仪表板略有不同并通过不同的国家/地区代码进行筛选的情况,我们也 进行了基准测试。在这种情况下,由于已经下载了与满足这个略有不同的查询相关 的数据的许多部分,冻结层可以从中受益,并且返回结果的速度几乎与其他层一样快。


为了在首次运行仪表板时显示在冻结层中下载了些什么,我们对请求的六个最大的 Lucene文件类型以及下载了多少量进行了可视化。虽然fdt 字段数据)文件消耗 了大部分空间(用于存储文档),但并未通过访问这些文件来计算聚合。正如预期的 那样,大多数访问都是在Lucenedvd 每个文档的值文件上完成的,它们是 用于计算聚合的文档值。

image.png

8. 快速访问大量对象存储


虽然在冻结层上的查询肯定会更慢,但它的主要优势体现在不经常访问上,使数据 无需解冻即可用于搜索。相比之下,即使禁用了恢复限制,在本地提供完整的数据 集也需要一个多小时,这比我们直接在冻结层上运行查询所花的时间要长得多。

image.png

 

9. 扩展到 PB 级


到目前为止,基准测试集中在层与层之间的性能比较上,不能展示冻结层的全部可 能性。该层比其他层具有更高的计算存储比。


我们采用了接近极致的做法,对相同的数据集进行了超过250次的挂载,每次都使 用不同的名称以便将其作为单独的索引处理。然后我们的单节点集群有12500 80GB的分片,这相当于挂载了 1PB的数据。在完整的1PB (相当于100GB 数据集上运行简单的词条查询只花了不到10分钟的时间,表明这一实施过程可以 很好地扩展到更大的数据集。

image.png 在实践中,这可能不是一个理想的设置,因为单个节点上分片过多,本地磁盘缓存 与对象存储大小的比率极低。在这种规模下,数据集的存储成本远超冻结层节点的 计算成本,因此添加更多节点将显著提高性能,而对成本的影响可以忽略不计。


10. 调整磁盘上 LFU 缓存的大小


如前所述,为了在重复搜索中获得优良的性能,调整磁盘上的LFU缓存大小很重要。 在这里,正确的值在很大程度上取决于所运行的查询类型,特别是产生查询结果所 需访问的数据量。因此,挂载更大量的数据并不一定总是需要更大的磁盘缓存。 例如,在基于时间的索引背景中应用时间范围筛选可以减少需要查询的分片数量。 由于在数据访问模式中经常存在某种底层空间或时间局部性,冻结层将允许对非常 大的数据集进行有效查询。根据我们目前的观察结果,我们建议调整磁盘上LFU缓 存的大小,使其介于挂载的数据集大小的1%10%之间。5%的比率也许是一个很 好的实验起点。


请注意,冻结层可以很好地支持垂直和水平扩展,因为计算具有非常相似的性质。 使用性能更好的机器类型或向集群添加更多节点就是提高冻结层查询性能的一种简单方法。


11. 结论


我们已经展示了冻结层可以以优异的性能响应两种不同类型的查询。使用 Elasticsearch的默认索引策略冻结层的搜索性能要比扫描整个数据集快几个数量 级。在冻结层中的重复搜索将进一步受益于磁盘上的缓存,并提供与其他层相似的性能。


当以经济有效的存储搭配灵活的计算存储比为主要目标时,冻结层就会提供巨大的 价值。冻结层中的数据只是作为任何常规索引而访问,因此可以轻而易举地切换现 有设置,以利用这个令人兴奋的新功能。进行设置也并非难事,因为它再次利用了 已经用于备份目的的快照存储库,并与索引生命周期管理完全集成,以便将数据从 热层/温层/)令层转换到冻结层。Kibana的异步搜索集成在此基础上提供了扩展功 能,允许在后台计算运行缓慢的仪表板,并在可用时进行可视化。


注:冻结层既可用于自托管部署,也可用于Elastic Cloud,所以请查看这份文档, 进行尝试,并提供您的反馈意见吧。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
6月前
|
人工智能 安全 JavaScript
从OpenClaw到NullClaw,极致轻量Claw新成员来了
从OpenClaw到NullClaw,极致轻量Claw新成员来了 从OpenClaw到NullClaw,极致轻量Claw新成员来了 从OpenClaw到NullClaw,极致轻量Claw新成员来了
2523 5
|
7月前
|
人工智能 安全 应用服务中间件
阿里云 Moltbot(原 Clawdbot)全套云服务介绍、部署步骤与使用指南
Moltbot(原Clawdbot)是由PSPDFKit Labs开发的开源自托管AI智能体(AI Agent),核心定位为“可自主执行任务的AI助手”,区别于传统问答式AI工具,其具备屏幕感知、任务规划、操作执行与状态验证的全链路能力,可7×24小时运行在服务器或终端设备上,通过自然语言指令自动完成文件管理、日程安排、邮件处理、代码编写、跨应用协同等自动化任务,数据优先存储于用户自有节点,隐私可控。2026年,阿里云正式上线Moltbot全套云服务,整合轻量应用服务器、无影云电脑、百炼大模型平台等核心资源,提供预置镜像、一键部署、安全优化等全流程支持,大幅降低部署门槛,适配个人、小型团队及企
4791 9
|
存储 安全 数据挖掘
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB
1174 2
天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践
【正则表达式】正则表达式同时支持验证手机号码和座机号码
【正则表达式】正则表达式同时支持验证手机号码和座机号码
|
消息中间件 Kafka 流计算
FlinkKafkaConsumer相同group.id多个任务消费kafka问题
当使用FlinkKafkaConsumer消费Kafka时,即使设置了相同的group.id,由于Flink内部管理partition的消费offset,两个程序仍能同时消费所有数据。这与KafkaConsumer不同,后者严格遵循消费组隔离原则,避免重复消费同一分区的数据。Flink为实现exactly-once语义,需要独立管理offset,这导致了上述现象。
|
数据可视化 数据管理 项目管理
职场打工人怎么记录日常工作?5款热门工具的优缺点分析
本文介绍了五款高效的工作记录工具,包括板栗看板、Miro、Airtable、Notion 和 Wrike,分别针对任务管理、创意协作、数据库管理、多功能笔记及跨团队协作等不同需求,通过对比它们的使用场景、优缺点及其适用性,帮助读者选择最适合自身需求的工具。
5022 0
职场打工人怎么记录日常工作?5款热门工具的优缺点分析
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
2616 3
|
JavaScript Java 测试技术
基于微信小程序投票评选系统+springboot+vue.js附带文章和源代码设计说明文档ppt
基于微信小程序投票评选系统+springboot+vue.js附带文章和源代码设计说明文档ppt
471 0
|
存储 消息中间件 API

热门文章

最新文章