分布式数据检索的效率与可靠性优化

本文介绍了一种新型的分布式数据检索方法,通过均匀分布数据和细粒度聚类技术实现负载均衡,采用动态查询处理机制适应资源变化,在保证服务质量的同时显著提升检索效率。

更高效可靠的分布式数据检索方法

大型在线数据存储库(如某中心商店)分布在庞大的服务器群中,从这些存储库中检索数据必须高效,以提供良好的用户体验。通常会有服务级别协议(SLA)的规定,要求一定比例的查询(例如95%)必须在规定的时间上限内(例如150毫秒)得到响应。

数据分布与负载均衡

提高效率的一种方法是将相关内容仅聚集在少数服务器上,限制信息检索算法必须考虑的数据量。但如果大量用户尝试访问相同数据,可能导致系统利用率负载不平衡,从而违反SLA。

在某期刊上发表的一篇论文中,我们提出了一种新的查询处理方法,通过更均匀地分布数据来避免这种不平衡,同时仍然限制需要考虑的数据量。

动态查询处理机制

我们的方法是一种"随时查询"方法,能够动态调整以适应变化的用户需求,在带宽和处理周期稀缺时至少提供部分结果,并根据可用资源提高结果质量。这确保了在满足SLA的同时最小化资源使用。

在使用标准ClueWeb09B文档集合和TREC百万查询跟踪查询的实验中,我们的方法在查询结果质量方面优于一系列基线方法,证明它能够在大型文档集合上满足严格的延迟SLA。

选择性搜索与细粒度聚类

为了节省资源,选择性搜索方法将查询定向到包含主题相关文档的索引部分。大多数选择性搜索方法将所有主题相关文档分布到单个服务器节点;相比之下,我们的方法将每个主题的一部分分布到每个节点。这种文档的均匀分布具有负载平衡的好处,同时简化了整体分布式系统。

在每个节点内,我们对每个主题分片中的文档执行更细粒度的聚类。聚类类别是自动确定的,但在"耳机"主题中,我们的算法可能会聚类与降噪耳机、无线耳机等相关的文档。

在每个主题内,我们根据这种更细粒度的聚类重新排序文档,从而实现更有针对性且更高效的检索。

查询处理优化

节点内的细粒度聚类使我们能够为不同的主题集群建立不同的相关性阈值,实现随时查询处理。根据查询,我们的算法确定每个主题内集群的访问顺序。如果集群中没有数据超过给定查询的阈值,则完全绕过该集群。

在实验中,我们将我们的聚类方法与两种标准信息检索算法(VBMW和MaxScore)结合使用,与现有的随时查询方法(JASS)进行了比较。我们还将其与Oracle模型进行了比较,该模型以完全正确的顺序探索完全正确的主题集群,建立了性能上限。

为了评估这些方法,我们使用了排名偏置重叠(RBO),它表示算法以正确顺序返回的前k个结果(k=10和1,000)的百分比;得分1.0表示最优排序。如下图所示,我们的聚类方法使算法比现有方法更有效地收敛于最优排序。

总体而言,我们的实验表明,我们提出的索引和查询处理方案允许遵守大规模信息检索系统中标准的严格延迟SLA,同时在延迟和查询结果质量之间提供细粒度的权衡。

这些图表比较了两种标准信息检索算法(VBMW和MaxScore)与研究人员检索方法结合使用时,与Oracle方法和现有随时查询方法(JASS)的性能

这些图表显示了不同方法在返回前k个结果时的排名偏置重叠(RBO)评分比较

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计