论文部分内容阅读
时空数据是一种同时具备时间、空间以及其他属性的大数据,在生产生活中发挥着积极作用。研究海量时空数据的高效存储与查询具有重要的意义和价值。
分布式存储系统相较于传统关系型数据库能更好地处理大数据的存取。作为典型技术之一,HBase以其开源、高可靠和高扩展等特性受到了广泛的研究与应用。事实上,原生HBase仅在行键上做了索引优化,缺少对时空索引和二级索引的支持,无法直接满足时空数据高效的时空查询和条件查询需求。
本文结合现有HBase索引与查询技术的特点,提出一种面向时空数据的HBase索引与查询优化方案,由下到上分为存储模型、索引模型和查询方法。其中,存储模型实现时空数据的合理存储;索引模型实现时空索引和二级索引的设计管理;查询方法则实现快速的时空查询和条件查询。主要研究内容如下:
①面向时空数据的HBase存储模型。为了实现时空数据的合理存储,通过Geohash编码对空间信息进行网格划分,并提出基于历史统计的网格分区方法解决数据热点问题。
②分层时空索引模型(Hierarchical Spatiotemporal Index,HSTIndex)。为了提升时空查询的性能,设计了基于Meta表的全局索引层和基于Region的局部索引层,利用时空信息对数据进行分层筛选。
③分类二级索引模型(Classification Secondary Index,CSIndex)。为了提升条件查询的性能,根据其他属性列的数据特征和查询条件设计了包括位图、哈希和BD树在内的内存索引结构。此外,提出了基于Observer的索引管理机制,用于实现对HSTIndex和CSIndex的有效管理。
④面向时空数据的HBase查询方法。结合存储模型和索引模型,提出了基于Endpoint的并行查询机制,并设计了基于HSTIndex的时空范围查询和K近邻查询优化算法,以及基于CSIndex的条件查询优化算法。
最终,在真实的出租车轨迹数据上进行了对比实验。实验结果表明,分区方法的性能优于传统方法,基于HSTIndex的时空查询性能也要优于STEHIX(Spatio-Temporal HBase Index)时空索引方案,基于CSIndex的条件查询性能则明显优于HiBase(Hierarchical-indexed HBase)和基于Solr的二级索引方案,且时间和空间开销在可接受范围内。总的来说,本文方案提升了时空数据整体的存取性能,具有一定的应用价值。
分布式存储系统相较于传统关系型数据库能更好地处理大数据的存取。作为典型技术之一,HBase以其开源、高可靠和高扩展等特性受到了广泛的研究与应用。事实上,原生HBase仅在行键上做了索引优化,缺少对时空索引和二级索引的支持,无法直接满足时空数据高效的时空查询和条件查询需求。
本文结合现有HBase索引与查询技术的特点,提出一种面向时空数据的HBase索引与查询优化方案,由下到上分为存储模型、索引模型和查询方法。其中,存储模型实现时空数据的合理存储;索引模型实现时空索引和二级索引的设计管理;查询方法则实现快速的时空查询和条件查询。主要研究内容如下:
①面向时空数据的HBase存储模型。为了实现时空数据的合理存储,通过Geohash编码对空间信息进行网格划分,并提出基于历史统计的网格分区方法解决数据热点问题。
②分层时空索引模型(Hierarchical Spatiotemporal Index,HSTIndex)。为了提升时空查询的性能,设计了基于Meta表的全局索引层和基于Region的局部索引层,利用时空信息对数据进行分层筛选。
③分类二级索引模型(Classification Secondary Index,CSIndex)。为了提升条件查询的性能,根据其他属性列的数据特征和查询条件设计了包括位图、哈希和BD树在内的内存索引结构。此外,提出了基于Observer的索引管理机制,用于实现对HSTIndex和CSIndex的有效管理。
④面向时空数据的HBase查询方法。结合存储模型和索引模型,提出了基于Endpoint的并行查询机制,并设计了基于HSTIndex的时空范围查询和K近邻查询优化算法,以及基于CSIndex的条件查询优化算法。
最终,在真实的出租车轨迹数据上进行了对比实验。实验结果表明,分区方法的性能优于传统方法,基于HSTIndex的时空查询性能也要优于STEHIX(Spatio-Temporal HBase Index)时空索引方案,基于CSIndex的条件查询性能则明显优于HiBase(Hierarchical-indexed HBase)和基于Solr的二级索引方案,且时间和空间开销在可接受范围内。总的来说,本文方案提升了时空数据整体的存取性能,具有一定的应用价值。