🔥 空间大数据组织管理方法索引帖
〖摘 要〗 个人用于整理时空大数据引擎原理、方法及其实现的汇总帖,大致分为综述、原理方法、工程实践三个板块。
一、 综述
二、原理方法
空间索引方法综述:
《基于空间填充曲线的降维方法》: 介绍如何利用 Z 序 Hillbert 曲线等空间填充曲线方法,实现多维空间的降维索引。
《空间填充曲线的聚簇性分析》: 从理论上分析了空间填充曲线的聚簇性,表明空间填充曲线无法做到任意位置的高聚簇性。
《扩展 Z 序曲线(XZ-Ordering)索引》: 德国慕尼黑大学教授提出的一种有缝有叠的剖分和填充曲线方式,可有效解决跨剖分面片的单编码空间覆盖问题。
三、工程实践
《全文数据库中多维数据检索效率的提升方法》: 基于可分布式部署的传统关系型数据库或全文数据库,其实现机制和单机数据库区别不大,并行机制来自于分布式数据库本身。本文主要介绍了全文数据库(关系型数据库类似)的实现机制,以及空间索引在其中的结合方法。典型代表如:Parallel Secondo、Paradise、 Sphinx 等。此外,专门面向科学数据的 SciDB、Rasdman 等矩阵数据库大多也自带分布式存储和索引功能,在 EarthCube 中应用较多,值得特别关注。
《基于分布式文件系统实现空间数据存储和检索》:基于 HDFS、GFS、Accumulo 等分布式文件系统实现的分布式数据库,主要面向静态数据或历史数据的海量存储需求,对高时效性动态数据支持能力不足。典型代表是: SpatialHadoop、HadoopGIS 等。基于分布式文件系统的空间数据引擎大多面向 OLAP,符合 “一次制备,高效使用” 的应用场景。
《基于分布式数据库实现空间数据存储和检索》:直接利用 HBase 等分布式数据库实现海量空间数据的存储和检索。典型代表是: GeoMesa。
《基于分布式内存文件系统或数据库实现空间数据存储和检索》: 基于 Spark、Storm、Ignite、Alluxio 等分布式内存文件系统或分布式存储引擎,主要面向高时效性时空数据的处理需求。典型代表:GeoSpark(已被 Apache 组织纳入 Spark 的第三方库,更名为 Apache Sedona)、SpatialIgnite 、Simba 、 GeoTrellis。