论文部分内容阅读
随着数据量的急剧增长,满足许多领域数据处理实时性和准确性的要求也变得越来越难,而数据查询是数据处理的基础,如何提高查询效率显得至关重要。以气象数据为主要研究对象,随着气象服务的发展,用户的查询需求增加,而气象数据具有大规模、多维度的特点,采用分布式的云存储方式,大多数云存储系统是基于键值对(Key-Value)来存储数据的,这种方式主要支持主键Key的高效查询,而无法支持非Key的高效查询,多维的复杂查询仍然需要对整个数据集进行扫描,查询效率低下。因此,在Key-Value的存储模式下,利用多维数据索引提高查询效率成为当前学术界和工业界的重点研究内容之一。本文针对气象领域典型的数据特征,为解决Key-Value存储模式下的多维数据查询问题,提出了一种高效的MOTree多维索引结构。MOTree的索引结构与传统索引不同,它是有序的平衡树,支持稳定的动态更新和多种查询操作(包括布尔查询、点查询、范围查询),它利用前缀规则来进行索引的构建和查询,提高了索引的空间利用率,减少了索引的多维查询时间。同时,本文设计并实现了MOTree的构建、查询和更新算法,构建算法是基础,主要包括直接插入路径、合并已有路径、去除冗余路径三个步骤。本文还定义了多维气象数据查询语言,主要用于用户查询请求的预处理和分段解析,基于MOTree设计并实现了多维气象数据查询引擎,该引擎可以支持多个气象数据维度的在线索引构建和多种气象数据的高效查询。本文用多维气象数据集和随机数据集分别将MOTree与已有索引结构在数据维度、节点数量、查询时间等多个方面进行了对比实验,理论分析与实验结果表明,MOTree支持高效的点查询和范围查询,且索引构建和更新时间开销更小。该索引结构能够为多维气象数据提供高效的查询,满足更多用户的查询需求,对推动气象领域的发展具有重要意义。