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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 《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,所以请查看这份文档, 进行尝试,并提供您的反馈意见吧。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
存储 监控 安全
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践1
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践
200 0
|
存储 Java 数据库
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践2
大厂案例 - 腾讯万亿级 Elasticsearch 架构实践2
109 0
|
存储
《阿里云产品手册2022-2023 版》——混合云存储
《阿里云产品手册2022-2023 版》——混合云存储
124 0
《阿里云产品手册2022-2023 版》——混合云存储
|
存储 缓存 固态存储
《Elastic(中国)产品应用实战》——五、10分钟内查询一个PB级的云存储(上)
《Elastic(中国)产品应用实战》——五、10分钟内查询一个PB级的云存储(上)
|
存储 数据采集 人工智能
带你读《云存储应用白皮书》之9:3. 智能与存储的交相辉映
带你读《云存储应用白皮书》之9:3. 智能与存储的交相辉映
203 0
|
存储 弹性计算 监控
带你读《云存储应用白皮书》之42:附录二:阿里云存储大事记
带你读《云存储应用白皮书》之42:附录二:阿里云存储大事记
217 0
|
移动开发 运维 自然语言处理
开源自建/托管与商业化自研 Trace,如何选择?
随着微服务架构的兴起,服务端的调用依赖愈加复杂,为了快速定位异常组件与性能瓶颈,接入分布式链路追踪 Trace 已经成为 IT 运维领域的共识。但是,开源自建、开源托管或商业化自研 Trace 产品之间到底有哪些差异,我该如何选择?这是许多用户在调研 Trace 方案时都会遇到的疑问,也是最容易混淆的误区。
开源自建/托管与商业化自研 Trace,如何选择?
|
存储 容灾 安全
【ESSD技术解读-总篇】 云上企业级存储——打开存储新维度,促进用户核心业务创新
将企业级存储和云的特点进行完美的融合是云上企业级存储的目标,它打开存储更多新的维度,在保障用户业务永续的同时,帮助用户更好的进行业务创新。本文属ESSD技术解读的总篇,总体介绍ESSD 云盘创新融合了云和企业级存储的特性,以服务为中心,为用户提供了更便捷、更智能的存储服务体验。
2513 0
|
存储 运维 固态存储
EB级分布式海量云存储系统YIG
YIG是S3协议兼容的分布式对象存储系统。脱胎于开源软件ceph,在多年的商业化运维中,针对运维中出现的问题和功能上的新需求,重新实现了一遍radosgw用于解决Ceph存在的相关问题
2183 0
EB级分布式海量云存储系统YIG
|
Cloud Native 算法 中间件
云原生时代,2个方案轻松加速百万级镜像
随着集群规模的扩大,您是否曾经因镜像分发问题而困扰过?根据不同的场景,我们利用不同的镜像分发方法: 基于 P2P 的 CNCF/ Dragonfly (以下称为“蜻蜓”)分发是缓解镜像中心带宽和减少分发时间的最直接方式。

热门文章

最新文章