Skip to main content
QUICK REVIEW

[论文解读] LocationSpark: In-memory Distributed Spatial Query Processing and Optimization

Mingjie Tang, Yongyang Yu|arXiv (Cornell University)|Jul 8, 2019
Data Management and Algorithms参考文献 23被引用 9
一句话总结

LocationSpark 提出了一种面向空间查询倾斜和通信开销优化的内存内、分布式空间查询处理系统。它引入了一种基于成本的查询调度器与空间位图过滤器(sFilter),并结合自适应本地计划优化,使真实数据集(如 Twitter 和 OpenStreetMap)上的性能相比现有系统最高提升 10 倍。

ABSTRACT

Due to the ubiquity of spatial data applications and the large amounts of spatial data that these applications generate and process, there is a pressing need for scalable spatial query processing. In this paper, we present new techniques for spatial query processing and optimization in an in-memory and distributed setup to address scalability. More specifically, we introduce new techniques for handling query skew, which is common in practice, and optimize communication costs accordingly. We propose a distributed query scheduler that use a new cost model to optimize the cost of spatial query processing. The scheduler generates query execution plans that minimize the effect of query skew. The query scheduler employs new spatial indexing techniques based on bitmap filters to forward queries to the appropriate local nodes. Each local computation node is responsible for optimizing and selecting its best local query execution plan based on the indexes and the nature of the spatial queries in that node. All the proposed spatial query processing and optimization techniques are prototyped inside Spark, a distributed memory-based computation system. The experimental study is based on real datasets and demonstrates that distributed spatial query processing can be enhanced by up to an order of magnitude over existing in-memory and distributed spatial systems.

研究动机与目标

  • 解决由于数据倾斜和高 I/O 成本导致的分布式空间查询处理中的可扩展性和性能瓶颈问题。
  • 通过最小化冗余数据重分布,降低分布式空间连接中的通信开销。
  • 利用一种新型成本模型优化查询执行计划,该模型考虑了空间查询倾斜和数据分布特性。
  • 利用 Spark 作为底层执行引擎,实现对大规模空间工作负载的高效内存处理。
  • 通过自适应本地计划选择和空间索引,提升空间范围连接和 k-NN 连接的性能。

提出的方法

  • 设计一种分布式查询调度器,利用新型成本模型生成最小化倾斜影响的执行计划。
  • 提出 sFilter,一种基于空间分布高效将查询转发至相关本地节点的空间位图过滤技术。
  • 在每个节点上结合本地索引和查询特征,实现自适应的本地查询优化。
  • 将系统集成至 Spark,利用其内存计算和容错能力。
  • 使用基于位图的过滤技术,在数据传输前预先筛选出相关分区,从而降低 shuffle 成本。
  • 在 EC2 集群上使用真实数据集(Twitter、OSMP)评估性能,测试不同工作节点数量和连接类型下的表现。

实验结果

研究问题

  • RQ1如何有效缓解分布式空间处理中的空间查询倾斜问题?
  • RQ2何种成本模型能够在空间数据倾斜条件下实现最优查询执行计划的生成?
  • RQ3内存计算与优化过滤技术在多大程度上可降低空间连接中的通信开销?
  • RQ4在分布式环境中,随着工作节点数量的增加,该系统如何实现可扩展性?
  • RQ5与现有内存空间系统(如 GeoSpark 和 Simba)相比,可实现多大的性能提升?

主要发现

  • LocationSpark 在真实数据集上相比现有内存和分布式空间系统,性能最高提升 10 倍。
  • sFilter 技术相比基线方法将 shuffle 成本降低高达 180 倍,显著减少了通信开销。
  • 性能随执行器数量的增加而有效扩展,在 Twitter 数据集上从 4 个到 10 个执行器间表现出持续的性能提升。
  • 在空间范围连接操作中,该系统优于 GeoSpark 和 SpatialSpark,尤其在数据倾斜工作负载下表现更优。
  • 经 LocationSpark 的调度器与 sFilter 优化后的 Simba(opt),性能显著提升,证明了所提出优化技术的有效性。
  • 所提出的成本模型与查询调度器能有效减轻查询倾斜的影响,尤其在城市区域高峰时段等高负载场景下表现突出。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。