2.2 分布式计算现状分析

更新于 2026年10月10日 版权声明
2.2 分布式计算现状分析

近几年来,大数据受到学术界、产业界、政府和公司的高度关注[59-62]。空间数据是指与空间位置有关的事物描述,无论是在数据的容量、数据的类型、数据产生的速度和数据的价值方面,都是典型的大数据。随着对地观测技术的快速发展,空间数据的类型和容量更是快速增长,给空间数据存储、管理、处理、可视化和应用方面带来了重大挑战[63]。在这种情况下,把大数据领域内的典型方法和技术“移植”到传统的空间信息领域,可以提供一些新的理论方法和洞见。

1.分布式计算研究现状

随着计算机技术的成熟,为以互联网为应用场景的大数据研究提供了核心支撑。在技术实现层面,分布式计算模式依据数据的不同特征和计算需求,通过对方法的抽象或模型生成,提供了大数据计算所需工具。目前,典型的分布式计算模式主要有批处理计算模式、内存计算模式等。

(1)批处理计算模式

批处理计算是一种面向海量离线数据的批处理计算模式,主要用于大数据的线下处理,对计算的实效性要求不高,其典型代表是MapReduce[64-70]。Map Reduce是通过Map和Reduce两阶段处理数据,模型虽然简单,但在大数据处理上表现出超凡的能力。基于Map Reduce实现的Hadoop[71]几乎成为大数据的代名词。(https://www.daowen.com)

(2)内存计算模式

内存计算模式是利用分布式内存作为计算数据存储的中间介质,提高计算性能的分布式计算[72-75]。相比传统的计算,如Map Reduce在外部存储介质中存储中间数据,内存计算将计算的输入数据、中间结果等都直接存储在内存中,避免了较慢的磁盘I/O,从而提高了计算性能。Apache Spark是目前分布式内存计算的一个杰出代表,其以分布式弹性数据集为核心实现内存共享,最终实现高速的大数据处理和优异的计算性能。随着内存价格的下降,内存计算越来越成为大数据计算的主流,其计算模式可以基于上述批处理计算、流式计算、迭代计算和图计算,能够起到提高系统整体计算性能的作用[76]。

2.分布式空间计算研究现状

近年来,随着全球导航系统、航空勘测、激光雷达等的出现,地理空间数据量的急剧增多,且数据类型复杂多样,使得单台计算机已经无法完成这种超大规模的计算问题。考虑到分布式计算可以将成千上万的计算机连接起来组成虚拟计算机的功能,国内外研究者便产生了将空间数据与分布式计算结合的思想,引入了Map Reduce框架开源实现Hadoop框架,Hadoop逐渐成熟,但对于空间数据处理仍然存在不足,其核心框架不能很好地适应空间数据的特性。现有基于Hadoop处理空间数据的工作主要集中在特定的数据类型表达和数据操作等方面,如根据轨迹进行范围查询、基于点状数据进行KNN连接等,空间数据操作的效率也受到Hadoop内在因素的限制。

诸多学者考虑到这一问题,提出了其他应用框架。Simin You等人从Spark和Impala原型中设计和扩展了SpatialSpark和ISP-MC原型系统,采用了亚马逊EC2集群上的数据集,实现了大规模的连接查询[77]。Ablimit Aji引入了空间数据仓库系统Hadoop-GIS,集成到Hive中以支持声明式空间查询的综合架构,利用全局分区索引和按需本地定制空间索引来实现高效的查询处理,通过空间分区实现了大量的实时空间数据查询,减少了高性能计算的复杂度[78]。Ahmed Eldawy介绍了完整支持空间数据的Map Reduce框架Spatial Hadoop,它是Hadoop的全面扩展,在Hadoop层注入空间数据感知、存储、Map Reduce和操作层,Spatial Hadoop增加了Spatial FileSplitter和SpatialRecord Reader组件,并实现了基本空间数据操作,包括范围查询、KNN和空间连接等[79]。Jia Yu采用了GeoSpark内存集群框架,包括了Apache Spark层、空间RDD层和空间查询处理层,提供各种几何操作,包括重叠、相交等,还支持空间查询处理算法,包括Spatial Range、Join、KNN查询。除此之外,还允许用户创建空间索引(例如R树、四叉树),能够提升每个SRDD分区的数据处理性能,并表明GeoSpark存在更好的运行性能[80]。Rakesh K.Lenka从不同角度研究比较了Spatial Hadoop和GeoSpark框架,两者均可以处理地理空间数据,但GeoSpark处理速度较快,可以在灾害减缓和管理方面使用这两种框架[81]。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)